我的目標是得到這樣的:的std :: string爲byte []
BYTE Data1[] = {0x6b,0x65,0x79};
BYTE Data2[] = {0x6D,0x65,0x73,0x73,0x61,0x67,0x65};
但我的出發點是:
std::string msg = "message";
std::string key = "key";
我無法擺脫std::string
到BYTE[]
。
我試過如下:
std::vector<BYTE> msgbytebuffer(msg.begin(), msg.end());
BYTE* Data1 = &msgbytebuffer[0];
這並沒有引起編譯或運行時錯誤。然而,最終的結果(我把它提供給winapi函數 - crypto api)與我使用最頂級的實際字節數組({0x6D,0x65,0x73,0x73,0x61,0x67,0x65}
)不一樣。
怎麼樣'的std :: string :: c_str()''返回爲const char *' ? – Quest
感謝Quest提出的建議,我對編寫C++非常新,可否請給我一個片段/演示。 – Noitidart
它以何種方式與衆不同? – Yakk