memorystream - 字符串流,字符串,其他?
Posted
技术标签:
【中文标题】memorystream - 字符串流,字符串,其他?【英文标题】:memorystream - stringstream, string, others? 【发布时间】:2010-12-06 10:32:16 【问题描述】:我正在通过通常的 c++/STL/iostream 语法读取二进制文件。 我正在将整个内容复制到一个动态分配的 char 数组中,到目前为止效果很好。
但是由于我想将部分内容作为行提供给程序的另一部分, 我认为坚持流媒体会更好/更容易,因为我不想乱搞 带有 cstring 函数和指针。
我现在的问题是,如何将读取的内容存储在内存中。在字符串流中?还是在字符串中? 哪个更合适?一个比另一个有什么优势或劣势?
提前致谢!
【问题讨论】:
好的,读完这个***.com/questions/132358/… 后复制很容易这个(如果是真的)还指出stringstreams 内部缓冲区是一个字符串(因此我猜这个名字)。我怎样才能为这个缓冲区保留字节 - 我在 ctor 中没有看到任何关于它的注释或关于保留函数的任何内容...... 【参考方案1】:如果你想从它作为流读取,你还不如直接从文件中读取到字符串流:
std::stringstream data;
data << input_file.rdbuf();
将“input_file”的全部内容读入“data”。您可以像读取任何其他流一样从那里读取数据。
【讨论】:
谢谢,已经知道了。现在的问题是在我的班级中将字符串流存储为一种内存/字符缓冲区是否明智?还是我应该使用字符串? 那么 std::stringbuf 呢? 没有特定的理由不这样做,我只存储字符串流。以上是关于memorystream - 字符串流,字符串,其他?的主要内容,如果未能解决你的问题,请参考以下文章