表达式必须具有整数或未整合的枚举类型

时间:2014-03-30 17:27:49

标签: c++

是否可以将两个char const*参数相加? 代码看起来应该像这样。我需要cchar const,如ab。如果有人知道怎么做,请帮帮我:) 提前致谢

char const *a = "something";
char const *b = " more";
char const *c = a + b;

2 个答案:

答案 0 :(得分:7)

如果您希望字符串像其他语言的对象一样工作,请使用std::string

std::string a = "something";
std::string b = " more";
std::string c = a + b;

如果您需要将结果字符串传递给期望const char *的字符串,则可以在字符串上调用c_str()函数。

答案 1 :(得分:0)

您应该有一个char数组来创建连接结果:

char* result; 
result = static_cast<char*>( calloc ( strlen( a) + strlen( b) + 1, 
                                                             sizeof( char)));
strcpy( result, a); // copy string a into the result
strcat( result, b); // append b to the result

但是在C ++中你应该使用std::string

std::string a = "something";
std::string b = " more";

std::string result = a + b;