[求助]文本文件中字符的添加问题
下面这个文件有点问题.偶实在是不知道哪出了问题-_-!请大家帮帮忙看看!指点一下.程序可以正确地读文件,但添加文字后就读不正确了.
比如,原来是:abcdefg
添加的是:hij klmn
它显示的是:abdcefghij
就是遇到空格的时候就不读了-_-!怎么把我输入的字符全都显示出来?
蓝色的地方有否有不对?
#include<stdio.h>
main()
{
char fname[80],atest[256],ch;
int n;
FILE *fp;
printf("\nPlease input the file path:\n\n");
gets(fname);
if((fp=fopen(fname,"r"))==NULL)
{
printf("File %s can't opened\n",fname);
return 0;
}
printf("\nThe test is:\n\n");
/*读输入的文件,并显示出来*/
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
printf("\nDo you want to continue the test?\n\nPress 'Y' continue or press 'N' to exit!\n");
/*按Y添加文字,按N退出*/
while(1)
{
n=getch();
getch();
switch(n)
{
case'y':goto add;
case'n':return 0;
}
}
/*开始添加文字*/
add:if((fp=fopen(fname,"ab+"))==NULL)
{
printf("File %s can't opened\n",fname);
return 0;
}
printf("\nPlease continue the test:\n\n");
scanf("%s",atest);
fputs(atest,fp);
rewind(fp);
printf("\n\nThe new test is:\n\n");
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n\n");
fclose(fp);
}
[此贴子已经被作者于2007-10-23 15:03:01编辑过]