Copy a string: Difference between revisions

m
No edit summary
m (→‎{{header|C}}: lang tag)
Line 65:
=={{header|C}}==
===Using strdup===
<lang c> const char* src = "Hello";
char* dst = strdup(src);</lang>
 
===Using malloc/strcpy===
<lang c> const char* src = "Hello";
int len = strlen(src);
char* dst = (char*)malloc(len+1);
strcpy(dst, src);</lang>
 
===Using malloc/strncpy===
<lang c> const char* src = "Hello";
int len = strlen(src);
char* dst = (char*)malloc(len+1);
strncpy(dst, src, len+1); dst[len] = 0;</lang>
 
===Using static buffer===
<lang c> const char* src= "Hello";
static char dst[80];
strncpy(dst, src, 80);
dst[79] = 0;</lang>
 
=== Creating another reference to an existing string ===
<lang c> const char* src = "Hello";
const char* dst;
dst = src; /* now dst refers top the same string as src */</lang>
 
The same works for mutable strings, e.g.
<lang c> char[] src = "Hello";
char* dst;
dst = src;
dst[1] = 'a'; // Now src contains "Hallo"</lang>
 
 
=={{header|C++}}==