对于学号来说int 或是char的影响不是很大,没关系
至于读取数据方面我同意二楼的解释
程序注意的一点,二进制和文本形式的读取区别你需要巩固,读的文件就不要以读写形式打开,养成一个好的习惯.
#include
typedef struct student
{
int unsigned id;
float rank;
}Student;
int main ()
Student s;
FILE * fp;
if (!fp)
printf("file cannot be opened");
exit(1);
}
FILE * fw;
if (!fw)
while(!feof(fp))
fclose (fp);
fclose(fw);
return 0;
我是南邮的呀、果断把分给我对吧
程序应该是%¥#@*&)*......&)......
&......¥(&......¥&......¥(*(*(&
......&%¥R^&$&*$&*&%*(&%*(*(%
......&¥R&*$(&%$*(&%*(%(*%
......&¥R&*$(&%$*(&%*(%(*%&......¥(&......¥&......¥(*(*(&
这段是核心代码 以下省略10000字
哥们,给分吧!要快!!!
第第一段:你的结构体设计得有问题.
因为你的学号不是int, 是char*,OK?
应该改成:
第第二段:如何正确从文件读取数据
按照你的文件格式,把数据读入结构体,其实很简单
fp=fopen("1.txt","r");
第第三段:到这里,你的所有问题都已经解决了
我上面提到的两点,你理解了,其实你说的问题就解决了,Right?记住:关键是要把学号看成char*
结贴吧
要写入文件,可以按照以下步骤进行操作:
①. 在代码中引用stdio.h,即
C语言的所有文件操作接口,均声明在这个头文件中.
FILE *fopen(char *filename, char *mode);
参数filename为要写入的文件名,mode为打开的方式,如果仅需写入文件,可以使用"w"或
"wb".
返回值为文件指针类型,赋值给之前定义的变量.如果返回值为NULL,代表打开失败,无法写入.
写操作可以执行多次.
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!