c++中,如何把几个char组合成一个string?

#include<iostream>usingnamespacestd;intmain(){chara[2];a[0]='a';a[1]='b';stringb=a;co... #include <iostream>
using namespace std;
int main()
{
char a[2];
a[0]='a';
a[1]='b';
string b=a;
cout<<b<<endl;
system("pause");
return 0;
}
展开
 我来答
超鬼崩盘帝
2015-10-15 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:74.3万
展开全部
#include <stdio.h>
#include <string>
#include <iostream>
int main()
{
char a[]="hahaha";
char b[]="shadiao";
char c[]="woshiniba";

char s[255];//255是固定大小 可以根据a,b,c的大小来new一个固定长度的字符串

sprintf(s,"%s%s%s",a,b,c); //字符串格式化命令,C++中拼接字符串非常有用的代码
std::string str(s); //将char数组构造成string字符串
printf("%s\n",s);
std::cout<<str<<std::endl;
while (1);
return 1;
}
wanglixin1001
2012-11-13 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:878万
展开全部
可以如下构造:
#include <iostream>
using namespace std;
int main()
{
char a[2];
a[0]='a';
a[1]='b';
string b(a, a+2); // 使用一对迭代器a,a+2初始化
// string b(a, 2); // 这样也可以,b被初始化为a所指向数组的前2个元素的副本
cout<<b<<endl;
system("pause");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2012-11-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2834万
展开全部
//采取强制类型转换,以下程序已通过调试
#include <iostream>
#include <string>
using namespace std;
int main()
{
char a[2];
a[0]='a';
a[1]='b';
string b=(string)a;
cout<<b<<endl;
system("pause");
return 0;
}
由于你的字符串溢出 肯定是输出乱码

ab烫?
请按任意键继续. . .
追问
我知道是乱码的,关键是如何改啊。
我有一个笨方法是如下:
char c[3];
c[0]=a[0];
c[1]=a[1];
cout<<c<<endl;这样便得到ab了。只是每次都要赋值很麻烦。
追答
改法 你不懂char数组么?  

char a[2];
a[0]='a';
a[1]='b';

a[2]='\0';
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c2def94b09
2012-11-13
知道答主
回答量:10
采纳率:0%
帮助的人:8.6万
展开全部
#include <iostream>
#include<string>
using namespace std;
int main()
{

char a[3];
a[0]='a';
a[1]='b';
a[2]='\0';
string str(a);
cout<<str<<endl;
system("pause");
return 0;
}
字符数组最后一位要结束符,不然后面输出会成乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大鱿鱼_好吃
2012-11-13
知道答主
回答量:50
采纳率:0%
帮助的人:20.3万
展开全部
#include <iostream>
using namespace std;
int main()
{
char a[2];
a[0]='a';
a[1]='b';
string b=a[1]+a[2];
cout<<b<<endl;
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式