C++ 格式轉化
CString 轉 Int
int nVar;
CString strVar = _T("1234");
#indef _UNICODE
nVar = _wtoi(strVar);
#else
nVar = atoi(strVar);
#endif
CString 轉 double
double dVar;
CString strVar = _T("3.1415926");
dVar = _ttoff(strVar);
CString 轉 _int64(long long)
_int64 lId;
CString strVar = _("6672042480898048");
#indef _UNICODE
lId = _wtoi64(strVar);
#else
lId = atoi64(strVar);
#endif
Int 轉 CString
CString strVar;
int nVar = 1234;
strVar.Format(_T("%d"), nVar);
double 轉 CString
CString strVar;
double dVar = 3.1415926;
strVar.Format(_T("%f"), dVar);
std::string 轉 int
方式1:
std::string str = "1234";
int nVar = atoi(str.c_str());
方式2:
std::string str = "1234";
char * stopString;
long l = strtol(str.c_str(), &stopString, 10); //10表示十進制
std::string 轉 double
方式1:
std::string str = "3.1415926";
double dVar = atof(str.c_str());
方式2:
std::string str = "3.1415926";
double dVar = strtod(str.c_str(), NULL);
CString 轉 std::string
CString strVar = _T("Hello");
std::string str;
#ifdef _UNICODE
USES_CONVERSION;
str = W2A(strVar);
#else
str = strVar;
#endif
std::string 轉 CString
CString strVar;
std::string str = "Hello";
#ifdef _UNICODE
USES_CONVERSION;
strVar= A2W(str.c_str());
#else
strVar= str;
#endif
std::string 轉 char*
方式1:
std::string str = "Hello";
const char *p = str.data(); // char *p = (char *)str.data();
方式2:
std::string str = "Hello";
const char *p = str.c_str();
char * 轉 std::string
std::string str;
char *p = "Hello";
str = p;
Int 轉 char[]
char str[64];
sprintf_s(str, "%d", 16);
double 轉 char[]
char str[64];
sprintf_s(str, "%.3f", 3.1415926);
char[] 轉 std::string —— 直接賦值。