作者drey (drey)
看板C_and_CPP
标题[语法]档案的读取 我这样哪里写错了呢 谢谢
时间Mon Apr 27 21:46:32 2009
不好意思打扰了
我想读取一个笔记本写的档案
笔记本内容我是打 小明 80 90 这样
但不知道为什麽
程式直接就跳出去了
编译器编译没有error
我也不知道错在哪
麻烦大家帮我看一下
谢谢
#include<stdio.h>
#include<stdlib.h>
struct record
{
char name[10];
int midterm;
int final;
};
typedef struct record student;
main()
{
FILE *fp;
student std;
char filename[30]="student_score.txt";
fp = fopen("student_score.txt", "r+");
if(fp !=NULL)
{
while(!feof(fp))
{
if(fread(&std,sizeof(std),1,fp))
{
printf("%s\n",std.name);
printf("%d\n",std.midterm);
printf("%d\n",std.final);
}
}
fclose(fp);
}
system("pause");
return 0;
}
再请问大家一个问题
有些时候,我要是没打system("pause");
程式很快就跳出,没看到执行的结果
请问这是什麽问题呢?
谢谢
感激不尽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.9.179
1F:推 VictorTom:1. fread是从file以binary型式读进来, 可是你的data是 04/27 23:34
2F:→ VictorTom:ASCII文字, 这边也许要用fscanf试试; 另外我不确定中文 04/27 23:35
3F:→ VictorTom:字会被怎麽处理, 除非有wchar.... 04/27 23:35
4F:→ VictorTom:2. 因为你写的是console程式, 你开DOS模式跑所有结果就 04/27 23:36
5F:→ VictorTom:会留在DOS画面上, 但如果你在Windows下跑, DOS程式只会 04/27 23:36
6F:→ VictorTom:在程式还在执行时维持DOS视窗, 一执行完视窗就自己被关 04/27 23:36
7F:→ VictorTom:了; 加 system("PAUSE"); 就是让DOS视窗秀出一段讯息 04/27 23:37
8F:→ VictorTom:"Press Any Key to Continue"之类的, 其实"PAUSE"是一个 04/27 23:37
9F:→ VictorTom:DOS指令, system()只是帮你简单的调用DOS/console指令. 04/27 23:38
10F:推 VictorTom:喵的~~以後要是predict会推五行以上应该直接用回文的Orz 04/27 23:41