ASCII码文本文件(txt文件)读写出现不期望字符的问题
我的环境是win2000+VC6,用向导生成一简单SDI程序框架,在一菜单上添加一命令,其处理函数如下(本意是想把a文件中内容原样复制到b文件中):
void CMainFrame::OnWriteFile()
{
// TODO: Add your command handler code here
char str[1];//状态1,当为str[6]时为状态2
FILE *pFile, *pTemFile;
pFile = fopen("g:\\a.txt","r");
int i = 0;
char ch;
while (!feof(pFile))
{
ch = fgetc(pFile);
str[i++] = ch;
}
str[i-1] = 0;//状态4,当去掉此行时为状态3
pTemFile = fopen("g:\\b.txt","a");
fputs(str, pTemFile);
fclose(pTemFile);
fclose(pFile);
}
a.txt的内容为"abcd"
状态1和3时b.txt结果为"abcdB"
状态1和4时b.txt结果为"abcd"
状态2和3时b.txt结果为"abcd烫虗B"
状态2和4时b.txt结果为"abcd"
请问如何解释?如何解决?