如何在c ++中将字符串放在char *变量中

时间:2013-09-04 16:40:04

标签: c++ string char add

好吧,我会在这里简短一点。 我有这个变量:

char* String;

和一个功能:

void AddString(char str[])
{

}

我需要在它的末尾添加str到String,例如: 如果String = "ABC"str = "123" 在函数AddString String = "ABC123"之后 我在网上搜索过,但是找不到我需要的东西,有什么帮助吗?

4 个答案:

答案 0 :(得分:4)

在C ++中,使用std::string而不是C风格的字符数组:

#include <string>

std::string String;
void AddString(std::string str) {
    String += str;
}

如果你真的想通过steam来做,那么你需要为结果分配足够大的数组,复制字符串,并记住在结束后放置一个终结符(零值字符)。像strlenstrcpystrcat这样的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,而不是如其他答案所示