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

如题所述

#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都适用,都可以获取流中的内容。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27

单个字符无法直接转换为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;
}


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

第2个回答  推荐于2017-11-25
字符串转换成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);不懂什么意思啊。

追答

看注释

本回答被提问者和网友采纳
第3个回答  2019-02-23

讲一个楼上没有说到的方法,使用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; 
}

第4个回答  2012-10-29
#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;
}
相似回答