logo

strdup() ir strndup() funkcijos C/C++

The strdup () ir strndup () funkcijos naudojamos eilutės kopijavimui.
strdup() :
Sintaksė: char *strdup(const char *s);
Ši funkcija grąžina žymeklį į nulinio pabaigos baitų eilutę, kuri yra eilutės, į kurią nukreipta s . Gauta atmintis atliekama dinamiškai naudojant malloc, todėl ją galima atlaisvinti naudojant free() .
Jis grąžina žymeklį į pasikartojančią eilutę s .
Žemiau yra C įgyvendinimas, rodantis strdup () funkcijos naudojimą C:

C




Pete'o Davidsono pilietybė





// C program to demonstrate strdup()> #include> #include> int> main()> {> >char> source[] =>'GeeksForGeeks'>;> >// A copy of source is created dynamically> >// and pointer to copy is returned.> >char>* target = strdup(source);> >printf>(>'%s'>, target);> >return> 0;> }>



skaityti iš csv java
>

>

Išvestis:

GeeksForGeeks>

strndup() :
sintaksė: char *strndup(const char *s, size_t n);
Ši funkcija panaši į strdup(), bet daugiausia kopijuoja n baitų.
Pastaba : Jei s yra ilgesnis nei n, tada nukopijuojami tik n baitų, o pabaigoje pridedamas NULL (' ').
Žemiau yra C įgyvendinimas, rodantis funkcijos strndup () naudojimą C:

C


java filtro srautas



// C program to demonstrate strndup()> #include> #include> int> main()> {> >char> source[] =>'GeeksForGeeks'>;> >// 5 bytes of source are copied to a new memory> >// allocated dynamically and pointer to copied> >// memory is returned.> >char>* target = strndup(source, 5);> >printf>(>'%s'>, target);> >return> 0;> }>

>

udp protokolas
>

Išvestis:

Geeks>

Pažiūrėkime skirtumus lentelės pavidalu -:

strdup () strndup ()
1. Jis naudojamas norint grąžinti žymeklį į nulinę baitų eilutę, Jis naudojamas norint grąžinti žymeklį į nulinę baitų eilutę
2. Jo sintaksė yra:
char * strdup( const char * str1 );

Jo sintaksė yra:

char *strndup( const char *str, dydis_t dydis );

sklearn tikslumo balas
3. Jis apibrėžtas antraštės failą Jis apibrėžtas antraštės failą
4. Norint pasikartoti, reikia tik vieno parametro, nukreipiančio į nulinę baitų eilutę

Tam reikia dviejų parametrų, kurie yra:
1.nukreipkite žymeklį į nulinio pabaigos baitų eilutę, kurią norite kopijuoti

2. maksimalus baitų skaičius, kurį reikia nukopijuoti iš str

5. Jo grąžinama reikšmė yra rodyklė į naujai paskirtą eilutę. Jei įvyko klaida, jis grąžina nulinę rodyklę.

Nuoroda: Linux vyras (7)