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

How to put a string inside a char* variable in c++

本文关键字:char 变量 c++ 字符串      更新时间:2023-10-16

好吧,我将在这里做简要介绍。我有一个变量:

char* String;

和一个功能:

void AddString(char str[])
{
}

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

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

#include <string>
std::string String;
void AddString(std::string str) {
    String += str;
}

如果你真的想通过steam来实现这一点,那么你需要为结果分配一个足够大的数组,复制字符串,并记住在末尾放一个终止符(零值字符)。像strlenstrcpystrcat这样的C库函数可能是有用的。细节留作练习,因为问题是关于C++而不是C.

对于使用C字符串,cstring头文件中有函数。要连接字符串,您需要strcat

使用strcat组合两个字符*

strcat接受两个参数,目标char数组c1和源char数组c2。您需要确保c1足够大,可以容纳c1和c2中的所有字符。

但是,您可以使用c++字符串。+运算符将为您处理此问题。

string s1, s2;
string s3 = s1+s2
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,如其他答案

所示