其他操作¶
string 转 C-string¶
string 是 C++ 字符串,C-string 是以 '\0' 结尾的字符数组或字符指针。
一、C-string 转 string
// char[] 转 string
char s[] = "hello";
string str = s;
// const char* 转 string
const char* p = "world";
string str = p;
// 直接构造
string str("hello");
二、string 转 C-string
不能直接变成普通 char[],但可以先得到 const char*。
用 c_str()
这样 p 就指向一个 C 风格字符串。
这个是最标准、最常用的写法。
string 转 int/double¶
string - int
// string 转换成 int
string s = "1234";
int x = stoi(s);
// int 转换成 string
int x = 123;
string s = to_string(x);
string - double
// string 转换成 double
string s = "3.14159";
double x = stod(s);
// double 转换成 string
double x = 3.14159;
string s = to_string(x);
C-string 转 int/double¶
C-string - int
// C 风格字符串(C-string)转换成 int
char s[] = "123";
int x = atoi(s);
也可以用 sscanf
char s[] = "123";
int x;
sscanf(s, "%d", &x);
C-string - double
// C 风格字符串(C-string)转换成 double
scanf("%s", s);
double x = atof(s);
也可以用 sscanf
char s[] = "2.75";
double x;
sscanf(s, "%lf", &x);