我在互联网上尝试了很多方法向char*添加字符,但是似乎没有一种方法可以成功。以下是我不完整的解决方案:
char* appendCharToCharArray(char * array, char a)
{
char* ret = "";
if (array!="")
{
char * ret = new char[strlen(array) + 1 + 1]; // + 1 char + 1 for null;
strcpy(ret,array);
}
else
{
ret = new char[2];
strcpy(ret,array);
}
ret[strlen(array)] = a; // (1)
ret[strlen(array)+1] = '\0';
return ret;
}
只有当传递的数组是""(内部为空)时,这才有效。否则就没有帮助(并在(1)处出错)。你们能帮我吗?非常感谢!
char
追加到char*
上;它们是两种非常不同的类型。但你可以将一个char
追加到char*
指向的 数组 中。 - Pete Becker