Bir dosyayı açmak ve ondan bazı verileri okumak için basit bir C programı üzerinde çalışıyorum. Derleme hataları yoktur, ancak programı belirli bir dosyada çalıştırdığımda, "Segmentation Fault: code dumped" hatası alırım. Kodumun en üstünde bir yazdırma ifadesi ekledim ve çalışmaz. Henüz bir şey yapmadığınızda bölümleme hatası almak mümkün mü?İlk satır kodundan önce bölümlendirme hatası
#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);
}
Bu, kendi metin sürümünde çalıştırdığımda çalışır, ilk satırı yazdırır. Ancak, başka bir dosyada çalıştırdığımda, texttest.vmf, bölümleme hatası alıyorum ve ilk baskı çalışmıyor. VMF'ler Valve Map Files'dır, ancak standart metin biçimindedirler. Bu dosya 3.7 KB büyüklüğündedir. Herhangi bir fikir?
Aşağıdaki cevabı takip etmelisiniz, büyük bir olasılıkla bir hata olup olmadığını görmek için fopen iadesini kontrol etmemenizdir. –