C對於字符串來說總是很尷尬,但是爲字符串分配一個大小爲256的char數組通常是可以的,並且可以繼續。從意外長度的函數返回字符串?
但是,如果您希望該函數返回一個字符串並且您不知道大小,那麼您會將字符串連接到幾十或幾百次?顯然,這樣的事情是行不通的:
char * my_function(int n, char *string){
if (n < 20) {
return string;
}
else {
char *new_string = "abcdefghijklmnop";
strcat(string, new_string);
return my_function(n--, string);
}
}
因此,如何在C處理?
它通常是好,直到它不提倡使用的256個字符數組,然後它被稱爲一個緩衝區溢出,這是一件壞事。不要依賴這樣的假設,**總是**確保你的字符串符合可用內存。 – Secure 2010-10-03 08:29:34