PDA

Tam Sürümünü Görmek İçin : strcpy de hata?!


futi
17/01/2007, 13:20
"_gelen_ip" diye bir stringim var. ve bu 0.karakterden başlayarak NULL görene kadar ip adresinin karakterlerini tutuyor. Şöyleki : 1-2-7-.-0-.-0-.1-\0- [127.0.0.1] şeklinde tutuyor. Yani, _gelen_ip yi strlen() ile boyutunu öğrendiğim de 9 oluyor. Buraya kadar tamam..

fakat : strcpy(ipler.ip,_gelen_ip); yaptığımda :

ipler.ip deişkeninin 2.karakterinden itibaren kopyalamaya başlıyo. Yani strlen(ipler.ip); yaptığımda sonuç olarak 11 görüyorum.(9 görmem gerekir) İlk iki karaktere işlem yapılmıyor? bu neden olabilir?


acehreli
17/01/2007, 19:16
Eger ipler.ip _gelen_ip'teki karakterleri saklayacak kadar buyuk bir yeri gosteriyorsa, gosterdigin kadarinda bir yanlislik yok. Programinin baska bir yerindeki hata yuzunden boyle garip bir sonuc aliyorsundur.

Ama bence hatan aslinda orada: ipler.ip, icine kopyalama yapabilecegin bir yeri gostermiyor.

Ali