小编Ali*_*_SM的帖子

使用迭代器将部分文件流读入字符串

这是我到目前为止所尝试的但没有成功:

std::string ReadPartial( std::ifstream& _file, int _size )
{
    std::istreambuf_iterator<char> first( _file );
    std::istreambuf_iterator<char> last( _file );
    std::advance( last, _size );
    return std::string( first, last ); 
}
Run Code Online (Sandbox Code Playgroud)

我知道如何阅读整个文件.

std::string Read( std::ifstream& _file )
{
    std::istreambuf_iterator<char> first( _file );
    std::istreambuf_iterator<char> last();
    return std::string( first, last ); 
}
Run Code Online (Sandbox Code Playgroud)

但这不是我想要做的.我收到一个空字符串.如果我在调试器中查看第一个也是最后一个,即使在std :: advance之后它们指向同一个东西.

c++ string iterator

6
推荐指数
2
解决办法
2090
查看次数

标签 统计

c++ ×1

iterator ×1

string ×1