实例:常用数据类型之间的相互转换
来源:互联网 发布:海康门禁软件 编辑:程序博客网 时间:2024/05/17 02:24
常用的数据类型之间的相互转换,包括:int与CString,double与CString,float与CString,
char* 与CString ,string 与CString ,char 与string ,WCHAR*(BSTR) 与CString,WCHAR*(BSTR) 与char*
//int to CStringCString CMFCDataType::IntConvertCString(const int i){CString strTemp;strTemp.Format(_T("%d"), i);return strTemp;} //CString to intint CMFCDataType::CStringConvertInt(const CString str){int itemp = _wtoi(str);return itemp;} //float to CStringCString CMFCDataType::FloatConvertCString(const float f){CString strTemp;strTemp.Format(_T("%f"), f);return strTemp;} //CString to floatfloat CMFCDataType::CStringConvertFloat(CString str){ float ftemp = _wtof(str);return ftemp;} //double to CStringCString CMFCDataType::DoubleConvertCString(const double d){CString strTemp;strTemp.Format(_T("%f"), d);return strTemp;} //CString to doubledouble CMFCDataType::CStringConvertDouble(const CString str){double dtemp = _wtol(str);return dtemp;} //char* to CStringCString CMFCDataType::LPSTRConvertCString(const char* ch){CString strTemp;strTemp.Format(_T("%s"), ch);return strTemp;} //CString to char*char* CMFCDataType::CStringConvertLPSTR(const CString str){//将CString类转换成char*(LPSTR)类型////方法1 强制转换//LPSTR lpsz =(LPSTR)(LPCTSTR)str;//return lpsz; //方法二 使用strcpyLPTSTR lpsz = new TCHAR[str.GetLength()+1];_tcscpy(lpsz, str);LPSTR lpst=(LPSTR)lpsz;return lpst; } //string to CStringCString CMFCDataType::StringConvertCString(const std::string str){CString strTemp;strTemp = str.c_str();return strTemp;}
示例:
std::string CMFCDataType::CStringConvertstring(CString str){//Method Onestd::string strstring = CT2A(str.GetBuffer());//GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.str.ReleaseBuffer();return strstring; ////Method Two//std::string strstring( CW2A( str.GetString() ) ); //return strstring; ////Method Three//CT2CA pszstrtemp(str); //std::string strstring(pszstrtemp);//return strstring; ////Method Four//std::wstring ws(str); //std::string strstring; //strstring.assign(ws.begin(), ws.end());//return strstring;} //char to std::stringstd::string CMFCDataType::CharConvertstring(const char str){std::string stringtemp(&str);return stringtemp;} //std::string to charconst char* CMFCDataType::StringConvertchar(const std::string str){//方法一const char* chtemp1 = str.c_str();//方法二const char* chtemp2 = str.data(); /*printf("%s%s",chtemp1,chtemp2);*/ return chtemp1;} //WCHAR*(BSTR) to CStringCString CMFCDataType::BSTRConvertCString(const WCHAR* wch){//BSTR bstrText = ::SysAllocString(L"Test");CString str;str.Empty();str = wch;//或//CString str(wch);return str; } //CString to WCHAR*(BSTR)WCHAR* CMFCDataType::CStringConvertBSTR(const CString str){return str.AllocSysString(); //BSTR bstrText = str.AllocSysString();//SysFreeString(bstrText); // 用完释放 } //WCHAR*(BSTR) to char*(LPSTR)/*char**/LPSTR CMFCDataType::BSTRConvertLPSTR(const WCHAR* wch){_bstr_t btemp = wch;char* lpsz = btemp;return lpsz;} //char*(LPSTR) to WCHAR*(BSTR)WCHAR* CMFCDataType::LPSTRConvertBSTR(const char* ch){BSTR bstr = _bstr_t(ch);return bstr;} 引用示例:void CDataTypeConversionDlg::OnBnClickedBtnConvert(){//int 转 CString/*int i= 20;CString str=m_CMFCDataType.IntConvertCString(i);int t= str.GetLength();*///CString 转 int/*CString str1=_T("30");int t=m_CMFCDataType.CStringConvertInt(str1);*///t==30 ////float 转 CString//float f= 20.5;//CString str=m_CMFCDataType.FloatConvertCString(f); ////double 转 CString/*double d= 20.025;CString str=m_CMFCDataType.DoubleConvertCString(d);*/ //CString 转 float//CString str1=_T("30.27");//float ftemp=m_CMFCDataType.CStringConvertFloat(str1);//t==30.270000 ////CString 转 double//CString str1=_T("30.27458");//double dtemp=m_CMFCDataType.CStringConvertDouble(str1);//t== //CString str1=_T("");//int t=m_CMFCDataType.CStringConvertInt(str1);//t==0 /*CString strTemp;std::string str("sadfg");strTemp = m_CMFCDataType.StringConvertCString(str);MessageBox(strTemp);*/ /*CString strTemp=_T("asdfg");std::string str;str = m_CMFCDataType.CStringConvertstring(strTemp);*/ /*char ch = 'abcd';char* c1 = &ch;CString str=m_CMFCDataType.LPSTRConvertCString(c1);delete c1;*/ //char ch= 'abcd';//std::string s=m_CMFCDataType.CharConvertstring(ch);//s='d'//char ch= 'b';//std::string s=m_CMFCDataType.CharConvertstring(ch);//s='b' //std::string str("sadfg");//const char* chtemp1=m_CMFCDataType.StringConvertchar(str); //char str2[20];//strcpy(str2,chtemp1);//printf("%s,\n",str);//str 为stdfg//2014-04-29//char*转换为CString //定义一个字符串数组 方式 5种//char chArray[] = "This is a test";//char * p1 = "This is a test";//LPSTR p2 = "This is a test";//或在已定义Unicode应的用程序中//TCHAR * p3 = _T("This is a test");//或//LPTSTR p4 = _T("This is a test"); ////BSTRConvertCString//BSTR bstrText = ::SysAllocString(L"Test");//CString strtemp=m_CMFCDataType.BSTRConvertCString(bstrText);//strtemp='Test'////CStringConvertBSTR//CString strtemp=_T("saddsf");//BSTR bstrText = m_CMFCDataType.CStringConvertBSTR(strtemp); ////BSTRConvertCString//BSTR bstrText = ::SysAllocString(L"Test");//LPSTR chtemp=m_CMFCDataType.BSTRConvertLPSTR(bstrText);//strtemp='Test'//CString str;//str.Format(_T("%s"),chtemp); ////LPSTRConvertBSTR//char* ch="asdd";//BSTR bstrText = m_CMFCDataType.LPSTRConvertBSTR(ch);}
0 0
- 实例:常用数据类型之间的相互转换
- 数据类型之间的相互转换
- MFC中常用数据类型之间的相互转换
- VC数据类型之间的相互转换
- Java数据类型之间的相互转换
- 基本数据类型之间的相互转换
- Unity_数据类型之间的相互转换
- 常用数据类型之间的转换
- 数据类型之间可以相互转换
- java常用数据类型之间的转换
- Java 基本数据类型和Sting之间的相互转换
- C++各种数据类型之间的相互转换
- GO语言的一些简单数据类型之间相互转换
- objective-c中不同数据类型之间的相互转换
- 基本数据类型、包装类、String类型之间的相互转换
- VC++中一些常用的数据类型之间的相互转化
- 数据类型之间的转换
- 数据类型之间的转换
- UVa10075 - Airlines(所有点对之间的最短距离)
- SDUT 2878 Circle(概率dp)
- si4463跳频功能简介
- poj 2676 dfs/DLX(数独)
- 最最基础的linux驱动程序
- 实例:常用数据类型之间的相互转换
- U-boot 中的 .balignl 16 0xdeadbeef 说明
- android中得Sqlite
- 旋转矩阵R 的构成过程(欧拉角的各种表示方法)
- MongoDB学习笔记之副本集概述
- 敏捷开发初探
- 人生
- C++链接和运行相关错误
- 初级数据持久化