De strdup() og strndup() funksjoner brukes til å duplisere en streng.
strdup():
Syntaks: char *strdup(konst char *s);
Denne funksjonen returnerer en peker til en null-terminert byte-streng, som er et duplikat av strengen pekt på av s . Minnet som oppnås gjøres dynamisk ved å bruke malloc, og det kan derfor frigjøres ved å bruke free() .
Den returnerer en peker til den dupliserte strengen s .
Nedenfor er C-implementeringen for å vise bruken av strdup()-funksjonen i C:
C
// 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;> }> |
onclick javascript
>
>
Produksjon:
GeeksForGeeks>
strndup():
syntaks: char *strndup(konst char *s, størrelse_t n);
Denne funksjonen ligner på strdup(), men kopierer på det meste n bytes.
Merk : Hvis s er lengre enn n, kopieres bare n byte, og en NULL (' ') legges til på slutten.
Nedenfor er C-implementeringen for å vise bruken av strndup()-funksjonen i C:
C
arrayliste metoder
// 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;> }> |
>
dynamisk array i java
>
Produksjon:
Geeks>
La oss se forskjellene i en tabellform -:
| strdup() | strndup() | |
| 1. | Den brukes til å returnere en peker til en nullterminert bytestreng, | Den brukes til å returnere en peker til en nullterminert bytestreng |
| 2. | Syntaksen er -: char * strdup( const char *str1 ); | Syntaksen er -: char *strndup( const char *str, size_t size ); |
| 3. | Det er definert i header-fil | Det er definert i header-fil |
| 4. | Det tar bare én parameter som er pekeren til den nullterminerte bytestrengen for å duplisere | Det krever to parametere som er -: 2. maks antall byte å kopiere fra str |
| 5. | Returverdien er pekeren til den nylig tildelte strengen. | Den returnerer en null-peker hvis det oppstod en feil. |
Henvisning: Linux mann (7)