如何将字符串附加到char? 的strcat(TOTALRAM,STR); 是我得到但它不支持字符串
答案 0 :(得分:2)
std :: String有一个名为c_str()的函数,它为你提供了一个指向内部c字符串的常量指针,你可以将它与c函数一起使用。 (但先复制一份)
答案 1 :(得分:2)
在字符串上使用+
:
std::string newstring = std::string(TotalRam) + str;
如果你想要它作为char[]
,你需要首先在堆或堆栈上分配内存。之后,strcat
或sprintf
是可能的选项。
答案 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'字符串。