CSting,int,string,char*之间的转换 今天药忘吃喽~ 2022-08-12 12:00 142阅读 0赞 【string转CString】 CString.format("%s", string.c\_str()); 【CString转string】 string s(CString.GetBuffer()); GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 【string转char\*】 char \*p = string.c\_str(); 另外,string转char\[\] string aa("aaa"); char \*c=aa.c\_str(); string mngName; char t\[200\]; memset(t,0,200); strcpy(t,mngName.c\_str()); 标准C里没有string,char \*==char \[\]==string 【char\*转string】 string s(char \*); 【string转int】 std::string str = "123"; int n = atoi(str.c\_str()); 【int转string】 int n = 0; std::stringstream ss; std::string str; ss<<n; ss>>str; 【CString转char\*】 CString strtest="wwwwttttttt"; charpoint=strtest.GetBuffer(strtest.GetLength()); CString转换 char\[100\] char a\[100\]; CString str("aaaaaa"); strncpy(a,(LPCTSTR)str,sizeof(a)); CString str="aaa"; char\* ch; ch=(char\*)(LPCTSTR)str; 【char\*转CString】 CString.format("%s", char\*); CString strtest; char \* charpoint; charpoint="give string a value"; strtest=charpoint; //直接赋值 【CString转int】 将字符转换为整数,可以使用atoi、\_atoi64或atol。 而将数字转换为CString变量,可以使用CString的Format函数。如 CString s; int i = 64; s.Format("%d", i) Format函数的功能很强,值得你研究一下。 【int转CString】 【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转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(); \}
还没有评论,来说两句吧...