MFC中的乱起八糟----字符编码:LPTSTR,LPCTSTR, TCHAR等

时间:2023-03-08 21:40:48
注意,编写有 Unicode 意识的代码总是一件好事,比如:
CString graycat = CString(_T("Gray")) + _T("Cat");
这将使得你的代码可以直接移植。
 

1, 将参数从"const char *"转换为"LPCTSTR"

 使用_T、L、TEXT等转换宏
MyFunZipCp(_T("C:\\SY.txt"),_T("C:\\SY.ZIP"),false);
或者
MyFunZipCp(L"C:\\SY.txt",L"C:\\SY.ZIP",false);
或者
MyFunZipCp(TEXT("C:\\SY.txt"),TEXT("C:\\SY.ZIP"),false);

2, LPCTSTR和LPTSTR和char *究竟有什么区别

   "T"的含义就是如果定义了UNICODE,它就是宽字符版本,否则就是Ansi版本。
  LPTSTR:
  如果定义了UNICODE宏,那么LPTSTR = wchar_t*否则LPTSTR = char*

  如果定义了UNICODE宏,那么LPCTSTR = const wchar_t*,否则LPCSTR = const char*

  MSDN上的DataType上是这么说的,LPTSTR是什么呢?

  #ifdef UNICODE
   typedef LPWSTR LPTSTR;
  #else
   typedef LPSTR LPTSTR;
  #endif

  在unicode编码中(VS2010,VS2013等):而LPWSTR是针对wchar_t的

  在ansi编码中(VC6):LPSTR是针对char的,
  typedef CHAR *LPSTR;typedef char CHAR;可见如果没有定义UNICODE的话, char *就是LPTSTR,而const char *就是LPCTSTR,

  那个T表示的是TCHAR(char[ascii],wchar_t[UNICODE])

  所以,可以再程序中:使用char* pStr;

  (LPTSTR) pStr, 直接进行转化,(LPSTR或者LPWSTR的情形)。

 //Unicode 版本

 typedef wchar_t WCHAR;
typedef WCHAR *PWCHAR;
typedef WCHAR *LPWCH, *PWCH;
typedef CONST WCHAR *LPCWCH, *PCWCH;
typedef WCHAR *NWPSTR;
typedef WCHAR *LPWSTR, *PWSTR;
typedef WCHAR UNALIGNED *LPUWSTR, *PUWSTR; typedef CONST WCHAR *LPCWSTR, *PCWSTR;
typedef CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR; // Ansi版本 typedef CHAR *PCHAR;
typedef CHAR *LPCH, *PCH; typedef CONST CHAR *LPCCH, *PCCH;
typedef CHAR *NPSTR;
typedef CHAR *LPSTR, *PSTR;
typedef CONST CHAR *LPCSTR, *PCSTR; #ifdef UNICODE(VS2013等IDE)
typedef WCHAR TCHAR, *PTCHAR;
typedef WCHAR TBYTE , *PTBYTE ;
typedef LPWSTR LPTCH, PTCH;
typedef LPWSTR PTSTR, LPTSTR;
typedef LPCWSTR PCTSTR, LPCTSTR;
typedef LPUWSTR PUTSTR, LPUTSTR;
typedef LPCUWSTR PCUTSTR, LPCUTSTR;
typedef LPWSTR LP;
#else(VC6的开发环境)
typedef char TCHAR, *PTCHAR;
typedef unsigned char TBYTE , *PTBYTE ;
typedef LPSTR LPTCH, PTCH;
typedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR;
typedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;
#endif

可以直接通过LPTSTR或者LPCTSTR 进行直接类型转化为适应于:Unicode编码下:LPWSTR,LPCWSTR  或者ANSI编码下:LPSTR, LPCSTR  的情形

  因为:LPTSTR,LPCTSTR可以通过编译器的当前的编码类型自动转换为相应的编码。

  但是:当LPTSTR,LPCTSTR与直接的char* 或者w_char* 转化时,需要特别注意。

  在进行字符相关的API调用时:
  (1)直接转化成相应的类型;
  (2)可以采取“中庸”的API同时可以兼容:char* 或者w_char*

  如: strcpy、wcscpy与_tcscpy
C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:

  • char *strcpy(char *strDestination, const char *strSource);
  • wchar_t *wcscpy(wchar_t *strDestination, const wchar_t *strSource);

