主题:这样能使字符串相加吗??
773950918
[专家分:0] 发布于 2010-06-18 13:38:00
#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个回复)
沙发
苍茫宇宙 [专家分:320] 发布于 2010-06-18 14:02:00
可以用字符串拼接函数strcat
用 法: char *strcat(char *destin, char *source);
板凳
773950918 [专家分:0] 发布于 2010-06-18 14:05:00
我不想用这样!!今天看了不同类型相加,我想看字符能不能也相加!!?
3 楼
yxqyrh [专家分:1070] 发布于 2010-06-18 15:14:00
不同类型的那是数值,和字符串不可能一样的
4 楼
alweeq86 [专家分:1170] 发布于 2010-06-18 15:23:00
你可以想办法把+号重载 让他去字符串有效
5 楼
苍茫宇宙 [专家分:320] 发布于 2010-06-18 15:29:00
你这样直接加是不行的,指针是不能直接相加的。
如果是单个字符的话,那么相加运算是其ASCII码相加,是可以的。
6 楼
773950918 [专家分:0] 发布于 2010-06-18 16:52:00
#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 楼
yxqyrh [专家分:1070] 发布于 2010-06-18 17:29:00
class A{
};
A a;
A b;
a+b
如果你不重载 +操作符,a+b就是非法的,如果你写一个函数重载+法操作符,a+b就可以得到你想要的结果,具体的你可以看c++ primer
8 楼
hobbily [专家分:20] 发布于 2010-06-18 19:14:00
添加头文件
#include<string>
using std::string;
string stra,strb;
stra = "......"
strb = "......"
return stra+strb;
这样应该可以
9 楼
雪光风剑 [专家分:27190] 发布于 2010-06-18 20:15:00
std::string提供了重载过的+运算符,可以让字符串相连接
指针和数组都是不能相加的因为归根结底指针和数组名都是地址,地址相加的结果只能是个新地址
10 楼
春上春数 [专家分:90] 发布于 2010-06-20 12:07:00
我只想某一个表区分大不写,别的表不区分,可以实现吗?即细化到表上
我来回复