(C/C++) string / *char / int 基本轉換
網路上有許 string / *char / integer 基本轉換方式
string 與 *char 互相轉換的方法
1 /* string to *char */ 2 string ssbuf1 = "string temp"; 3 char *cc_buf1 = (char*)ssbuf1.c_str(); 4 cout << cc_buf1 << endl; 5 6 /* *char to string */ 7 char *cc_buf2 = "string data"; 8 string ssbuf2; 9 strcpy((char*)ssbuf2.c_str(), cc_buf2); 10 cout << ssbuf2.c_str() << endl;
int to *char / string
1 /* int to string */ 2 int num1 = 132; 3 string ssbuf3; 4 stringstream ssbuf1_stream; 5 ssbuf1_stream << num1; 6 ssbuf3 = ssbuf1_stream.str(); 7 cout << ssbuf3.c_str() << endl; 8 9 /* int to *char */ 10 int num2 = 123; 11 char *cc_buf3 = (char*)malloc(1 * sizeof(char)); 12 _itoa(num2, cc_buf3, 10); 13 cout << cc_buf3 << endl; 14 15 /* int to string */ 16 int num4 = 0x55; 17 string ssbuf4 = to_string(num4); 18 cout << ssbuf4 << endl; 19 20 /* int to hex string */ 21 int num5 = 0x66; 22 string ssbuf5; 23 _itoa(num5, (char*)ssbuf5.c_str(), 16); 24 cout << ssbuf5.c_str() << endl;
*char to int
1 /* *char to int */ 2 char *cc_buf4 = "14"; 3 int num3; 4 num3 = atoi(cc_buf4); 5 cout << num3 << endl;
其中 atoi / _itoa 兩個函數由 stdlib.h 提供是滿常見的轉換方式,另外還有 atof 提供浮點數轉換