-----------------------------------------------------------------------------------------------------------------------
fgets函数原型如下:
char *fgets(char *s,int n,FILE *stream);
它一次从文件中读取一行,包括换行符,放入字符串s中,并且加上字符串结束标志符'\0'.参数n代表缓冲区s中最多能容纳多少个字符(不算结尾标志符'\0').
fgets函数返回一个char类型的指针,和s指向同一个地方.如果在没有数据可以读取,那么函数就返回NULL.
----------------------------------------------------------------------------------------------------------------------
下面的程序将文本文件students.txt的内容依次读到字符串s中输出
#includestdio.h
#includestdlib.h
int main()
{
FILE *fpSrc;
char szLine[MAX];
fpSrc=fopen("students.txt","r");
//文件要指明路径
if(NULL==fpSrc)
printf("文件读取失败!");
exit(1);
}
while(fgets(szLine,MAX-1,fpSrc))//从文件中读取一行写入到字符串szLine中,直到fgets函数返回NULL
printf("%s\n",szLine);//打印出读取的内容
fclose(fpSrc);//关闭文件流
return 0;
当然有可能溢出,一般来说不会声明一个字符变量,然后把读取的一段数据往一个字符变量所在的地址放(那字符变量后面的内存不是都被盖了?),正确的用法是malloc一段大小的内存,一次读取的大小不超过这段内存的大小,这样才安全.
fgets(由文件中读取一字符串)
表头文件
includestdio.h
定义函数
char * fgets(char * s,int size,FILE * stream);
函数说明
fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束.
返回值
gets()若成功则返回s指针,返回NULL则表示有错误发生.
范例
main()
执行
this is a test /*输入*/
this is a test /*输出*/
以上就是土嘎嘎小编为大家整理的c语言fgets一维函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!