![]()
From: Baris Metin (baris@metin.org)
Date: Thu 29 May 2003 - 20:34:51 EEST
Selamlar,
Thu, May 29, 2003 at 04:50:53PM +0300 , Arman Aksoy :
> Merhaba
>
> Kendi capimda yazdigim bir IRC bot'a her istek gonderdigimde bir txt dosyasini aciyor ( FILE *f ; f = fopen("sozlukvb.txt", "r") )
> ve bunun uzerinde bir takim islemler yapiyordu. Fakat bu islemi ardi ardina 8 defa istedigimde konsolda Segmention Fault hatasini aliyorum. Ve tabii botta irc'den dusuyor. Sorunu cozmek icin bolum bolum programdan parcalar attim. Ve en son soyle bir hale geldi;
Oncelikle kodun gondermis olldugunuz bolumu ile ilgili soyleyebilecek
cok fazla sey yok. Fazla kirpmissiniz :).
Ama asagida ilk bakista bir hata goze carpiyor.
> void fonksiyonum(void) {
>
> FILE *f;
> char bilgi[1024];
>
> printf("1. mesaj\n");
>
> if ((f = fopen("sozlukvb.txt", "r")) == NULL) {
> perror("fopen");
> printf("Dosya acilamadi...\n");
> }
Tamam, dosya acilamadi ise bunu bildiriyorsunuz. Ama hala asagidaki
satirlar isletilmeye devam edecek.
>
> printf("2. mesaj\n");
>
> /* Atilan Kisimlar
>
> ...........
>
> */
>
> fclose(f);
Dosya acilamamis olsa bile fclose(f) calistirilmaya calisilacak. Ya f
NULL ise ? Seg-fault. NULL (== 0) adresine erisim izniniz yok...
Belki bunun yerine;
if (f) fclose(f);
kullanirsiniz. Yada ne bileyim, dosya acilamadi ise return edersiniz...
>
> }
>
>
> Kod bu haldeyken yine 8. cagirisimda cokuyor. Deneme icin koydugum mesajlardan 1. sini gosterilirken, 2. sini gosterilmiyor. Buradaki cokme neden olabilir?
>
iyi calismalar;
-- Baris Metin -- Attached file included as plaintext by Ecartis -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: http://metin.org iD8DBQE+1kS7/NpXVJSThIIRAnYtAJ0dzs4h64//dWoxCUOZc/5CnO7LzQCgjy8c bM82xZUq7ZUkNUs27W24hZw= =jMa5 -----END PGP SIGNATURE-----
![]()