Ano ang strncpy() Function sa C++
Ang strncpy() function ay isang built-in na C++ function na ginagamit upang kopyahin ang isang nakapirming dami ng mga character mula sa isang string patungo sa isa pa. Ang function ay nangangailangan ng tatlong parameter: ang patutunguhang string na hahawak sa mga character, ang source string na magbibigay ng mga character, at ang bilang ng mga character na kokopyahin. Kung ang source string ay mas mababa kaysa sa tinukoy na bilang ng mga character, ang patutunguhang string ay mapupuntahan ng mga null na character sa natitirang haba.
Ang prototype ng isang strncpy() function ay ibinibigay sa ibaba.
char * strncpy ( char * mga kamay const char * src, laki_t bilangin ) ;
Ano ang Mga Parameter ng C++ strncpy()
Lahat ng mga parameter ng strncpy() function ay ipinaliwanag sa ibaba.
- kamay: Isang pointer sa destination array kung saan napunta ang content
- src: Isang pointer sa source array kung saan nagmula ang content
- bilangin: Ang pinakamataas na bilang ng mga character na maaaring makopya mula sa pinagmulan hanggang sa destinasyon.
Paano Gumagana ang strncpy() Function sa C++
strncpy() tumatanggap ang function ng tatlong argumento: dest, src, at bilangin . Sinusuri nito kung ang src string ay null-terminated, at kung oo, kinokopya nito ang tinukoy na bilang ng mga character mula sa src string sa simulan string. Kung ang bilang ay mas mababa sa haba ng src string, ang unang bilang ng mga character ay inilipat sa simulan string at hindi null-terminated. Kung ang bilang ay lumampas sa haba ng src , lahat ng character mula sa src ay kinopya sa simulan , at ang mga karagdagang pagwawakas na null character ay naisama hanggang sa maisulat ang lahat ng bilang ng mga character.
Ang ibinigay na halimbawa ay naglalarawan sa pagtatrabaho ng C++ strncpy() function.
#include
#include
gamit namespace std ;
int pangunahing ( )
{
char src_str [ ] = 'Nagsusulat ako ng code para sa strncpy ' ;
char dest_str [ 60 ] ;
strncpy ( dest_str,src_str, strlen ( src_str ) ) ;
cout << dest_str << ' \n ' ;
bumalik 0 ;
}
Sa programang ito, ginamit namin
Ang output ng programa ay maaaring ipakita sa ibaba.
Ano ang mga Problema sa Paggamit ng strncpy() sa C++
- Kung walang null character sa destination array o ang string ay hindi null-terminated, ang aming program o code ay maaaring makatagpo ng mga problema sa maaga o huli. Ang isang hindi null na winakasan na string sa C++ ay naging mapanganib na code na maaaring masira anumang sandali sa panahon ng pagpapatupad ng programa. Maaari itong magresulta sa isang pagkakamali sa pagse-segment sa programa. Ang resulta, strncpy() ay hindi tinitiyak na ang patutunguhang string ay palaging null-terminated, na ginagawa itong mapanganib na code para sa program na isinusulat namin.
- Nabigo ang function na ito na suriin kung may overflow, kaya kung susubukan naming kopyahin ang source string sa isang destinasyon na mas maliit sa laki kaysa sa source, magkakaroon kami ng error at hindi natukoy na gawi.
Konklusyon
Upang kopyahin ang data mula sa isang string patungo sa isa pa, ginagamit namin strncpy() sa C++ na isang built-in na function sa