Sypro Mesaj tarihi: Nisan 21, 2011 Paylaş Mesaj tarihi: Nisan 21, 2011 gcc ile deremeye çalıştığım bi kod var, while ( asd != EOF ) gibi bir kontrole ihtiyacım var. scanf ile aldığımda stringi yemiyor, gets ile denediğimde -artık kullanılmıyor sanırım- hata alıyorum, fgets meselesinin içinden çıkamadım -3 parametre falan- o da saçmalıyor. en iyi ihtimalle compile aşamasını geçiyoruz ama segmentation fault basıyor ekrana, en kötü ihtimalle compile etmiyor bile. bu işin yolu yordamı falan mı vardır anlamadım gitti. hiç işim olmadı eof ile -sphere hariç- dolayısıyla noob gibi hissettim kendimi xD halp. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Nisan 21, 2011 Paylaş Mesaj tarihi: Nisan 21, 2011 fgets dosyadan okuyor. muhtemelen dosyaya olan linki yanlis yolladigindan seg fault aliosun. scanf ve gets ile dosyadan okuyamazsin. fscanf kullanman lazim. digerlerinde sorun nedir tam olarak soylersen yardimci olabilirim. eof'un tek olayi var, while(!feof(fp)) { fscanf(blabla) printf(blabla) } yaparsan sorun olur. eof karakterini islemis olursun. onun icin fscanf(blabla) while( !feof(fp)) { printf(blabla) fscanf(blabla) } yapman gerekiyor ki EOF karakteri islenmesin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sypro Mesaj tarihi: Nisan 21, 2011 Konuyu açan Paylaş Mesaj tarihi: Nisan 21, 2011 sorun da o ya, dosyadan okumak istemiyorum :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Nisan 21, 2011 Paylaş Mesaj tarihi: Nisan 21, 2011 Hoh :p tam olarak ne yapmaya calisiosun? EOF gelene kadar deger almaya calisiosan mesela, soyle yapacaksin: while(scanf(blabla) != EOF) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sypro Mesaj tarihi: Nisan 21, 2011 Konuyu açan Paylaş Mesaj tarihi: Nisan 21, 2011 yapmaya çalıştığım şey şu: bir metin giriyorum -scanf, gets, fgets kısmı burada devreye giriyor. sonra metnin sonuna gelip gelmediğimi kontrol etmeye çalışıyorum -EOF kısmı da burada devreye giriyor. çünkü EOF karakteri denk gelmediği sürece çağırmam gereken bir fonksiyon var metni kelimelere ayıran. bunun dışında, fgets i stdin ile kullanmak için (gets gibi kullanmak yani) şöyle bir yöntem var: Prototype: char *fgets(char *s, int n, FILE *stream); s bildiğin string, n boyut, stream de stdin olarak verince dosyadan değil ekrandan okutabiliyorsun. sıkıntı çıkan kısım ise n kısmı. sanırım boyutu yanlış belirliyorum, o yüzden segmentation fault verip duruyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Nisan 21, 2011 Paylaş Mesaj tarihi: Nisan 21, 2011 karakter karakter ilerliyorsan str[i ] != '' isini gorur. kelime kelime alicaksan scanf'i yukarda yazdigim gibi kullanabilirsin. fgets'i ile feof ile kontrol etmen gerekiyo. EOF'u bu sekilde kontrol edebiliosun her biri icin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sypro Mesaj tarihi: Nisan 21, 2011 Konuyu açan Paylaş Mesaj tarihi: Nisan 21, 2011 feof aklıma gelmedi, ama kelime kelime almıyorum. tüm metni -atıyorum 1000 karakter uzunlukta- bir kerede alıyorum. kendim parçalıyorum. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar