现在位置: 首页 > 类型转换
2013-03-29 06:46 工业·编程 ⁄ 共 5010字 暂无评论
    LPCTSTR   与   GetBuffer(int   nMinBufLength)     这两个函数提供了与标准C的兼容转换。在实际中使用频率很高,但却是最容易出错的地方。这两个函数实际上返回的都是指针,但它们有何区别呢?以及调用它们后,幕后是做了怎样的处理过程呢?         (1)   LPCTSTR   它的执行过程其实很简单...
阅读全文
字符集间的转换想必大家都有过比较痛苦的经历。VC6中的字符串使用的是多字节字符集(MBCS),简单地说,就是汉字字符每个占两个字节,英文字符每个占一个字节;而到了VC2005及以上的版本,都统一为宽字符集了(Unicode),简单地说,就是每个字符--不管是汉字字符还是英文字符--都占两个字节。由于很多的开源项目、库等,用的都是老式的多字节字符集,比如说套接字编程等等,这样的话,要在新的编程环境(VC2005以上)中使用含...
阅读全文
2013-02-14 06:35 工业·编程 ⁄ 共 328字 暂无评论
char * cs2ca(CString str) {     char *ptr;     #ifdef _UNICODE     LONG len;     len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);     ptr = new char [len+1];     memset(ptr,0,len + 1);     WideCharToMultiByte(CP_ACP, 0, str, -1, ptr, len + 1, NULL, N...
阅读全文
Unicode下 CString转TCHAR TCHAR* szMsg = new TCHAR[wcslen(strAdbCmd)]; szMsg = strAdbCmd.GetBuffer(strAdbCmd.GetLength()); strAdbCmd.ReleaseBuffer(); 用完了别忘了delete []szMsg; CString转 char*       char * charP; CString strP; WideCharToMultiByte(CP_OEMCP,0,(LPCTSTR)strP,-1,charP,260,0,false); char* TCHAR*转 CString char cstr[20]=”sdaww”; TCHAR tcstr[20]=_T(”unicode”); ...
阅读全文
2013-02-12 06:31 工业·编程 ⁄ 共 1509字 暂无评论
1、Unicode下CString转换为char * 方法一:使用API:WideCharToMultiByte进行转换 CString str = _T("D://校内项目//QQ.bmp"); //注意:以下n和len的值大小不同,n是按字符计算的,len是按字节计算的 int n = str.GetLength(); // n = 14, len = 18 //获取宽字节字符的大小,大小是按字节计算的 int len = WideCharToMultiByte(CP_ACP,0,str,str.GetLength(),NULL,0,NULL,NULL); //为多字节字符...
阅读全文