[英]String to Byte or Char* in C++
好的,所以我正在使用c ++進行內存編輯,我有一個偏移量列表,如果我也預先定義了要更改偏移量的內容(0x68),那么它可以工作,但是我想知道是否有一種方法可以轉換字符串,如cin >>字符串,它將字符串拆分為字節或char * s,以便可以在偏移量中使用它們? 抱歉,如果這樣做沒有意義。
std::string
類具有兩個可以幫助您的方法:
c_str()
,返回\\0
終止的char*
字符串(又稱“ C”風格的字符串); data()
返回char const*
字符串的內容,但不帶\\0
終止; 您必須使用length()
或size()
分別檢索長度。 您可以調用c_str()獲得將字符串數據表示為ac字符串的原始char數組。
您可以使用data()
和memcpy()
將所有字節復制到另一個地址,或者通過索引字符串對象來訪問字符串中的字節...
std::string x;
if (std::cin >> x) // note: read one whitespace-separated token, use getline for lines
{
memcpy(p_dest, x.data(), x.size()); // to copy everything...
// ...or...
p_dest[offset] = x[i]; // copy one character, 0 <= i < x.size()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.