gpt4 book ai didi

c++ - 在 C++ 中不使用 getline() 读取文本文件

转载 作者:行者123 更新时间:2023-11-28 02:09:29 24 4
gpt4 key购买 nike

据我了解,要分析一个文本文件,首选方法是逐行分析,既简单又高效。

但是,当我们处理一个包含所有文本的大文件时,getline() 函数肯定不会有效。我想知道是否有其他有效的方法来分析这个巨大的文件?

我唯一想到的就是将这一巨大的行存储到一个字符串变量中,然后将其切割成单字。但这听起来仍然效率不高。

请帮忙。谢谢!

最佳答案

您可以使用 std::istream::get(char *, std::streamsize) 将文件的大块读取到适当大的缓冲区中,然后逐个处理文件,大块。

或者,也可以使用特定于操作系统的方法。在 Linux 上,可以使用文件的只读 mmap() 来浏览它,而无需大惊小怪。

关于c++ - 在 C++ 中不使用 getline() 读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254632/

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