我想如何編寫一個函數,該函數獲取char *並返回一個指向同一個char的指針,但在添加到其末尾的幾個常量字符後。在C函數中獲取字符指針並將字符添加到它
char* addExtension(char* FileName)
{
}
我想如何編寫一個函數,該函數獲取char *並返回一個指向同一個char的指針,但在添加到其末尾的幾個常量字符後。在C函數中獲取字符指針並將字符添加到它
char* addExtension(char* FileName)
{
}
這正是標準庫函數strcat()
(對於「字符串串連」)呢,我想。你應該考慮使用它。
也要小心緩衝區溢出的危險,像這樣的函數(和strcat()
,就此而言)本質上是不安全的,因爲它不包含有關可用空間的信息。
你真的不能這麼做,反正也不能使用任意字符串。 字符串可以是:
Segmentation fault
或更糟。malloc
'd指針 - 它們也有固定的空間量,並且需要爲free
d。您可以複製該字符串並返回一個新字符串,但如果您不照顧舊字符串,則會導致內存泄漏 。示例
char *copycat(char *first, char *second) {
char *result = malloc(strlen(first)+strlen(second)+1);
strcpy(result, first);
strcpy(result+strlen(first), second);
return result;
}
+1爲幽默感@ H2CO3 – 2013-03-20 11:53:01