CString 用法
来源:互联网 发布:iphone用usb共享网络 编辑:程序博客网 时间:2024/06/06 09:19
参考:http://www.vckbase.com/document/viewdoc/?id=1094
http://hi.baidu.com/yu_xiyan/item/3ee36b96dab242b983d2958b
http://hi.baidu.com/idealsoft/blog/item/438c68de31c7465dccbf1ab5.html CString剖析与详解
和 msdn
字符串截取,和 getbuffer,releasebuffer等用法
CString AppDir = GetModulePath();
//打包压缩部分
CStringA AppDirA = std_convention::unicode2string( AppDir.GetBuffer() ).c_str(); // 右边是const char * 类型
CStringA m_RefDir1 = std_convention::unicode2string( SrcDir ).c_str();
m_RefDir1 += "\\SetupPack.exe";
zipfie.open_v_zipfile_forzip( m_ResSetupFile.GetBuffer( 255 ) ); // m_ResSetupFile:是CStringA 类型, 该函数所需参数是:char * 类型。
char chText[128] = {0};
USES_CONVERSION;
theApp.m_pLanguage->GetString("CWClient","ABOUTBOX","IDS_ABOUT",chText);
sClientName = A2T(chText);
memset(chText , 0 , sizeof(chText));
FilePath 是CString类型:
strcpy(pFileInfo[i].FileName, std_convention::unicode2string( FilePath.GetBuffer( ) ).c_str() );
#include <string>
class std_convention
{
public:
static std::string unicode2string(const wchar_t* ws, int len = -1)
{
int strlen = len;
if( strlen == -1 )
strlen = wcslen( ws );
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL, "chs");
const wchar_t* _Source = ws;
size_t _Dsize = 2 * strlen + 1;
char *_Dest = new char[_Dsize];
memset(_Dest,0,_Dsize);
wcstombs(_Dest,_Source,_Dsize);
std::string result = _Dest;
delete []_Dest;
setlocale(LC_ALL, curLocale.c_str());
return result;
}
static std::string wstrtostr(const std::wstring& ws)
{
return unicode2string( ws.c_str(), ws.size() );
}
static std::wstring ansii2wstring( const char* str, int len = -1 )
{
int stringlen = len;
if( stringlen == -1 )
stringlen = strlen( str );
setlocale(LC_ALL, "chs");
const char* _Source = str;
size_t _Dsize = stringlen + 1;
wchar_t *_Dest = new wchar_t[_Dsize];
wmemset(_Dest, 0, _Dsize);
mbstowcs(_Dest,_Source,_Dsize);
std::wstring result = _Dest;
delete []_Dest;
setlocale(LC_ALL, "C");
return result;
}
static std::wstring strtowstr(const std::string& s)
{
return ansii2wstring( s.c_str(), s.size() );
}
};
- Cstring用法
- CString用法
- CString 用法
- CString用法
- CString用法
- CString的用法
- MFC CString用法指南
- CString.Format 用法
- CString用法整理
- CString.format用法
- MFC CString 的用法
- VC:CString用法整理
- VC:CString用法整理
- MFC CString 用法小结
- CString类的用法
- CString用法~~暂存下~
- CString的GetBuffer用法
- CString的GetBuffer用法
- alchemy中定义多个方法
- TTF字体基本知识及其在QT中的应用
- ASP.NET中httpmodules与httphandlers全解析
- 类名.this与类名.class
- jquery.cookie 的使用方法
- CString 用法
- Django学习笔记
- 视频的“分离”与“合成”、“编码”与“解码”浅析
- ssl介绍以及双向认证和单向认证原理
- 异常处理经验谈
- 在WAS里输入命令,就像在DB2里输入SQL一样
- SAP-SD-Enterprise Structure
- Dojox.grid.data 使用指南
- Angle 概述 之 AndroidManifest.xml