char* String;
和一个功能:
void AddString(char str[])
{
}
我需要在它的末尾添加str到String,例如:
如果String = "ABC"
和str = "123"
在函数AddString String = "ABC123"
之后
我在网上搜索过,但是找不到我需要的东西,有什么帮助吗?
答案 0 :(得分:4)
在C ++中,使用std::string
而不是C风格的字符数组:
#include <string>
std::string String;
void AddString(std::string str) {
String += str;
}
如果你真的想通过steam来做,那么你需要为结果分配足够大的数组,复制字符串,并记住在结束后放置一个终结符(零值字符)。像strlen
,strcpy
和strcat
这样的C库函数可能很有用。细节留作练习,因为问题是关于C ++而不是C。
答案 1 :(得分:3)
对于使用C字符串,您在cstring头文件中有函数。要连接字符串,您需要strcat
答案 2 :(得分:1)
使用strcat组合两个char *
strcat接受两个参数,目标字符串数组c1和源字符数组c2。 你需要确保c1足够大以容纳来自c1和c2的所有char。
但是你可以使用c ++字符串。并且+运算符将为您处理。
string s1, s2;
string s3 = s1+s2
答案 3 :(得分:0)
char* String;
void AddString(char str[])
{
strcat(String , str);
}
/*Also, make sure you have allocated space for String before using AddString*/
String = malloc(25*sizeof(char)); //25 just an example.
此外,因为它标记为C ++
您应该使用std::string
,而不是如其他答案所示