天天看点

C++ int和char互转,int和string互转,char和string互转int char互转int string 互转char string 互转

因为在写项目或者刷OJ时总是碰到这类问题,所以这次统一处理一下

我不会列出所有的方法,只会列出自己认为最方便,最好用的方法

int char互转

int,char的相互转换和ASCII有关,这里不具体解释

int 转 char

int ia=9;
char ca=9+'0'; //ca=='9'
           

char 转 int

char ca='9';
int ia=ca-'0'; //ia==9

           

int string 互转

VS2010中to_string()的函数有BUG,string str=to_string(123)会报错

下面我会写微软建议的替代方案

int 转 string

int ia=123;
string sa=to_string(static_cast<long long>(ia)) //sa=="123"
           

貌似只有VS2010有这种BUG,如果碰巧你和我一样用着VS2010,但又不想每次int转string都这么麻烦,可以自己写个函数封装一下

std::string PlusOperation::intToString(int x)
{
	return std::to_string(static_cast<long long>(x));
}
           

string 转 int

string sa="123";
int ia=stoi(sa);//ia==123
           

char string 互转

string转char

string通过下标访问就是char型

string str="abc";
char c=str[1]; //c=='b'
           

char转string

单个字符没办法转变为string,必须是字符数组

char c[3]={'a','b','c'};
string str(c,3); //str=="abc";
           

注意,在通过字符数组构造string的时候,要指定string的长度,不然会出现乱码!

继续阅读