2013-03-20 45 views

回答

2

這正是標準庫函數strcat()(對於「字符串串連」)呢,我想。你應該考慮使用它。

也要小心緩衝區溢出的危險,像這樣的函數(和strcat(),就此而言)本質上是不安全的,因爲它不包含有關可用空間的信息。

0

你真的不能這麼做,反正也不能使用任意字符串。 字符串可以是:

  • 常量(如文字「hello world」)。那些不能修改的字符數組(如char thingie [10])。他們有固定的空間 - 如果你用完了 ,你會得到非常友好的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; 
}