不死奇迹 2015-10-25 07:02 采纳率: 33.3%
浏览 2934
已采纳

C语言中的fgets问题,结果输出多出一行“(null)”

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
char* main01()
{
//写文件操作
char* FileName="c:/1.txt";
char ch[]="\n\r";
FILE* fp=NULL;
fp=fopen(FileName,"wb");
if(fp == NULL)
{
printf("open file error:\n");
}
fputc('c',fp); //写一个字符
fputs("abcdefg",fp);//写一个字符串

fwrite(ch,2,1,fp); //写入时换行
fprintf(fp,"\n\r"); //写入时换行
fputs("hijklmn\n",fp);
fclose(fp);
return FileName;

}

void main03(char* file_name)
{
//fgets读文件操作
char* FileName=file_name;
char buf[100];
FILE* fp=NULL;
fp=fopen(FileName,"r");
if(fp == NULL)
{
printf("Open file error:\n");
}
while( !feof(fp))
{
printf("%s",fgets(buf,100,fp));
}
fclose(fp);
system("pause");
}

void main()
{
char* File_Name=main01();
main03(File_Name);
system("pause");
}

运行结果:
cabcdefg

hijklmn
(null)请按任意键继续. . .

(null)是指什么意思?我再文件里没有写入“(null)”

  • 写回答

2条回答 默认 最新

  • 不死奇迹 2015-10-25 07:27
    关注

    哦,知道了。原来是fputs会自动增加一个换行符,所以,导致文件指针读取该空白行时会多出一个(null)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于下拉菜单选项关联的问题
  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R