C++中char[]与string以及数值型的相互转换

记录一下这两者之间的转换,经常忘记

1. String转Char[]

	char buf[10];
	string str("ABCDEFG");
	strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);
	//方式2:
	char buf[10];
	string str("ABCDEFG");
	length = str.copy(buf, 9);
	buf[length] = '\0';

2. Char[]转String

假设c字符串定义为char ch[]=“hello world!”;

//1.向构造函数传入c字符串创建string对象:

string str(ch);

//2.使用拷贝构造函数创建string对象:

string str = ch;

//3.对已有的string对象调用string类内部定义的赋值运算符:

string str;

str = ch;

前两种类似,但和第三种有较大区别,前两种是运用构造函数直接创建一个内容与c字符串一致的string对象;第三种是c++标准库编写的string类的内部重载了赋值运算符,使之能够以c字符串作为右操作数对string对象进行赋值,使string对象的内容与c字符串一致。

3. int转string

#include<string>
//利用to_string函数。
int i = 5;
string str = to_string(i);

4.字符串转int

#include<stdlib.h>
char  ch[] = "256";
int  num = atoi(ch);

学无止境,加油!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值