c++ string, vector<char>与char及其他类型互换

相信大家在用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) ;
}

运行效果

运行效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值