关于C语言中文件读取的问题

王朝知道·作者佚名  2009-08-14
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

读取数据有几个函数,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占用的空间。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航