C++లో strncpy() ఫంక్షన్ అంటే ఏమిటి
strncpy() ఫంక్షన్ అనేది అంతర్నిర్మిత C++ ఫంక్షన్, ఇది ఒక స్ట్రింగ్ నుండి మరొక స్ట్రింగ్కు నిర్ణీత మొత్తంలో అక్షరాలను కాపీ చేయడానికి ఉపయోగించబడుతుంది. ఫంక్షన్కు మూడు పారామీటర్లు అవసరం: అక్షరాలను ఉంచే గమ్యం స్ట్రింగ్, అక్షరాలను అందించే సోర్స్ స్ట్రింగ్ మరియు కాపీ చేయడానికి అక్షరాల సంఖ్య. మూలం స్ట్రింగ్ పేర్కొన్న అక్షరాల సంఖ్య కంటే తక్కువగా ఉంటే, గమ్యం స్ట్రింగ్ మిగిలిన పొడవుకు శూన్య అక్షరాలతో ప్యాడ్ చేయబడుతుంది.
strncpy() ఫంక్షన్ యొక్క ప్రోటోటైప్ క్రింద ఇవ్వబడింది.
చార్ * strncpy ( చార్ * చేతులు స్థిరంగా చార్ * src, పరిమాణం_t లెక్కించండి ) ;
C++ strncpy() యొక్క పారామితులు ఏమిటి
యొక్క అన్ని పారామితులు strncpy() ఫంక్షన్ క్రింద వివరించబడింది.
- చెయ్యి: కంటెంట్ ఉన్న గమ్య శ్రేణికి పాయింటర్
- src: కంటెంట్ ఉన్న మూల శ్రేణికి పాయింటర్
- గణన: మూలాధారం నుండి గమ్యస్థానానికి అత్యధిక సంఖ్యలో అక్షరాలు కాపీ చేయబడవచ్చు.
C++లో strncpy() ఫంక్షన్ ఎలా పని చేస్తుంది
strncpy() ఫంక్షన్ మూడు వాదనలను అంగీకరిస్తుంది: dest, src, మరియు లెక్కించండి . ఉంటే అది తనిఖీ చేస్తుంది src స్ట్రింగ్ శూన్యమైనది మరియు అవును అయితే, ఇది పేర్కొన్న అక్షరాల సంఖ్యను నుండి కాపీ చేస్తుంది src కు స్ట్రింగ్ ప్రారంభించండి స్ట్రింగ్. గణన పొడవు కంటే తక్కువగా ఉంటే src స్ట్రింగ్, మొదటి గణన అక్షరాలు బదిలీ చేయబడ్డాయి ప్రారంభించండి స్ట్రింగ్ మరియు అవి శూన్యం కాదు. గణన పొడవును మించి ఉంటే src , నుండి అన్ని పాత్రలు src కు కాపీ చేయబడతాయి ప్రారంభించండి , మరియు అన్ని కౌంట్ అక్షరాలు వ్రాయబడే వరకు అదనపు ముగింపు శూన్య అక్షరాలు చేర్చబడ్డాయి.
ఇవ్వబడిన ఉదాహరణ C++ యొక్క పనిని వివరిస్తుంది strncpy() ఫంక్షన్.
#include
#include
ఉపయోగించి నేమ్స్పేస్ std ;
int ప్రధాన ( )
{
చార్ src_str [ ] = 'నేను strncpy కోసం ఒక కోడ్ వ్రాస్తున్నాను' ;
చార్ dest_str [ 60 ] ;
strncpy ( dest_str,src_str, strlen ( src_str ) ) ;
కోట్ << dest_str << ' \n ' ;
తిరిగి 0 ;
}
ఈ కార్యక్రమంలో, మేము ఉపయోగించాము
ది అవుట్పుట్ కార్యక్రమం యొక్క క్రింద చూపవచ్చు.
C++లో strncpy()ని ఉపయోగించడంలో సమస్యలు ఏమిటి
- గమ్యస్థాన శ్రేణిలో శూన్య అక్షరం లేకుంటే లేదా స్ట్రింగ్ శూన్యమైనది కానట్లయితే, మా ప్రోగ్రామ్ లేదా కోడ్ త్వరగా లేదా తర్వాత సమస్యలను ఎదుర్కోవచ్చు. C++లో శూన్యత లేని స్ట్రింగ్ ప్రమాదకర కోడ్గా మారింది, అది ప్రోగ్రామ్ అమలు సమయంలో ఏ క్షణంలోనైనా విచ్ఛిన్నం కావచ్చు. ఇది ప్రోగ్రామ్లో విభజన లోపానికి దారితీయవచ్చు. ఫలితంగా, strncpy() గమ్యం స్ట్రింగ్ ఎల్లప్పుడూ శూన్యం అని నిర్ధారించదు, ఇది మేము వ్రాసే ప్రోగ్రామ్కు ప్రమాదకర కోడ్గా మారుతుంది.
- ఈ ఫంక్షన్ ఓవర్ఫ్లో కోసం తనిఖీ చేయడంలో విఫలమవుతుంది, కాబట్టి మేము సోర్స్ స్ట్రింగ్ను సోర్స్ కంటే చిన్న పరిమాణంలో ఉన్న గమ్యస్థానానికి కాపీ చేయడానికి ప్రయత్నిస్తే, మనకు లోపం మరియు నిర్వచించబడని ప్రవర్తన వస్తుంది.
ముగింపు
డేటాను ఒక స్ట్రింగ్ నుండి మరొక స్ట్రింగ్కి కాపీ చేయడానికి, మేము ఉపయోగిస్తాము strncpy() C++లో ఇది అంతర్నిర్మిత ఫంక్షన్