gpt4 book ai didi

c++ - 如何从 char * 分配 std::string

转载 作者:行者123 更新时间:2023-11-28 02:45:22 25 4
gpt4 key购买 nike

<分区>

这可能是微不足道的,但我是 C++ 的新手并且在这里感到困惑。

我有方法:

bool load_database_file( const std::string& filename, std::string& contents ) {

std::ifstream is (filename, std::ifstream::binary);
if (is) {
// get length of file:
is.seekg (0, is.end);
int length = (int)is.tellg();
is.seekg (0, is.beg);

char * buffer = new char [length];

std::cout << "Reading " << length << " characters... ";
// read data as a block:
is.read (buffer, length);

if (is)
std::cout << "all characters read successfully.";
else
std::cout << "error: only " << is.gcount() << " could be read";
is.close();

// ...buffer contains the entire file...

std::string str(buffer);
contents = str;

delete[] buffer;
}

return true ;
}

我想读取一个文件并将其内容分配给 contents 以便它可以被调用函数读取。

我的问题是,运行此函数后,我看到只有 buffer 的第一个字符被复制到 contents

我如何复制/转换buffer(一个char *)的全部内容到contents(一个std::字符串).

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com