簡體   English   中英

將字符串轉換為字節數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM