string与char数组/数据类型与string的转换

#include<bits/stdc++.h>
#include<typeinfo>
#define MAX 110
using namespace std;
long long n,m,a[MAX][MAX];
long long dp[MAX][MAX];

int main()
{
	//char数组转string
	char c1[]="asdf";
	string s1(c1);//法一 
	string s2;//法二 
	s2=c1;
	cout<<s1<<" "<<s2<<endl;
	 
	 //string转char数组 
	string s3="I love you";
	char c2[MAX];
	strcpy(c2,s3.c_str());//法一 :使用strcpy() 另:c_str是一个内容为字符串指向字符数组的临时的const指针 
	char c3[MAX];
	s3.copy(c3,s3.length()); //法二:返回值是下一个位置的下标 
	c3[s3.length()]='\0';//char数组的最后一个字符是'\0'  不存输出会出错 
	cout<<c2<<" "<<c3<<endl;
	
	//int/double/long...转string
	int a1=100;
	double d1=1261.12;
	cout<<"hello "+to_string(a1)+" "+to_string(d1)<<endl;//法一:使用to_string()
	stringstream s4;
	s4<<a1;
	cout<<"world "+s4.str()<<endl;//法二:使用stringstream字符流 
	
	//string转int/double/long...
	string s5="1234.7";
	int a2=atoi(s5.c_str());//法一:使用标准库函数atoi,同理有浮点型atof(),long型atol()... 
	cout<<a2<<" ";
	istringstream is(s5);//法二:构造输入字符串流 
	is>>a2;
	cout<<a2<<endl; 
	
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值