1. DWORD型的数据转换成CString型
    CString  str;
DWORD dwValue = 121212;
str.Format("%d",dwValue)
2. CString型_bstr_t
  CString strip=”HHHHHE”;
    _bstr_t  pt;
Pt= (_bstr_t)strip
m_string.SetReadOnly();
CString str_data;
int len = m_string.LineLength();
m_string.GetLine(0,str_data.GetBuffer(len), len);
str_data.ReleaseBuffer(len);
如果想把编辑框的文本转化为int型,只需调用函数atoi,如下所示:
int num = atoi(str_data);
则num中保存的就是int型的数据。
3.int转char
int senid;
for(senid=1;senid<161;senid++)
char  id[20];
    sprintf(id, "%d ",senid);
strcat(nprocedure_id,(char *)id);
4.将CString->char[]  char*
  CString str;
Char pp[20];
strcpy(pp,str.GetBuffer(0)); 
5.将ltime 转CString
CString strTime
m_CurTime = CTime::GetCurrentTime();
    strTime = m_CurTime.Format("%Y-%m-%d %H:%M:%S");
1》string转wstring
wstring s2ws(const string& s)
{
    _bstr_t t = s.c_str();
    wchar_t* pwchar = (wchar_t*)t;
    wstring result = pwchar;
    return result;
}
cstring转为int2》wstring转string
string ws2s(const wstring& ws)
{
    _bstr_t t = ws.c_str();
    char* pchar = (char*)t;
    string result = pchar;
    return result;
}
3》string转cstring 
a)CString.format("%s", string.c_str()); 
 
b)CString StringToCString(string str)
{
CString result;
for (int i=0;i<(int)str.length();i++)
{
 result+=str[i];
}
return result;
}
 
4》cstring转string
a)void ConvertCString2string(CString& strSrc,std::string& strDes)
{
#ifndef UNICODE
    strDes = strSrc;
#else
USES_CONVERSION;
    strDes = W2A(strSrc.LockBuffer());
    strSrc.UnlockBuffer();
#endif
}
b)
string s(CString.GetBuffer()); 
ReleaseBuffer();
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
c)
string CStringToString(CString cstr)
{
string result(cstr.GetLength(),'e');
for (int i=0;i<cstr.GetLength();i++)
{
 result[i]=(char)cstr[i];
}
return result;
}
5》string转char *
a)char *p = string.c_str(); 
举例:
string aa("aaa");
char *c=aa.c_str();
string mngName;
char t[200];
memset(t,0,200);
strcpy(t,mngName.c_str());
b)一个一个字符的赋值
 
char *p = new char[sring的长度+1];
p[string的长度]='/0';
但是要注意最后赋值'/0'!!!
 
char * StringToChar(string &str)
{
int len=str.length();
char * p= new char[len+1];
for (int i=0;i<len;i++)
{
p[i]=str[i];
}
p[len]='/0';
}
6》char* 转string
string s(char *); 
你的只能初始化,在不是初始化的地方最好还是用assign();
string CharToString(char*arr,int count)
{
string result(arr,4);
return result;
}
string是ansi编码字符char
TCHAR是unicode编码字符wchar_t
7》string转TCHAR *
/*
  wBuf 申明为指针即可。
*/
wchar_t *chr2wch(const char *buffer)
{
        size_t len = strlen(buffer);
        size_t wlen = MultiByteToWideChar(CP_ACP, 0, (const char*)buffer, int(len), NULL, 0);
        wchar_t *wBuf = new wchar_t[wlen + 1];
        MultiByteToWideChar(CP_ACP, 0, (const char*)buffer, int(len), wBuf, int(wlen));
        return wBuf;
8》TCHAR *转string
char * wch2chr(LPCTSTR lpString)
{
// Calculate unicode string length.
UINT len = wcslen(lpString)*2;
char *buf = (char *)malloc(len);
UINT i = wcstombs(buf,lpString,len);
return buf;
}
9》string 和char*转int
string 转 int
..............................
char* 转 int 
 #include <stdlib.h> 
 
 int atoi(const char *nptr); 
 long atol(const char *nptr); 
 long long atoll(const char *nptr); 
 long long atoq(const char *nptr); 
10》int转char*和string
在stdlib.h中有个函数itoa() 
 itoa的用法: 
 itoa(i,num,10); 
 i 需要转换成字符的数字 
 num 转换后保存字符的变量 
11》wstring转Csting
std::wstring转CString
CString str( filename.c_str() ); 
12》Cstring转wstring
CString转std::wstring
std::wstring str = filename.GetString();
13》Cstring转char *
CString cstr(asdd);
const char* ch = (LPCTSTR)cstr;
举例:
CString  str= "i  am  good "; 
char*  lp=str.GetBuffer(str.GetLength()); 
str.ReleaseBuffer(); 
14》char *转Cstring
举例:
CString  str; 
char  pStr[100]; 
str.Format( "%s ",pStr);
15》TCHar转char
*********************************************************************** 
* 函数: THCAR2Char 
* 描述:将TCHAR* 转换为 char* 
*********************************************************************** 
char* CPublic::THCAR2char(TCHAR* tchStr) 
int iLen = 2*wcslen(tchStr);//CString,TCHAR汉字算一个字符,因此不用普通计算长度 
char* chRtn = new char[iLen+1] 
wcstombs(chRtn,tchStr,iLen+1);//转换成功返回为非负值 
return chRtn; 
16》char转tchar
定义了UNICODE宏之后,TCHAR就是宽字符wchar_t,否则TCHAR跟char是一样的^_
 
具体问题具体分析,浮云啊,一切皆是浮云.....
以下摘录自网络:
..............................................................
《C++标准函数库》中说的 
有三个函数可以将字符串的内容转换为字符数组和C—string 
1.data(),返回没有”/0“的字符串数组 
2,c_str(),返回有”/0“的字符串数组 
3,copy() 
.................................................................

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。