[英]converting string to array of bytes
我想將string
轉換為bytes
array
。 我怎樣才能做到這一點?
實際上我想從文件中讀取並將所有數據轉換為bytes
array
。
如果轉換后如何獲得該array
的大小?
獲得字節數組后,我想獲取LPVOID
類型的指針並使其指向該字節數組,以使用 function BOOL WritePrinter( __in HANDLE hPrinter, __in LPVOID pBuf, __in DWORD cbBuf, __out LPDWORD pcWritten );
第二個參數需要指向字節數組的指針。 但我不知道有什么方法可以做到這一點。
您可以使用將string
轉換為char*
char* bytes = str.c_str();
長度可以通過
int len = str.length();
指針可以簡單地轉換為LPVOID
LPVOID ptr = (LPVOID) bytes;
您可以通過調用std::string::data()
成員 function 來訪問std::string
中的數據,這將返回一個const char*
,或者您可以只使用std::string::operator[]
來操作std::string
就好像它是一個 char 數組一樣。
如果你想把它作為一個向量,你可以創建一個:
std::vector<char> myVector(myString.beging(), myString.end());
char *myCharPtr = &myVector.front();
編輯:這可能是最快/更簡單的方法......
std::string myStr = "testing";
char *myCharPtr = &myStr[0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.