好的。因此,在非常简单的程序中使用fgets时,我只是遇到了一些奇怪的行为。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** args)
{
FILE* file = fopen("file.txt", "r");
char line[80];
fgets(line, 80, file);
printf("%s", line);
fclose(file);
return 0;
}
正在打开的文件只有一行,并且只有25个字节。通过valgrind重新运行可执行文件时,它声明仅使用3个分配(加上3个释放)分配了超过100万个字节。
我只是想知道为什么会这样。
谢谢, 本