|
1鱼币
#include"stdio.h"
#include"stdlib.h"
void main()
{
FILE *fp;
char ch,filename[20];
scanf("%s",filename);
if(!(fp=fopen(filename,"wt+")))
{
printf("cannot open the file!\n");
exit(0);
}
printf("please input the sentences you want to write:");
ch=getchar();
ch=getchar();
while(ch!=EOF)
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
}
为什么删除一个ch=getchar();会在文件中出现换行输入?而且输入love fish.com(CTRL+Z)后为什么不中止,还要换行在输入(CTRL+Z)才能结束程序?实在不懂
ch=getchar();
ch=getchar();
while(ch!=EOF)
{
fputc(ch,fp);
ch=getchar();
}是什么语法规则?
|
最佳答案
查看完整内容
为什么删除一个ch=getchar();会在文件中出现换行输入?
因为你在输入文件名字后 会输入一个回车 '\n' 接着执行 ch = getchar(); 所以 ch = '\n'。
然后进入循环 fput(ch,fp);
文件中就有一个换行了。
ch = getchar( );// 将输入缓冲区中的回车读走
ch = getchar( );//开始读取 你输入的第一个字符
ch=getchar();//去除 回车
ch=getchar();//开始 读取你输入的字符
while(ch!=EOF)
{
fputc(ch,fp);//将字符写 ...
|