我国环保日:c语言文件编程问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 20:32:50
#include <stdio.h>
main()
{
FILE *fp;
char ch,filename[10];
printf("input filename\n");
scanf("%s",filename);
printf("input the char\n");
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
printf("\n");
fclose(fp);
}

程序最后的WHILE循环,应该是输入一个字符就显示一个字符。为什么我执行的时候是输入完毕后才显示!~

getchar()是将输入的字符存入一个缓冲区,putchar()在遇到换行字符时将缓冲区里的字符全部输出。楼主输入一个字符就显示出来的想法在裸C下不太好实现。

你在putchar后面加个延时试试。