Strcpy( ) və Strncpy( )-funksiyaları vasitəsi ilə sətirlərin köçürülməsi Strcpy-funksiyası 2-ci arqumentin qiymətini 1-ci arqumentə köçürür və yekun sıfırıncı simvolu da köçürür. Əməliyyatın normal yerinə yetirilməsi üçün 1-ci sətrin ölçüsü 2-cidən böyük olmalıdır. Strncpy funksiyasında yekun 0-cı simvolun köçürülməsi vacib deyildir. Yekun sıfırıncı simvol o vaxt köçürülür ki, köçürülən simvolların sayı sətrin uzunluğundan heç olmazsa bir vahid çox olsun. (n>S2-nin uzunluğu). Məsələ, ikinci arqument “test” olarsa və 3-cü arqument 5-dən böyük qiymət alarsa, onda yekun sıfır simvol köçürülür. Aşağıdaki proqramda x-sətir massivinin y-sətir massivinə tam köçürülməsi və strncpy funksiyasından istifadə etməklə x-sətir massivinin birinci 11 simvolunu z-massivinə köçürülməsi nümayiş etdirilmişdir. ‘\0’- simvolu z-massivinə əlavə edilir.
Çünki 3-cü arqumentin qiyməti ikinci arqumentin uzuluğundan kiçikdir.
#include using namespace std; #include int main ( ) {char x[ ]=”Yeni iliniz mübarək”; char y[25], z[12]; cout<< “x-sətir massivi:”< strncpy(z, x, 11); //’\o’-element köçürülmür z[11]=’\o’; cout<<”z-sətir massivi” < return 0; }. Nəticə:
x-sətir massivi: Yeni iliniz mübarək
y-sətir massivi: Yeni iliniz mübarək
z-sətir massivi: Yeni iliniz
Strcat və strncat funksiyaları vasitəsi ilə sətirlərin birləşdirilməsi Strcat funksiyası 2-ci arqumenti (sətri) 1-ci arqumentə əlavə edir 2-ci arqumentin 1-ci simvolu birinci arqumentin ‘\o’-simvolunu əvəz edir. Birinci arqumentin ölçüsü elə olmalıdır ki, burada 1-ci və 2-ci sətirlər və ‘\o’-simvolu yerləşə bilsin.
Strncat funksiyası 2-sətirdən göstərilən sayda simvolu 1-ci sətrə əlavə edir. Nəticədə alınan sətrə ‘\o’-simvolu əlavə edilir.
Aşağıdaki proqramda bu funksiyaların işlənməsi nümayış etdirilmişdir.
//strcat və strncat funksiyalarından istifadə
#include #include int main ( ) {char S1[20]=”Happy”; char S2[ ]=”New Year”; char S3[40]=” ”; cout << “S1=”< Strcat (S1, S2); //S1 və S2-nın konkatenaksiyası cout <<”\n\n strcat (S1, S2)-dən sonra:\n S1=”< <<”\n S2=”< //S1-ın 6-simvolunun S3-ə konkatenaksiyası
Strncat (S3, S1, 6);//axırıncı simvoldan sonra `\0`-yerləşdirilir. cout <<”\n\n strncat (S3, S1, 6)-dan sonra: \n S1=” < Strcat(S3, S1); cout<<”\n n Strcat(S3, S1)-dən sonar: \n S1=”<< S1<<”\n S3=”< return 0; } Nəticələr aşağıdaki kimi olacaq:
S1=Happy S2=New Year Strcat(S1, S2)-dən sonra: S1=Happy New Year S2=Happy Year Strncat(S3, S1, 6)-dan sonra: S1=Happy New Year S3=Happy Strcat(S3, S1)-dən sonra: S1=Happy New Year S3=Happy Happy New Year