将 std::string 称为 char*

Refer to a std::string as a char*

我想引用(写入)std::string,就像引用字符串文字 (char*) 一样。这就是我想要做的:

  std::string File::readAll(){
    std::string ret;
    ret.reserve(this->size+1);
    fseek(file, 0, SEEK_SET);

    fread((char*)ret.c_str(), size, 1, this->file);
    ret.append("[=11=]");

    return ret;
  }

当我这样做时,字符串仍然是空的。我怎样才能使这项工作?

reserve替换为resize,然后使用.data()(或&ret[0] pre C++17)代替.c_str()