c++中經常遇到string,char*,int之間的相互轉化,今天就來整理一下。
以下是轉載並修改的內容:
以下是常用的幾種類型互相之間的轉換 string 轉 int
先轉換為char*,再使用atoi()函數,具體如下
.............................. char* 轉 int #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long long atoq(const char *nptr); ................................................................... int 轉 string 可以使用stringstream類(需要包含<sstream>頭文件) int main() { stringstream ss; int i = 100; string str; ss >> i; ss << str; //這時str中就是字符串"100". retturn 0; } ............................. char* 轉 string string s(char *); 你的只能初始化,在不是初始化的地方最好還是用assign().
tip:也可以通過強制類型轉換,如:
char buf[20]={0};
string s=(string)buf;
但是並不建議采用這種方法
.................................................................. int 轉 char * 在stdlib.h中有個函數itoa() itoa的用法: itoa(i,num,10); i 需要轉換成字符的數字 num 轉換后保存字符的變量 10 轉換數字的基數(進制)10就是說按照10進制轉換數字。 還可以是2,8,16等等你喜歡的進制類型 原形:char *itoa(int value, char* string, int radix); 實例: #include "stdlib.h" #include "stdio.h" main() { int i=1234; char s[5]; itoa(i,s,10); printf("%s",s); getchar(); } .......................................... string 轉 char * char *p = string.c_str(); string aa("aaa"); char *c=aa.c_str(); string mngName; char t[200]; memset(t,0,200); strcpy(t,mngName.c_str()); ..........................................