C++ 中int, char, string, CString 互转

转到CString型


//int -> CString
CString.format(”%d”, int);

//string -> CString
CString.format(”%s”, string.c_str());

//char -> CString
//方法1.
CString.format(”%s”, char*);
//方法2.
char * charpoint = ”give string a value”;
CString strtest=charpoint;

转到string型


//char -> string
string s(char *);    //只能初始化,在不是初始化的地方最好还是用assign().

//CString -> string
string s(CString.GetBuffer());    //GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.

//int -> string
int value = 123;
string str;
//方法1
char buf[MAX];
sprintf(buf, "%d", value);
str = buf;
//方法2
stringstream ss;
ss << value;
ss >> str;
//方法3
ostringstream os;
os << value;
str = os.str();

转到char型


//string -> char *
char *p = string.c_str();

//cstring -> char *
CString strtest;
//方法1
char *charpoint=strtest.GetBuffer(strtest.GetLength());
//方法2
char a[100];
strncpy(a, (LPCTSTR)strtest, sizeof(a));

//int -> char
int number = 123456;
char string[25];
//方法1
itoa(number, string, 10); //按十进制转换
//方法2
sprintf(string, "%d", number);

转到int型


//char -> int
char* buffer = "123";
int n = atoi(buffer);

//string -> int
string str = "123";
int n = atoi(str.c_str());

//CString -> int
CString ss=”1212.12″;
int n = atoi(ss);
原文地址:https://www.cnblogs.com/liuyunfeifei/p/3077846.html