wcscpy()即为strcpy()的宽字符版本,与_T类似的,Visual C++提供了类似的同名函数: 

    #ifdef  UNICODE
#define _tcscpy wcscpy
#else
#define _tcscpy strcpy
#endif

  这样可以直接使用:_tcscpy来代替:strcpy用于asci等编码情形,或者wcscpy用于UNICode编码情形

  因为:TCHAR也可以适用于不同给的编码情形,所以采用TCHAR在实际的不同字符编码体系开发中比较好。

因此我们建议这样书写代码:
TCHAR src[] = _T("学习C++");
TCHAR dest[];
_tcscpy(dest, src);

  比如,在使用printf()的时候,我会尝试使用_tprintf()。

  同样的版本问题一样会困扰着main()函数:

  • main( int argc, char *argv[ ], char *envp[ ]);
  • wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ]);
再来看_tmain()的定义:

    #ifdef  UNICODE
#define _tmain wmain
#define _tWinMain wWinMain
#else
#define _tmain main
#define _tWinMain WinMain
#endif

  这就是为什么Win32控制台项目默认输出,提供一个_tmain()函数的缘故。


  刨根问底

Microsoft 专用

  为了简化各种国际市场的代码开发, Microsoft 运行库提供许多数据类型、例程和其他对象提供特定于 Microsoft 的 “一般文本映射”。

  这些映射。 TCHAR.H. 定义。 可以使用这些名称映射到可用于任何这三个生成字符集的通用代码:

  ASCII (SBCS) 使用 #define 语句,中, MBCS 或 Unicode,根据一个清单常数您定义。 一般文本映射是不符合 ANSI 的 Microsoft 扩展。

   aaarticlea/png;base64,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" alt="" />

   aaarticlea/png;base64,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" alt="" width="873" height="269" />

  aaarticlea/png;base64,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" alt="" />

  char*风格的参数不支持Unicode

  

CString,string,char*之间的转换

  这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类 型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我 们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。

  以下我用简单的图示指出三者之间的关系,并以标号对应转换的方法。

 MFC中的乱起八糟----字符编码:LPTSTR,LPCTSTR, TCHAR等

  string to CString
CString.format("%s",string.c_str()); CString to string
string str(CString.GetBuffer(str.GetLength())); string to char *
char *p=string.c_str(); char * to string
string str(char*); CString to char *
strcpy(char,CString,sizeof(char)); char * to CString
CString.format("%s",char*);
CString的format方法是非常好用的。string的c_str()也是非常常用的,但要注意和char *转换时,要把char定义成为const char*,这样是最安全的。 以上函数UNICODE编码也没问题:unicode下照用,加个_T()宏就行了,像这样子_T("%s")

CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换

一.CString与LPCWSTR 

两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。

CString转换成LPCWSTR

方法一:CString strFileName;

LPCWSTR lpcwStr = strFileName.AllocSysString();

方法二:CString str=_T("TestStr"); 
                    USES_CONVERSION; 
                    LPCWSTR lpcwStr = A2CW((LPCSTR)str);

MFC中CString和LPSTR是可以通用,其中A2CW表示(LPCSTR)  -> (LPCWSTR),USER_CONVERSION表示用来定义一些中间变量,在使用ATL的转换宏之前必须定义该语句。

LPCWSTR转换成CString

LPCWSTR lpcwStr = L"TestWStr"; 
    CString str(lpcwStr);

CString str;

LPWSTR  lpstr = (LPWSTR)(LPCWSTR)str;

二.CString与LPSTR转换

CString转换成LPSTR:

方法一:CString strFileName;

LPSTR lpStr = strFileName.GetBuffer();

strFileName.ReleaseBuffer();

方法二:CString strFileName;

LPSTR lpStr = (LPSTR)(LPCSTR)strFimeName;

LPSTR转换成CString:

LPSTR lpStr = L"TestStr"; 
                      CString str(lpStr);

注意:CString和LPCSTR可直接转换,如下:

CString str;

LPCSTR lpcStr = (LPCSTR)str;

三.CString和char*转换
       CString转换成char*
       方法一:CString str;
                       char* p = str.GetBuffer();
       方法二:CString str;
                       char* p = (LPSTR)(LPCSTR)str;
       char*转换成CString
                       char* p = "test";
                       CString str = ("%s",p);

