将 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()
。
我想引用(写入)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()
。