好吧,我将在这里简要介绍一下。我有这个变量:
char* String;
和一个功能:
void AddString(char str[])
{
}
我需要在它的末尾添加 str 到 String 例如:如果String = "ABC"
和str = "123"
之后的函数 AddStringString = "ABC123"
我搜索了整个网络,但我找不到我需要的东西,有什么帮助吗?
在 C++ 中,使用std::string
而不是 C 样式的字符数组:
#include <string>
std::string String;
void AddString(std::string str) {
String += str;
}
如果你真的想通过steam来做到这一点,那么你需要为结果分配一个足够大的数组,将字符串复制进去,并记住在末尾放置一个终止符(零值字符)。C 库函数,如strlen
,strcpy
并且strcat
可能很有用。细节留作练习,因为问题是关于 C++ 而不是 C。
对于使用 C 字符串,您在 cstring 头文件中有函数。要连接字符串,你有strcat
使用 strcat 组合两个 char*
strcat 有两个参数,目标字符数组 c1 和源字符数组 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
如其他答案所示,您应该改用