C语言fgets函数总提示有错怎么办

 我来答
imkarayi9d4f
2017-11-17 · TA获得超过1552个赞
知道小有建树答主
回答量:1164
采纳率:85%
帮助的人:601万
展开全部
//fgets函数的作用: 羡腔宏
//从文件结构体指针stream中读取数据,每次读取一行。
//读取的数据保存在buf指向的字符数组中,
//每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),
//如果文件中的该行,不足bufsize个字符,则读完该行就结束。
//如若该行(包括最后一个换行符)兄册的字符数超过bufsize-1,
//则fgets只返回一个不完整的行,
//但是,缓冲区总是以NULL字符结尾,
//对fgets的下一次调用会继续读该行。
//函数成功将返回buf,失败或读到文件结尾返回NULL。
//因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,
//应该借助feof函数或者ferror函数来判断。

//举个栗子:fgets函数的用法: 
#include <string.h>
#include <stdio.h>
 
int main ( void )
{
    FILE *stream;
    char string[]="This is a test!"; //定义字符串 
    char msg[20]={0}; //定义空白数组 
    stream=fopen("Test.txt","w+"); //打开文件 
    fwrite(string,strlen(string),1,stream);//写入数据 
    fseek(stream,0,SEEK_SET); //文件指针指向文件的开头
    fgets(msg,strlen(string)+1,stream); //读取数据 
    printf("%s",msg); //显示出来 
    fclose(stream); //关闭文件 
  圆岁  return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式