【发布时间】:2022-01-19 12:40:02
【问题描述】:
代码是-
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *filevar;
filevar = fopen("file", "r");
char copy [100];
int i = 0;
while(1)
{
char ch = fgetc(filevar);
if(ch==EOF)
{
break;
}
copy[i] = ch;
i++;
}
printf("\n%s", copy);
fclose(filevar);
return 0;
}
当我运行它时,我得到的输出是
textblabla■a
文件内容是-
文本blabla
更改文件内容会更改末尾的随机字符
【问题讨论】:
-
char ch必须是int ch。 -
如果你想像
printf("\n%s", copy);一样使用copy作为字符串,你必须在最后一个字符之后添加一个NUL字符('\0')