PDA

Tam Sürümünü Görmek İçin : iki string dizgisinin esit olup olmadigini kontrol eden fonksiyon


tujix
05/01/2008, 17:25
iki string dizgisinin esit olup olmadigini kontrol eden hazir fonksiyon varmi varsa paylasirmisin iz


tujix
05/01/2008, 18:02
arastirdim bulamadim bende kendm yazdim sadece kod uzamasin diye istemistim ;)

acehreli
05/01/2008, 18:27
C'de <string.h> basliginda strcmp var:

if (!strcmp(benimki, seninki)) /* ... */

C++'ta normal '==' ile karsilastirabilirsin:

if (benimki == seninki) /* ... */

veya std::string::compare fonksiyonlari var:

if (!benimki.compare(seninki)) /* ... */

Hatta std::equal gibi algoritmalar da olur.

Ali

tujix
05/01/2008, 18:31
amacim stringlerin uzunluklarini kiyaslamak deil dizginin elemanlari esitmi deyilmi

if("aliali"=="tuncay") gibi bi kiyaslama

acehreli
06/01/2008, 00:45
Benim yazdiklarimda uzunlukla ilgili hicbir sey yok. Senin aradigin strcmp...

Uzunluk icin strlen var...

Ali

tujix
07/01/2008, 00:44
strcmp iki stringin boyunu kiyasliyor birinci buuykse 0dan kucuk ikinci buyukse 0dan buyuk esitlerse 0 deger donduruyo

acehreli
07/01/2008, 03:52
tujix, senin hemen strcmp'in ne is yaptigini arastirman gerekiyor. :) Evet, uc degisik deger dOndUrur ama o degerleri uzunluklarina gore degil, dizgilerin siralamadaki onceliklerine gore dOndUrur. Eger iki dizgideki karakterler ayni ise, sifir dOndUrur. Onun icin

if (!strcmp(/* ... */))

seklinde, '!' ile birlikte kullanilir. Boylece esit olduklarinda if bloguna girilir.

Umarim bu ucuncu mesajim seni aradigin fonksiyonun strcmp olduguna ikna edecek veya hic olmazsa arastirma yapacak kadar ilgilendirmistir. :)

Ali

tujix
09/01/2008, 17:06
acehreli, strcmp iki dizginin karsiliklikli ayni indisteki karakterlerini aliyor kiyasliyor ve buna gore deger donduruyor desen bende hemen anlasam ne guzel olurdu:D
tskler ilgilendigin icin