C++变量类型转换
来源:互联网 发布:windows pe修复引导 编辑:程序博客网 时间:2024/06/05 15:07
1:int转换为CStringView Code
CString str;str.Format("As string: %d", int);
2:double转换为CString
CString str;str.Format("As string: %g", double);
3:string转换为CString
CString strstd::string ss= "Hello,World!";str= ss.c_str();
std::string s("Hello");CString cs(s.c_str());
4:CString转换为string
CString cs("Hello");std::string s((LPCTSTR)cs);//如果是UNICODECString cs ("Hello");// 转换TCHAR string为 LPCSTRCT2CA pszConvertedAnsiString (cs);// 用LPCSTR构造一个stringstd::string strStd (pszConvertedAnsiString);
5:CString转换为double
CString thestring("13.37");double d = atof(thestring).//如果为Unicode编译, 使用_wtof():CString thestring(L"13.37");double d = _wtof(thestring).//同时支持Unicode和非UnicodeCString thestring(_T("13.37"));double d = _tstof(thestring).
6:CString转换为int
int iValue;CString cstrValue;int i;int j = swscanf_s(cstrValue, _T("%d"), &i);if (j != 1){ // 未转换成功 iValue= 0;} else{ //转换成功 iValue= i;}
7:CString转换为char*
CStringA m_szlstfile; const size_t newsizea = (m_szlstfile.GetLength() + 1);char *nstringa = new char[newsizea];strcpy_s(nstringa, newsizea, m_szlstfile);CT2CA pszConvertedAnsiString(m_szlstfile);char *nstringa = pszConvertedAnsiString;//const char *const char *nstringa = m_szlstfile;
8:转载自国外网站的CString转换整理
//UNICODE CString to std::wstring and std::stringCString cstrOrgString = L"SomeString";//Converted Unicode CString to std::wstringstd::wstring wstring(cstrOrgString);//Converted Unicode std::wstring to std::stringstd::string strString;strString.assign(wstring.begin(), wstring.end());//UNICODE CString to std::string using ATL CW2A macrosCString cstrOrgString("SomeString");std::string stdString(CW2A(cstrOrgString.GetString()));//UNICODE CString to std::string and UTF-8 encodedstd::string stdString(CW2A(cstrOrgString.GetString(), CP_UTF8));//Converted from std::string to CString by using CString Constructorstd::string strStdString("SomeString");CString strCString(strStdString.c_str());//Converted from CString to std::string using ANSI variant CStringA to convert to char*; construct from itCString strSomeCstring("SomeString");std::string strStdString(CStringA(strSomeCstring));//Multibyte CStringA string to a char * stringCStringA cstrMyString("SomeString");const size_t newsizea = (cstrMyString.GetLength() + 1);char *nstringa = new char[newsizea];strcpy_s(nstringa, newsizea, cstrMyString);//Convert from CStringW to a char* string. To be safe, we allocate two bytes for each//character in the original string, including the terminating null.CStringW cstrMyString("SomeString");const size_t newsizew = (cstrMyString.GetLength() + 1) * 2;char *nstringw = new char[newsizew];size_t convertedCharsw = 0;wcstombs_s(&convertedCharsw, nstringw, newsizew, cstrMyString, _TRUNCATE);//Convert CStringA to a wchar_t* wide stringCStringA cstrOrgStringA("SomeString");size_t convertedCharsa = 0;wchar_t *wcstring = new wchar_t[newsizea];mbstowcs_s(&convertedCharsa, wcstring, newsizea, cstrOrgStringA, _TRUNCATE);//Convert wide character CStringW string to a wide character wchar_t* string.//To be safe, we allocate two bytes for each character in the original string, including the terminating null.CStringW cstrOrgStringW("SomeString");const size_t newsizew = (cstrOrgStringW.GetLength() + 1) * 2;wchar_t *n2stringw = new wchar_t[newsizew];wcscpy_s(n2stringw, newsizew, cstrOrgStringW);//Convert to a wide character _bstr_t string from a multibyte CStringA string.CStringA cstrOrgStringA("SomeString"); _bstr_t bstrtString(cstrOrgStringA);//Convert to a wide character_bstr_t string from a wide character CStringW string.CStringW cstrOrgStringW("SomeString");_bstr_t bstrtwString(cstrOrgStringW);//Convert to a wide character CComBSTR string from a multibyte character CStringA string.CStringA cstrOrgStringA("SomeString");CComBSTR ccombstr(cstrOrgStringA);//Convert the wide character string to multibyte for printing.CW2A printstr(ccombstr);cout << printstr << endl;//Convert to a wide character CComBSTR string from a wide character CStringW string.CStringW cstrOrgStringW("SomeString");CComBSTR ccombstrw(cstrOrgStringW);//Convert the wide character string for printingCW2A printstrw(ccombstrw);wcout << printstrw << endl;//Convert a multibyte character CStringA to a multibyte version of a basic_string string (std::string).CStringA cstrOrgStringA("SomeString");std::string basicstring(cstrOrgStringA);//Convert a wide character CStringW to a wide character version of a basic_string (std::wstring) string.std::wstring basicstringw(cstrOrgStringW);//Convert a multibyte character CStringA to a System::String.CStringA cstrOrgStringA("SomeString");String ^systemstring = gcnew String(cstrOrgStringA);delete systemstring;//Convert a wide character CStringW to a System::String.CStringW cstrOrgStringW("SomeString");String^systemstringw = gcnew String(cstrOrgStringW);delete systemstringw;
待续..
阅读全文
0 0
- 【Object-C】指针变量强制类型转换
- 【C语言】-变量之间的类型转换
- C语言变量类型隐式转换小陷阱
- 变量的类型转换
- 变量类型的转换
- js变量类型转换
- 转换变量类型
- js变量类型转换
- 变量类型转换
- 变量类型转换
- js变量类型转换
- 变量的类型转换
- 变量类型转换
- php变量类型转换
- 变量类型转换
- C++变量类型转换
- python 变量类型转换
- 变量类型转换
- 双网卡一般情况不能有两个网关 (转)
- Redis系列-2.全局命令和数据结构
- 隐写术之实验吧--小苹果
- C++中Reference与指针(Pointer)的使用对比
- 顺序表用c++实现的例子
- C++变量类型转换
- 微信小程序开发经验总结(三)
- Webpack
- Android Studio代码字体模糊解决方法
- 使用FastJson解析时有关内部类的两个问题
- storm开发流程
- Elasticsearch Java API
- OpenCV利用矩阵实现图像旋转
- C#判断文件夹目录是否为隐藏