首頁>Club>
11
回覆列表
  • 1 # 使用者4243767351955

    是完全可以的,見我給你寫的原始碼及註釋。

    #inlcude<string>

    using namespace std;

    (1)string -> ANSI C字串

    string str("rtyu");

    char* pStr = (char*)str.c_str(); // ANSI的字串指標,指向str的記憶體地址,然後直接使用pStr,當然你也可以把這個字串複製出來,如下:

    char* pBuff = new char[str.length() + 1];

    strcpy(pBuff, pStr);

    // 使用pBuff

    delete pBuff; // 釋放記憶體

    (2)支援UNICODE的string類,你使用wstring就可以了,相關函式也全換成UNICODE版本就好了,如下:

    wstring str(L"王小二");

    wchar_t* pStr = (wchar_t*)str.c_str(); // 指向str字串記憶體

    wchar_t* pBuff = new wchar_t[str.length() + 1];

    wcscpy(pBuff, pStr); // 此時pBuff中的內容正是"王小二"

    delete pBuff;

  • 中秋節和大豐收的關聯?
  • 適合老年人使用的智慧手機什麼牌子好?