计算机二级

3773考试网计算机等级考试计算机二级正文

C++多字节字符转换为宽字符的两种方法

来源:fjzsksw.com 2010-4-7 9:55:09

 

  目前知道有两种方式:可以提供宽字符与ANSI字符之间的转换,

  第一种由COM库提供的函数

  char*  _com_util::ConvertBSTRToString(BSTR );

  BSTR _com_util::ConvertStringToBSTR(char*);

  Example

  // ConvertBSTRToString.cpp

  #include

  #include

  #pragma comment(lib, "comsupp.lib")

  int main()

  {

  BSTR bstrText = ::SysAllocString(L"Test");

  wprintf(L"BSTR text: %s\n", bstrText);

  char* lpszText2 = _com_util::ConvertBSTRToString(bstrText);

  printf("char * text: %s\n", lpszText2);

  SysFreeString(bstrText);

  delete[] lpszText2;

  }

  Output

  BSTR text: Test

  char * text: Test

  第二种标准库提供的函数

  将宽字符串wcstr转换为ANSI字符串mbstr

  size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count );

 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1