在使用 GCC 编译后,我正在尝试在 Windows 7(64 位,如果重要的话)上运行此代码。如果我将 bufsize 声明为 int,则程序会冻结,并且 Windows 会通知我它已停止工作。如果我使用 #define bufsize 123 它可以正常工作,如果我自己用数字替换 bufsize 也可以正常工作。我在这里想念什么?
int main(int argc, char* argv[]) {
char* filename = argv[1];
FILE* problem = fopen(filename, "r");
if (!problem) {
printf("File doesn't exist\n");
exit(1);
}
char* line;
while (fgets(line, bufsize, problem) != NULL) {
printf(line);
}
return 0;
}