C++像Java那样,实现string和int相连接

来源:百度知道 编辑:UC知道 时间:2024/06/25 07:24:58
例如有段程序:
int a=1;
string name="Hello";
string res;
res=name+a;
cout<<res<<endl;
我的期望是,程序能够输出:Hello1
可是当编译到 res=name+a; 时,编译器报错!
请问给位大牛,如何才能实现这样的功能??
是这样的,我现在就希望 res的最后值为Hello1,也就是要像java那样,name+a=Hello1,可是在C++里却不行了,很是郁闷。。。。。

操作符重载可以实现

先把a用itoa转成字符;
再用字符串连接函数把name和a转换后的字符连接起来;

int a=1;
char name[20]="Hello";
char str[4];
itoa(a, str, 10);
strcat(name, str);
cout<<name<<endl;

不同类型时间是不可以做运算啊。。。

如果你只是想得到输出,并不想吧hello和1连接起来,直接把两个分别输出就行了。

cout << name << a << endl;

可以用sprintf函数。

sprintf (res, "%s%d", name, a);

+a.ToString()
.net里是可以怎么写的
要不楼主自己写个函数转化下?

利用一个转换函数

手动转换? 像 String.valueOf(int) ?