我有一个istream,我需要读取具体数量的字节,但我不知道它的长度.它被终止.我想我可以1)写一个循环并一次读取一个字节2)告诉它给我一个缓冲区或字符串,它现在开始直到某个字节(在这种情况下为0).或者3)一次只读取一个字节的buf并检查它是否为0,如果不是则将其附加到字符串.
第三个我知道我可以做,但其他2听起来像istream可能是可能的(在这种情况下它是一个文件流).我还在阅读istream的文档.有很多.
Eug*_*nca 13
由于你不知道它的长度,最简单的是:
std::string strBuf;
std::getline( istream, strBuf, '\0' );
Run Code Online (Sandbox Code Playgroud)