-2

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

char* String;

和一个功能:

void AddString(char str[])
{

}

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

4

4 回答 4

4

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

#include <string>

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

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

于 2013-09-04T16:42:44.763 回答
3

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

于 2013-09-04T16:43:52.870 回答
1

使用 strcat 组合两个 char*

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

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

string s1, s2;
string s3 = s1+s2
于 2013-09-04T16:41:17.967 回答
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如其他答案所示,您应该改用

于 2013-09-04T17:02:53.340 回答