Како користити функцију стрнцпи() у Ц++

Kako Koristiti Funkciju Strncpi U C



У Ц++ постоји много функција за копирање стрингова или знакова са једног места на друго, а то су стрцпи, стрнцпи и мемцпи. Они се разликују један од другог према својој функционалности. Овај водич ће разговарати о стрнцпи() функција у Ц++.

Шта је функција стрнцпи() у Ц++-у

Функција стрнцпи() је уграђена Ц++ функција која се користи за копирање фиксне количине знакова из једног стринга у други. Функцији су потребна три параметра: одредишни низ који ће садржати знакове, изворни низ који ће обезбедити знакове и број знакова за копирање. Ако је изворни низ мањи од наведеног броја знакова, одредишни низ ће бити допуњен нул знаковима до преостале дужине.

Прототип функције стрнцпи() је дат испод.







цхар * стрнцпи ( цхар * руке конст цхар * срц, сизе_т цоунт ) ;

Који су параметри Ц++ стрнцпи()

Сви параметри за стрнцпи() функције су објашњене у наставку.



  • рука: Показивач на одредишни низ на који је био садржај
  • срц: Показивач на изворни низ из којег је садржај
  • рачунати: Највећи број знакова који се могу копирати са извора на одредиште.

Како функција стрнцпи() ради у Ц++-у

стрнцпи() функција прихвата три аргумента: дест, срц, и цоунт . Проверава да ли је срц стринг је завршен нулом, и ако јесте, он копира наведени број знакова из срц стринг то тхе почетак низ. Ако је број мањи од дужине срц стринг, у који су пренети први знакови бројања почетак стринг и нису завршени нулом. Ако број прелази дужину срц , сви ликови из срц се копирају у почетак , и додатни завршни нулти знакови су укључени све док се не напишу сви знакови бројања.



Наведени пример илуструје рад Ц++-а стрнцпи() функција.





#инцлуде<иостреам>
#инцлуде<стринг.х>
Користећи именског простора стд ;
инт главни ( )
{
цхар срц_стр [ ] = 'Пишем код за стрнцпи' ;
цхар дест_стр [ 60 ] ;
стрнцпи ( дест_стр,срц_стр, стрлен ( срц_стр ) ) ;
цоут << дест_стр << ' ' ;
повратак 0 ;
}

У овом програму смо користили <стринг.х> датотека заглавља јер укључује стрнцпи() функција. Дефинисали смо два низа један је срц_стр а други је дест_стр. стрнцпи() функција која преузима податке из срц_стр стринг и копира га у дест_стр . Ево стрлен(срц_стр) се користи за бројање укупног броја знакова из срц_стр стринг .

Тхе излаз програма може се приказати у наставку.



Који су проблеми са коришћењем стрнцпи() у Ц++-у

  • Ако у одредишном низу нема знака нуле или стринг није завршен нулом, наш програм или код могу пре или касније наићи на проблеме. Завршени стринг који није нултом у Ц++-у је постао ризичан код који може да се поквари у било ком тренутку током извршавања програма. То може довести до грешке сегментације у програму. Као резултат, стрнцпи() не осигурава да је одредишни стринг увек завршен нулом, што га чини ризичним кодом за програм који пишемо.
  • Ова функција не успева да провери преливање, тако да ако покушамо да копирамо изворни стринг на одредиште које је мање величине од извора, добићемо грешку и недефинисано понашање.

Закључак

Да бисмо копирали податке из једног низа у други, користимо стрнцпи() у Ц++ који је уграђена функција у <стринг.х> датотека заглавља. У овом чланку смо расправљали о синтакси и раду Ц++-а стрнцпи функција са примером. Такође смо истакли нека питања због којих се стрнцпи функција може учинити наш код ризичним.