马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Y.H 于 2011-10-2 22:13 编辑
代码如下:#include <stdio.h>
void main()
{
FILE *fp;
char ch, filename[256];
printf ("input FileName : ");
scanf ("%s", filename); //我怀疑在这里最后的一个换行被下面的第一个ch = getchar();接受到了。
if (!(fp = fopen (filename, "wt+")))
{
printf ("Cannot open the file!\n");
}
printf ("input sentences : ");
ch = getchar(); //为了检验ch接受的是不是一个换行,经过调试发现到了此时ch = 10,
if (ch == '\n') //而我查了下ASCII码表,发现ASCII码10对应的是控制字符LF LF=换行=\n。
{ //虽然确定ch是接收到了一个换行,但不确定是不是接受到上面的那个换行
exit(0); //而且当我把这一段测试代码和第一个ch = getchar();注释掉时,发现所写的文件,第一换了一行.
}
ch = getchar();
while (ch != EOF)
{
fputc(ch, fp);
ch = getchar();
}
fclose(fp);
}
还希望,高手解答。。。具体的原因。
|