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

2024-11-28 21:50:10
推荐回答(5个)
回答1:

#include
#include
#include
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<while (1);
return 1;
}

回答2:

可以如下构造:
#include
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< system("pause");
return 0;
}

回答3:

//采取强制类型转换,以下程序已通过调试
#include
#include
using namespace std;
int main()
{
char a[2];
a[0]='姿凳卖a';
a[1]='迹逗b';
string b=(string)a;
cout< system("pause");
return 0;
}
由于你粗慧的字符串溢出 肯定是输出乱码

ab烫?
请按任意键继续. . .

回答4:

#include
#include吵数雀
using namespace std;
int main()
{

char a[3];
a[0]='a'升早;
a[1]='b';
a[2]='\0';
string str(a);
cout< system("pause");
return 0;
}
字符数组最后一位要结束符,不然后面输出会毕晌成乱码

回答5:

#include
using namespace std;
int main()
{
char a[2];
a[0]='a'渣皮誉;
a[1]='b';
string b=a[1]+a[2];
cout<<如段b< system("握洞pause");
return 0;
}