Garip Bir C Problemi - Linux
-
Beyler bayanlar öncelikle iyi akşamlar.
Linux'ta bir C programı yazdım(Kullandığım kütüphaneler windwosta olmadığından). Programın olayı şu:
Kullanıcı bir klasör adresi giriyor. Örn: /home/tahribat/Notlar gibi
Ardından bu klasördeki tüm txt dosyalarında alt alta girilmiş notların ortalaması alınıyor. Örn:
40
50
60
Ortalama = 50 gibi
Gelelim sıkıntıya: Programın exe dosyasının bulunduğu klasör haricindeki diğer herhangi bir klasörün adresini girdiğimde segmentation fault veriyor.
Ayrıca şunu fark ettim ki /home/tahribat dizininde a.txt b.txt diye iki dosya olsun. Bu dosyalar exe'nin bulunduğu klasörde de varsa(Örn /home/tahribat/exeninBulunduguKlasor), bu durumda /home/tahribat şeklinde adres girince sıkıntı çıkmıyor. Yani exenin yanındaki txt'lerin aynıları başka klasörde varsa ve kullanıcı da bu başka klasörün adresini girerse sıkıntı yok.
Bu fonksiyon ile klasördeki txtleri buluyorum.
http://rosettacode.org/wiki/Walk_a_directory/Non-recursively#C
Bunun sebebi ne olabilir?
Şimdiden teşekkürler.
-
Sesli düşünüyorum: Uygulama sadece okuma izni olan dizinlerde çalışıyor olabilir mi? Gerekli kontrolleri yapıyor musunuz?
-
Kodunu paylaşırsan daha rahat yardımcı olabiliriz.
Ek olarak apparmor veya selinux gibi bir sistem varsa onlardan dolayı bıdıklıyor olabilir.
-
YeniHarman bunu yazdı
Sesli düşünüyorum: Uygulama sadece okuma izni olan dizinlerde çalışıyor olabilir mi? Gerekli kontrolleri yapıyor musunuz?
Nasıl kontrol yapıcaz hocam ?
-
Subtitle bunu yazdıYeniHarman bunu yazdı
Sesli düşünüyorum: Uygulama sadece okuma izni olan dizinlerde çalışıyor olabilir mi? Gerekli kontrolleri yapıyor musunuz?
Nasıl kontrol yapıcaz hocam ?
ls -l yap ekran görüntüsünü koy hocam sanırım böyleydi
-
Ulaşmak istediğim dosyalar bunlar.
C projesi "hw3" isimli klasörün içinde.
KOD için: https://github.com/Adoozel/odev.git
Subtitle tarafından 14/Ara/14 14:50 tarihinde düzenlenmiştir -
Programı compile etmek için linuxta "gcc -Wall -o odev odev.c -pthread" yazabilirsiniz. Program windowsta çalışmaz.