簡體   English   中英

C ++中的字符串到字節或Char *

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

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