如何将字符串附加到char?

时间:2010-02-10 03:41:59

标签: c++

如何将字符串附加到char?       的strcat(TOTALRAM,STR); 是我得到但它不支持字符串

4 个答案:

答案 0 :(得分:2)

std :: String有一个名为c_str()的函数,它为你提供了一个指向内部c字符串的常量指针,你可以将它与c函数一起使用。 (但先复制一份)

答案 1 :(得分:2)

在字符串上使用+

std::string newstring = std::string(TotalRam) + str;

如果你想要它作为char[],你需要首先在堆或堆栈上分配内存。之后,strcatsprintf是可能的选项。

答案 2 :(得分:2)

您不能将字符串附加到char,只能将字符串附加到字符串(如果使用C字符串函数,则只能附加char *)。在您的示例中,您必须将(字符串)TotalRam复制到某种类型的字符串中,或​​者是C ++ std :: string,或者使用char [2]来保存它和所需的终止NULL字符。然后你可以使用带有C ++函数的C ++字符串或带有strcat和朋友的char [2]。

答案 3 :(得分:0)

表现,请执行以下操作:

char ministring[2] = {0,0};
// use ministring[0] as your char, fill it in however you like
strcat(ministring,str);

char数组是堆栈分配的,因此速度非常快,第二个值为零的char充当字符串终止符,因此像strcat这样的函数会将其视为'c'字符串。