回 帖 发 新 帖 刷新版面

主题:这样能使字符串相加吗??

#include<iostream>
using namespace std;
double str(char *a,char *b)
{     
    return a+b;
}
int main()
{
    char f[10]="dsa";
    char h[10]="dsfa";
    cout<<str(f,h)<<endl;
    return 0;
}
要怎样改??

回复列表 (共11个回复)

沙发

可以用字符串拼接函数strcat
用  法: char *strcat(char *destin, char *source);

板凳


我不想用这样!!今天看了不同类型相加,我想看字符能不能也相加!!?

3 楼

不同类型的那是数值,和字符串不可能一样的

4 楼

你可以想办法把+号重载 让他去字符串有效

5 楼


你这样直接加是不行的,指针是不能直接相加的。

如果是单个字符的话,那么相加运算是其ASCII码相加,是可以的。

6 楼


#include<iostream>
using namespace std;
double str(char a[],char b[])
{     
    return a+b;
}
int main()
{
    char a[10]="dsa";
    char b[10]="dsfa";
    cout<<str(a,b)<<endl;
    return 0;
}
你是说这样重载吗??

7 楼

class A{
};
A a;
A b;
a+b
如果你不重载 +操作符,a+b就是非法的,如果你写一个函数重载+法操作符,a+b就可以得到你想要的结果,具体的你可以看c++ primer

8 楼

添加头文件
#include<string>
using std::string;

string stra,strb;
stra = "......"
strb = "......"
return stra+strb;

这样应该可以

9 楼

std::string提供了重载过的+运算符,可以让字符串相连接
指针和数组都是不能相加的因为归根结底指针和数组名都是地址,地址相加的结果只能是个新地址

10 楼

我只想某一个表区分大不写,别的表不区分,可以实现吗?即细化到表上

我来回复

您尚未登录,请登录后再回复。点此登录或注册