該錯誤是由於要傳遞一個錯誤的strcat()
的事實。看看strcat()
的原型:
char *strcat(char *dest, const char *src);
但是你通過char
作爲第二個參數,這顯然是錯誤的。
改爲使用snprintf()
。
char str[1024] = "Hello World";
char tmp = '.';
size_t len = strlen(str);
snprintf(str + len, sizeof str - len, "%c", tmp);
作爲評論由OP:
That was just a example with Hello World to describe the Problem. It must be empty as first in my real program. Program will fill it later. The problem just contains to add a char/int to an char Array
在這種情況下,snprintf()
可以很容易地處理它爲 「追加」 的整數類型爲char緩衝器太。 snprintf()
的優點在於,將各種類型的數據連接到char緩衝區更加靈活。
例如來連接一個字符串,字符和一個int:
char str[1024];
ch tmp = '.';
int i = 5;
// Fill str here
snprintf(str + len, sizeof str - len, "%c%d", str, tmp, i);
小號tr包含沒有字符串,只是大小聲明嘿嘿 –
可能重複[我怎麼strcat一個字符數組字符在c + +](http://stackoverflow.com/questions/27522984/how-can-i-strcat-one- character-to-array-character-in-c) – MikeCAT
這只是用Hello World來描述問題的一個例子。它在我的真實程序中必須是空的。程序將在稍後填寫。問題只是添加一個char/int到char數組 – missjohanna