四.String和int、float的转换

可以使用atoi,atof,atol等函数来完成。

五.LPSTR(char*)和LPWSTR的转换

可以使用下面的ATL宏来进行,最好是将变量定义成TCHAR、LPTSTR等T类型,可以避免转换。

ATL宏介绍:

A2BSTR   OLE2A             T2A            W2A 
     A2COLE   OLE2BSTR    T2BSTR    W2BSTR 
     A2CT         OLE2CA         T2CA          W2CA 
     A2CW        OLE2CT         T2COLE    W2COLE 
     A2OLE       OLE2CW       T2CW         W2CT 
     A2T            OLE2T            T2OLE        W2OLE 
     A2W           OLE2W          T2W             W2T

A :ANSI 字符串,也就是 MBCS。 
    W、OLE 宽字符串,也就是 UNICODE。 
    T 中间类型T。如果定义了 _UNICODE,则T表示W;如果定义了 _MBCS,则T表示A 
    C const 的缩写

利用这些宏,可以快速的进行各种字符间的转换。使用前必须包含头文件,并且申明USER_CONVERSION;使用 ATL 转换宏,由于不用释放临时空间,所以使用起来非常方便。但是考虑到栈空间的尺寸(VC 默认2M),使用时要注意几点:

1、只适合于进行短字符串的转换; 
    2、不要试图在一个次数比较多的循环体内进行转换; 
    3、不要试图对字符型文件内容进行转换,因为文件尺寸一般情况下是比较大的; 
    4、对情况 2 和 3,要使用 MultiByteToWideChar() 和 WideCharToMultiByte();

void Func1(LPSTR lpStr);

void Func2(LPWSTR lpwStr);

TCHAR   name[256];

TCHAR*   pName = new  TCHAR[256];

Func1(name); // Func1(pName);

Func2(name); // Func2(pName);

注意在VS2005中上面用红色标记的代码已经不成立。

VS2005中CString已经改为宽字符型,一些转换如下:

char name[10];
 TCHAR sex[5] ;
 char *p = name;
 TCHAR *pw = sex;

LPSTR lpstr = name;
 LPCSTR lpcstr = name;
 lpcstr = lpstr;
 
 lpstr = p;
 p = (char*)sex;
 pw = (WCHAR*)name;
 LPWSTR lpwstr = (LPWSTR)lpstr;
 lpwstr = (LPWSTR)lpcstr;
 LPCWSTR lpcwstr = (LPCWSTR)lpstr;
 lpcwstr = (LPCWSTR)name;

CString str(lpstr);
 CString str1(lpcstr);
 CString str2(lpwstr);
 CString str3(lpcwstr);
 CString str4(name);
 CString str5(sex);

lpwstr = (LPWSTR)(LPCWSTR)str;
 lpstr = (LPSTR)(LPCWSTR)str; lpcstr = (LPCSTR)(LPCWSTR)str;

p = (char*)str.GetBuffer();
 pw = str.GetBuffer();

可以看出转换更加简单了,基本上可以直接转换,A2W等宏基本上不需要啦

CString:我们首先要了解 CString 是一种很特殊的 C++ 对象,它里面包含了三个值:

(1)一个指向某个数据缓冲区的指针、

(2)一个是该缓冲中有效的字符记数以及

(3)一个缓冲区长度。有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。

字符记数和缓冲区长度被巧妙隐藏。

  LPCTSTR 操作符(或者更明确地说就是 TCHAR * 操作符)在 CString 类中被重载了,该操作符的定义是返回缓冲区的地址,因此,如果你需要一个指向 CString 的 字符串指针的话

  CString s("GrayCat");  LPCTSTR p = s;
  CString转化成char* 之二:使用 CString 对象的 GetBuffer 方法;
  这是 GetBuffer 的第一种用法,也是最简单的一种,不用给它传递参数,它使用默认值 0,意思是:"给我这个字符串的指针,我保证不加长它"。当你调用 ReleaseBuffer 时,字符串的实际长度会被重新计算,然后存入 CString 对象中。
  
  LPTSTR p = s.GetBuffer(1024);
  调用这个函数后,你不仅获得了字符缓冲区指针,而且同时还获得了长度至少为 1024 个字符的空间(注意,我说的是"字符",而不是"字节",因为 CString 是以隐含方式感知 Unicode 的)。