创建一个文件并写入字符,得到的却是没有任何内容的文件?

a172576311 2014-10-18 10:58:56
#include <stdio.h>
#include <stdlib.h>

int main()


{ FILE *fp;
char ch,filename[10];
printf("filename");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{ printf("error");
exit(0);
}
ch=getchar();
printf("input");
ch=getchar();
while(ch!='#')
{ fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(10);
return 0;
}






...全文
342 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
brookmill 2014-10-18
  • 打赏
  • 举报
回复
如果不执行fclose(fp),给fp写入的内容有可能只写到了缓冲区里而没有真正写入硬盘。 要是想在fclose之前随时写入硬盘,可以试试fflush(fp); 不过这样会严重影响效率,当然这种小的测试程序就无所谓了。
brookmill 2014-10-18
  • 打赏
  • 举报
回复
没看见你输入‘#’,程序怎么结束的? 如果用ctrl+c之类的办法结束,不执行fclose,写入文件的内容可能就会丢掉。
a172576311 2014-10-18
  • 打赏
  • 举报
回复
我懂了,没用#结束。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