关于文件函数的问题!
先谢谢大家能看我的帖,问题如下:#include"stdio.h"
#include"stdlib.h"
void main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w+"))==NULL)
{
printf("hi,你错了拉!从来!\n");
exit(0);
}
ch=getchar(); //*这里是用来接收在执行scanf时最后输入的回车符!*//
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
ch=getchar(); //*这里是用来接收在执行scanf时最后输入的回车符!*//
这里我尝试了一下,把ch=getchar();去掉,可是多出来一个回车!为什么在执行scanf时,把回车符“掉了”!我尝试使用空格来结束scanf,能按照理想的输入!
那为什么使用回车时,文件最前排会多出来一空行?
还有,ch=getchar();这里是用来接收回车的?当我们按回车以后表示scanf结束!那么怎么会多出来呢?这里它是怎么接收的?
fputc(ch,fp);这里的ch不是只有一个字符吗?getchar不是只能接收一个字符吗?怎么能把输入的整串文字输出呢?
putchar不是也只能输出一个字符吗?putchar(10);这个我尝试了一下,没必要留在程序中,它执行以后会输出几行空白的区域……