记录一下这两者之间的转换,经常忘记
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);
学无止境,加油!