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;
}