C++求把一个字符转换成string方法.

 我来答
爱教育爱学习
高粉答主

2019-10-23 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112742

向TA提问 私信TA
展开全部

#include"stdio.h"

#include<stdlib.h>

#include<string.h>

voidmain()

{

intn=123456789;

charstr[20];

itoa(n,str,10);

printf("%s\n",str);

}

扩展资料

int转string的方式

1、采用标准库中的to_string函数。

inti=12;

cout<<std::to_string(i)<<endl;

不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。

2、采用sstream中定义的字符串流对象来实现。

ostringstreamos;//构造一个输出字符串流,流内容为空;

inti=12;

os<<i;//向输出字符串流中输出int整数i的内容;

cout<<os.str()<<endl;//利用字符串流的str函数获取流中的内容;

字符串流对象的str函数对于istringstream和ostringstream都适用,都可以获取流中的内容。

风若远去何人留
推荐于2018-02-27 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450135
专业C/C++软件开发

向TA提问 私信TA
展开全部

单个字符无法直接转换为string。

不过间接的方式有以下两种:

1 先将字符写在字符数组中,再用字符数组赋值给string.

参考代码如下:

#include <iostream>
#include <string>
using namespace std;
int main()
{
char ch = 'X';
string s ;
char s1[2] = {ch, 0};//定义一个字符数组,即传统的字符串,使其值为单个字符加上字符串结束符\0。
s = s1;//将字符赋值给string对象。
cout << s << endl;
}

2 先将string对象初始化为带有一个有效字符的值,然后将有效字符替换为需要的字符值。

参考代码如下:

#include <iostream>
#include <string>
using namespace std;
int main()
{
char ch = 'X';
string s="a" ;//初始化一个单元。这里的"a"只是要分配一个有效的空间,具体值并不重要。"b", "C", " "均是同样的效果。
s[0] = ch;//将需要的字符替换进string对象。
cout << s << endl;
}


方法有很多种,以上是两种代码实现简单,操作高效的样例。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
濮方雅BX
推荐于2017-11-25 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2477万
展开全部
字符串转换成string方法:
char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基础上添加可以用str += ch;

单个字符char没有直接转化方法,可以通过字符数组再转化,如下所示:
char c = 'a' ;
char tmp[1];
tmp[0] = c ;
string result(tmp,1); //要用第二个参数,因为这说明string长度是1, 不然会产生乱码
追问
string result(tmp,1);不懂什么意思啊。
追答
看注释
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Brooding
2019-02-23 · TA获得超过488个赞
知道小有建树答主
回答量:148
采纳率:50%
帮助的人:20.2万
展开全部

讲一个楼上没有说到的方法,使用append()函数

#include <iostream>
#include <string>
using namespace std;

int main()
{
char ch='x';
string str="";//空字符串
str.append(1,ch);//1表示向末尾添加字符的数量是1,即向末尾添加一个ch字符
cout<<str<<endl; 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglixin1001
2012-10-29 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:892万
展开全部
#include<iostream>
#include<string>
using namespace std;
int main()
{
char ch = 'x';
string str(1, ch); // 使用构造函数string(n, 'c')将字符串初始化为n个'c'字符的副本。
cout << str << endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式