相信大家在用string的时候需要用到类型转换,下面是几种常见的转换方式。
// vector<char>, string转换
// vector<char>与string本质上都是STL内部的程序,是可以用insert来转换的
#include <bits/stdc++.h> // c++标准库
using namespace std ;
int main()
{
vector<char> my_vec;
my_vec.push_back('H') ;
my_vec.push_back('e') ;
my_vec.push_back('l') ;
my_vec.push_back('l') ;
my_vec.push_back('o') ;
string s ;
s.insert(s.begin()/*插入的位置*/, my_vec.begin()/*插入对象的开始位置*/, my_vec.end()/*插入对象的结束位置*/) ;
cout << s ;
}
运行效果:
那么char数组呢?也可以直接使用string赋值,string内部已经重载了这个操作(STL棒棒哒!)
// char[], string转换
#include <bits/stdc++.h> // c++标准库
using namespace std ;
int main()
{
char ch[5] ;
ch[0]='H' ;
ch[1]='e' ;
ch[2]='l' ;
ch[3]='l' ;
ch[4]='o' ;
string s ;
s = ch; // 直接赋值
cout << s ;
}
运行效果:
转int也可以
// int, string转换
#include <bits/stdc++.h> // c++标准库
using namespace std ;
void toint(string s)
{
stringstream ss ; // 声明一个流
ss << s ; // 把s“灌进 ”流里面去
int t ;
ss >> t ; // 再把流“倒出 ”到t里面去
cout << t ;
}
int main()
{
string s ;
s = "12345";
toint(s) ;
}
运行效果