ファイルを開いてそこからデータを読み取る単純な C プログラムに取り組んでいます。コンパイル エラーはありませんが、特定のファイルに対してプログラムを実行すると、"Segmentation Fault: code dumped" エラーが発生します。コードの一番上に print ステートメントを挿入しましたが、実行されません。まだ何もしていないときにセグメンテーション違反が発生する可能性はありますか?
#include <stdio.h>
int main(int argc, char **argv)
{
printf("%s", "Made it to here!");
FILE *fp;
char input[100];
fp = fopen(argv[1], "r+b");
fgets(input, sizeof(input), fp);
printf("%s", input);
fclose(fp);
return(0);
}
これは、それ自体のテキスト バージョンで実行すると機能し、最初の行が出力されます。しかし、別のファイル texttest.vmf で実行すると、セグメンテーション エラーが発生し、最初の出力が実行されません。VMF はバルブ マップ ファイルですが、標準のテキスト形式です。このファイルのサイズは約 3.7 KB です。何か案は?