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: 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)