c语言文件指针和函数问题
fgetc,fread等读函数是如何确定读入哪一个字符的。fgets能否多次读取文件中的不同字符串。求大神帮忙解决。...
fgetc,fread等读函数是如何确定读入哪一个字符的。
fgets能否多次读取文件中的不同字符串。
求大神帮忙解决。 展开
fgets能否多次读取文件中的不同字符串。
求大神帮忙解决。 展开
2个回答
展开全部
首先你先明白这几个函数的调用形式,然后你依据各个调用参数你就可以明白函数是如何确定读入哪一个字符的了;
1.fread(buffer,size,count,fp);(一般调用形式)各个参数如下:
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
这两个函数都是依据fp文件指针来确定读入字符的;
2.fgets的调用形式是
fgets():char *fgets(char *str, int num, FILE *fp)
参数说明:str: 保存从文件读取出来的字符串
fp: 待读文件的文件指针
num: 表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'
它读出的字符串是连续的流,因此你想一次性读取不同的字符串是不可以的,只能通过修改fp指向来实现,最好的方式是看下函数的原型,这样利于去理解和知道它运行机制。
1.fread(buffer,size,count,fp);(一般调用形式)各个参数如下:
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
这两个函数都是依据fp文件指针来确定读入字符的;
2.fgets的调用形式是
fgets():char *fgets(char *str, int num, FILE *fp)
参数说明:str: 保存从文件读取出来的字符串
fp: 待读文件的文件指针
num: 表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'
它读出的字符串是连续的流,因此你想一次性读取不同的字符串是不可以的,只能通过修改fp指向来实现,最好的方式是看下函数的原型,这样利于去理解和知道它运行机制。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询