STRCPY VE STRCAT KULLANIMIString Calistrima Fonksiyonlari Kutuphanesi cok faydali fonksiyonlari(string data, karsilastirma, arama, string ayirma ve dahasi) biz programcilara saglamaktadir. Bizde burada bu foksiyonlardan olan strcpy, strncpy, strcat ve strncat fonksiyonlari uzerinde duracagiz.
Fonksiyon strcpy kendisinin string olan ikinci degiskenini kopyalar.Birinci tartismasi ise string ve NULL yok edicisini saklayabilecek buyuklukte olmalidir.Diger bir kopyalama fonksiyonu da strncpy dir.strcpy ile esit olmasina ragmen ne kadar karakterin kopyalanacagini da belirtir.Ama strncpy NULL karakterini kopyalamaz.Ornegin, kopyalanacak kelime test olsun. strncpy kullanarak test kelimesini kopyalamak istedigimizde, NULL yok edici karakter eger ucuncu tartisma en az 5( 4 karakter "test" icin ve art 1 NULL yok edici karakter) ise yazilir.Eger ucuncu tartisma 5 den buyuk ise, NULL karakter toplam karakter sayisi ucuncu tartismaci tarafindan belirlene kadar arraye eklenir.Assagida yer alan programda kullanilan strcpy i x arrayin de ki tum stringi yin icine kopyalamak icin kulandik.Burada yer alan NULL karakter ('\0') ise array z eklendi cunku programda ki strncpy fonksiyonu NULL karakterini yazmiyor.Hadi bakalim bu strcpy ve strncpy bir programin icinde kullanalim.
/*strcpy ve strncpy kullanimi*/
#include <stdio.h>
#include <string.h>
main()
{
char x[] = "Ben C Programlama Ogreniyorum";
char y[30], z[18];
printf("%s%s\n%s%s\n",
"Array X de yer alan String: ", x,
"Array y de yer alan String: ", strcpy(y, x));
strncpy(z, x, 17);
z[17] = '\0';
printf("Array z de yer alan String: %s\n",
z);
return 0;
}
Programin ciktisi su sekilde :
Array X de yer alan String : Ben C Programlama Ogreniyorum
Array y de yer alan String : Ben C Programalam Ogreniyorum
Array z de yer alan String : Ben C Programalama
olacaktir.
Fonksiyon strcat kendisinin ikinci ve bir string olan tartismasina aktarilir, birince tartisma string iceren array karakterdir.Programcilar ilk stringi saklamak icin kullanilan arrayin ilk stringi saklayabilecek buyuklukte olmasini dikkat etmeliler.strncat de strncpy gibi ikinci stringden birince stringe aktarilacak olan karakter sayisini iletir.Program strcat ve strncat kullanimini gostermekte.
/*strcat ve strncat kullanimi */
#include <stdio.h>
#include <string.h>
main()
{
char s1[20] = "Neden
"; /*birinci string*/
char s2[] = "C Programlama? "; /*ikinci
string*/
char 3[40] = " ";
/*ucuncu string*/
printf("s1 = %s\n%s2 = %s\n", s1, s2);
printf("strcat(s1, s2) = %s\n", strcat(s1, s2));
printf("strncat(s3, s1, 6) = %s\n", strncat(s3,
s1, 6));
printf("strcat(s3, s1) = %s\n", strcat(s3, s1));
return 0;
}
Programin ciktisi:
s1 = Neden
s2 = C Programlama ?
strcat(s1, s2) = Neden C Programlama?
strncat(s3, s1, 6) = Neden
strcat(s3, s1) = Neden Neden C Programlama?
|