【发布时间】:2020-12-02 06:32:45
【问题描述】:
我有一个QByteArray,想像使用普通文本文件一样使用它。如何在上面使用std::basic_istream::read之类的功能?
【问题讨论】:
-
听起来工作量很大。是否有特殊原因为什么您不使用它的
begin()(可能还有end())迭代器来std::copy()或std::copy_n? -
@TedLyngmo,你的意思是我把它复制到另一个容器中?正如约翰帕克所说的那样?
-
是的,有点。由于 Qt 的迭代器与 STL 兼容,因此您可以像使用任何 STL 迭代器一样使用它们。您也可以使用
std::string from_byte_array(qt_byte_array.begin(), qt_byte_array.end());复制数据,或者如果您不想复制:std::string_view view_over_byte_array(qt_byte_array.begin(), qt_byte_array.size());也可以。由于您明确表示要将其用作文件,因此我没有对此做出回答。