return 0;
}
Dastur ishlashi natijasida ekranga
strlen(Str)=10
sizeof(Str)=11
xabarlari chiqadi.
Odatda sizeof() funksiyasidan getline() funksiyasining ikkinchi argumenti sifati ishlatiladi va satr uzunligini yaqqol ko‘rsatmaslik imkonini beradi:
cin.getline(Satr, sizeof(Satr));
Satrlarni nusxalash
Satr qiymatini biridan ikkinchisiga nusxalash mumkin. Buning uchun bir qator standart funksiyalar aniqlangan bo‘lib, ularning tavsiflari quyida keltiramiz.
strcpy() funksiyasi prototipi
char* strcpy(char* str1, const char* str2)
ko‘rinishga ega va bu funksiya str2 ko‘rsatib turgan satrdagi belgilarni str1 ko‘rsatib turgan satrga baytma-bayt nusxalaydi. Nusxalash str2 ko‘rsatib turgan satrdagi nol-terminal uchraguncha davom etadi. Shu sababli, str2 satr uzunligi str1 satr uzunligidan katta emasligiga ishonch hosil qilish kerak, aks holda berilgan sohasida (segmentida) str1 satrdan keyin joylashgan berilganlar “ustiga” str2 satrning “ortiqcha” qismi yozilishi mumkin.
Navbatdagi dastur qismi “Satrni nusxalash!” satrini Str satrga nusxalaydi:
char Str[20];
Do'stlaringiz bilan baham: