[]
string parsing
c'de bir text dosyadan veri okuyup karakter karakter bir diziye kaydetmenin veya boşluk karakteri ile ayrılanları bir şekilde ayıklamanın en mantıklı yolu nedir? strtok'la yapabilir miyim? eof'yi nasıl kullanacağım? şu bilimin belki en kolay sorunlarından biri fakat beni en çok sıkanı. bir fikir verirseniz sevinirim.
c'yi unuttum baya ama belki aklımda kalanlar yardımcı olabilir sana.
mesela karakteri dosyadan okurken bir for döngüsü kurabilirsin. (Ama burda döngüyü nasıl kuracaksın bilemiyorum, yani txt file içinde ne kadar karakter var nasıl bulabilirsin bilemem artık orasını hatırlamıyorum.
bu for döngüsü içinde arttırdığın değeri dizi içine koyarsın.(d[i] gibi)
bu sayede diziye aktarırsın. Ama eof karakterini ayırt etmen için for'un içinde if'le filan kontrol edebilirsin. Buna şuradan bir bak örnek de vermişler hem.
(bkz: feof)
edit: bayağı unutmuşum ben o zaman.
mesela karakteri dosyadan okurken bir for döngüsü kurabilirsin. (Ama burda döngüyü nasıl kuracaksın bilemiyorum, yani txt file içinde ne kadar karakter var nasıl bulabilirsin bilemem artık orasını hatırlamıyorum.
bu for döngüsü içinde arttırdığın değeri dizi içine koyarsın.(d[i] gibi)
bu sayede diziye aktarırsın. Ama eof karakterini ayırt etmen için for'un içinde if'le filan kontrol edebilirsin. Buna şuradan bir bak örnek de vermişler hem.
(bkz: feof)
edit: bayağı unutmuşum ben o zaman.
- ocanal (25.05.09 02:11:51 ~ 10:29:07)
teşekkür ederim tavsiye için ama bunların kolay yolları var string.h kütüğhanesindeki fonksiyonlarla. bunlarla nasıl çözülür bu sorun onu merak ediyorum.
- uckac (25.05.09 02:23:54)
fread() + strtok() ile olur. amma velakin strtok parametre olarak aldığı string'i bozar ve thread-safe değil. bu nedenle strtok_r kullanman daha iyi. örnek için www.bash-linux.com
- darth templar (25.05.09 03:37:30)
1