2012-07-02 34 views
0

好吧,所以我正在使用C++的內存編輯器,我有一個偏移量列表,如果我預先定義瞭如何更改偏移量(0x68),那麼它可以工作,但我想知道是否有一種方法來轉換字符串,如在cin >> string中,它會將字符串拆分爲字節或char * s,以便它可以在偏移量中使用它們?對不起,如果這沒有多大意義。在C++中字符串到字節或字符

回答

3

std::string類有兩個方法可以幫助你:

  • c_str(),返回一個\0封端的char*字符串(又名一個 「C」 風格的字符串);
  • data(),返回字符串的內容char const*,但沒有\0終止;您必須單獨使用length()size()檢索長度。
1

你可以調用c_str()來獲取一個代表字符串數據的原始字符數組作爲c字符串。

0

您可以使用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() 
}