该错误是由于要传递一个错误的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