我把程序传上来了,可以帮我看看吗?谢谢!
追答fread也可以,一定是输出时弄错了!fread把内容读到 内存后,输出是需要考虑的问题!
你的buf读满后没有'\0'作字符串结束,所以以%s输出时会产生问题的!你需要保留一位,使其内容恒定为'\0'
#include
int main(void)
{
char buf[128] = {0}; // 这里要都初始化为0
FILE *fp = fopen("a.txt", "r");
while (0 != fread(buf, 1, 127, fp)) // 这里不能读满,最大只能用127
{
printf("%s", buf);
memset(buf, 0, 128); // 这里每次都要清0
}
fclose(fp);
return 0;
}