字符串互相转换.docVIP

  • 4
  • 0
  • 约8.36千字
  • 约 10页
  • 2017-05-13 发布于河南
  • 举报
字符串互相转换

string、wstring、cstring、 char、 tchar、int、dword转换方法 Posted on 2011-11-24 21:29 surfer 阅读(948) 评论(0) 编辑 收藏 最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多: 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; } 2》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;icstr.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;ilen;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]; ? ? ? ? MultiByteToW

文档评论(0)

1亿VIP精品文档

相关文档