关于C语言中文件读取的问题
读取数据有几个函数,fgetc(),fread(),fscanf()
1.是不是fgetc()使用后文件指针会后移一个字节?
2.fread()函数读取一行之后文件指针会不会下移一行?
3.如果我要将一行数据写入一个结构体该怎么办?如果要将若干行数据写入一 个结构体数组又该怎么办?
e.g
r 8.5 17.0 25.5 -8.5
c 20.2 7.3 5.8
r 0.0 10.3 5.5 0.0
c -5.0 -5.0 3.7
r 2.5 12.5 12.5 2.5
c 5.0 15.0 7.2
*
结构体包含一个char变量和四个float,但是c类型的只有3个数字,希望此时只写入三个数字而第四个不去管它就好.直到读入'*'时读取任务停止.怎样应用这几个函数才能完成这个工作?
4.fseek(fp,sizeof(struct),1)之后是指向此行的末尾还是下一行的开头?
我遇到的文件读取主要是这些问题。我用的是谭浩强的书,但是这块讲的不详细,希望大家能指点一下。顺便祝大家节日快乐。
参考答案:1)你的答案正确
2)你的答案正确
3)可以采用这种方法(伪码表示),r和c必须成对出现。
while (next_char != *) {
read struct r into its 4 memebers;
read struct c into its 3 memebers;
}
4)应该是向后1个sturct占用的空间。