qq_22948039 2015-12-08 11:35 采纳率: 0%
浏览 1311

新手学习C语言到文件顺序读写一节,求助帮忙理解程序,请备注就行!

//怎样向文件读写字符,本体我的问题是为什么没有用fgetc函数逐渐输入字符,还有为什么我在资源管理器里找不到新建的文件?
#include
#include
int main()
{
FILE * fp;
char ch,filename[10];
printf("请输入所用的文件名:");
scanf("%s",filename);
if((fp = fopen("filename","w")) == NULL)
{
printf("无法打开此文件\n");
exit(0);//终止程序
}
ch = getchar();//这个语句不理解,
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch = getchar();
while(ch != '#')
{
fputc(ch,fp);
putchar (ch);
ch = getchar();
}
fclose(fp);
putchar (10);
return 0;
}

  • 写回答

2条回答 默认 最新

  • wu_tongyu 2015-12-08 11:47
    关注

    用来接收你后面输入的换行符。scanf()函数按ENTER结束输入,但是scanf不会捕获换行符,换行符存在输入的缓冲区里面,如果不用getchar()捕获,就会被后一个getchar()捕获,这样文件里面就会先存入一个空行。

    评论

报告相同问题?

悬赏问题

  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算