1.轉換成char *
string strSTL = "string of STL";
CString strMFC = "string of MFC";
int strINT = 100;
const char * str1;
str1 = strSTL.data();
str1 = strSTL.c_str();
char str2[1024] = "";
strSTL.copy(str2 , strSTL.size() , 0);
*(str2 + strSTL.size()) = '\0';
str1 = strMFC;
sprintf_s(str2 , "%d" , strINT );
2.轉換成STL
char strC[] = "string of C style";
CString strMFC = "string of CString";
int strINT = 100;
string str ;
str = strC;
str = strMFC;
stringstream ss;
ss << strINT;
str = ss.str();
3.轉換成MFC
string strSTL = "string of strSTL";
char strC[] = "string of strC";
int strINT = 100;
CString str;
str = strSTL.c_str();
str = strC;
str.Format("%d" , strINT);
4.轉換成Int
string strSTL = "100";
CString strMFC = "200";
char strC[] = "300'";
int i = 0;
i = atoi(strSTL.c_str());
i = atoi(strMFC);
i = atoi(strC);
5.使用stringstream 可以將任意的轉換成 string
stringstream ss;
ss << anything;
ss.str(); 可以得到string
ss.str("") 可以清除stringstream 的內容
6.將string 轉換成 數字的模版函數
template <class Type> Type stringToNum(const string& str)
{
istringstream iss(str);
Type num;
iss >> num;
return num;
}