VC++编程之字符串解惑(五)

2014-02-08 13:35:46 · 作者: · 浏览: 351

 

  3. _T() 和 L

  _T()一般同字符串相关,如_T("Hello, seeking!");如果你编译一个程序为MBCS方式,_T()实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello" 字符串以UNICODE方式保存。

  _T() 和 L 的区别在于,使用L时不管你是以什么方式编译,一律UNICODE方式保存。如:L"Hello!".其实"L"是来源于C++中对宽字符(Weld Char,比如Unicode字符)的定义,如:wstring wstrName = L"Hello, seeking!";

  4.C语言数组和LPCSTR之间的转换

  4.1 数组转成LPCSTR(即const char*)

  char pchar_pcchar[20]= "pchar_pcchar";

  if( typeid(pchar_pcchar)== typeid(char[20]) )

  cout《 "char [20]" 《endl;

  const char* PCChar=pchar_pcchar;   //数组直接可以转成LPCSTR

  cout《 PCChar 《 endl;

  输出结果:char [20]

  pchar_pcchar

  4.2 LPCSTR(即const char*)转成数组(即char*)

  Mark20130912:思路还未找到

  Mark20131119:一种思路

  LPCSTR lpcstr = "long point const string";

  char * arry = (char *) lpcstr;

  cout 《 arry 《 endl;