C++ 字串轉換
阿新 • • 發佈:2018-11-09
標頭檔案
#include <stdio.h>
#include <string>
c_str函式
C++標準庫中的函式,作用是把字串轉變為字元陣列以相容C語言(C語言中沒有string型別)
atoi()
C/C++標準庫中的函式,作用是把字串轉換為數字,裡面傳遞的是C裡面字元陣列,因此,如果是C++字串,需要用c_str()函式進行轉換
類似的還有atof(),atol()
itoa()
C/C++標準庫中的函式,作用是把整形值轉變為字串(C語言中的)。
類似的還有:ltoa(),ultoa()
char陣列轉字串
方法:直接賦值
#include <stdio.h>
#include <string>
using namespace std;
int main(){
const char *x="hello x";
const char y[]="hello y";
string z;
z=x;
printf("z=%s\n",z.c_str());
z=y;
printf("z=%s\n",z.c_str());
return 0;
}
結果為
z=hello x
z=hello y
字串轉為char陣列
方法:使用strcpy函式
char c[20]; string s="1234"; strcpy(c,s.c_str());
char指標轉字串
方法:直接賦值
const char* c_s ="abc";
string s(c_s);
const char*或者char*都可以
char* c_s ="abc";
string s(c_s);
字串轉為char指標
方法一:使用string.data函式
string str="abc";
char *p=str.data();
方法二:使用string.c_str函式
string str="gdfd";
char *p=str.c_str();