如何从 wchar_t * 转换为其他字符串类型

来源:互联网 发布:同轴电缆传输网络结构 编辑:程序博客网 时间:2024/04/30 13:48
// convert_from_wchar_t.cpp// compile with: /clr /link comsuppw.lib#include <iostream>#include <stdlib.h>#include <string>#include "atlbase.h"#include "atlstr.h"#include "comutil.h"using namespace std;using namespace System;int main(){    wchar_t *orig = L"Hello, World!";    wcout << orig << L" (wchar_t *)" << endl;    // Convert to a char*    size_t origsize = wcslen(orig) + 1;    const size_t newsize = 100;    size_t convertedChars = 0;    char nstring[newsize];    wcstombs_s(&convertedChars, nstring, origsize, orig, _TRUNCATE);    strcat_s(nstring, " (char *)");    cout << nstring << endl;    // Convert to a _bstr_t    _bstr_t bstrt(orig);    bstrt += " (_bstr_t)";    cout << bstrt << endl;    // Convert to a CComBSTR    CComBSTR ccombstr(orig);    if (ccombstr.Append(L" (CComBSTR)") == S_OK)    {        CW2A printstr(ccombstr);        cout << printstr << endl;    }    // Convert to a CString    CString cstring(orig);    cstring += " (CString)";    cout << cstring << endl;    // Convert to a basic_string    wstring basicstring(orig);    basicstring += L" (basic_string)";    wcout << basicstring << endl;    // Convert to a System::String    String ^systemstring = gcnew String(orig);    systemstring += " (System::String)";    Console::WriteLine("{0}", systemstring);    delete systemstring;}

 
原创粉丝点击