243得票13回答
mmap()与读取数据块的区别

我正在开发一个程序,将要处理可能大小为100GB或更大的文件。这些文件包含了长度可变的多组记录。我已经完成了第一个实现,并且现在致力于提高性能,特别是在更有效地进行I/O操作方面,因为输入文件需要被扫描多次。 有没有一些使用mmap()和C++的fstream库读取块的经验法则?我的想法是从磁...

188得票1回答
C++:变量'std::ifstream ifs'具有初始化程序但类型不完整。

抱歉,如果这显得有些新手,但我对C++还很陌生。我正在尝试使用ifstream打开文件并读取它: vector<string> load_f(string file) { vector<string> text; ifstream ifs(file); ...

132得票7回答
从文本文件读取直到EOF,重复最后一行。

以下的C++代码使用一个ifstream对象从文本文件中读取整数(每行一个)直到遇到EOF。为什么它会在最后一行读取两次整数?如何修复这个问题? 代码:#include <iostream> #include <fstream> using namespace std...

112得票8回答
如何使用 POSIX 文件描述符构建 C++ fstream?

我基本上正在寻找fdopen()的C++版本。我对此进行了一些研究,它似乎是应该很容易的事情,但结果却非常复杂。我对这种想法是否有所遗漏(即它确实很容易)?如果没有,那么有没有一个很好的库可以处理这个问题? 编辑:将我的示例解决方案移动到单独的答案中。

104得票9回答
如何逐行读取文件或一次性读取整个文本文件?

我正在学习一个关于文件操作的教程,其中包括如何从文件中读取和写入内容。 首先声明,这不是作业,只是我在寻求一般性的帮助。 我知道如何逐个单词地读取文件内容,但我不知道如何逐行或一次性读取整个文件。 如果我的文件包含1000个单词,逐个读取整个文件显然是不现实的。 我的文本文件名为“Read”,...

99得票6回答
使用C++文件流(fstream),如何确定文件的大小?

我相信我在手册中漏掉了这一点,但是如何使用C++ fstream头文件中的istream类确定文件的大小(以字节为单位)?

88得票7回答
C++文件处理:ios::app和ios::ate之间的区别是什么?

ios::ate 和 ios::app 在写入文件时有什么区别? 在我看来,ios::app 使你能够在文件中移动,而使用 ios::ate 只能在文件末尾进行读/写。这正确吗?

86得票3回答
我需要关闭一个std::fstream吗?

可能是重复问题: 我需要手动关闭 ifstream 吗? 我是否需要调用fstream.close()方法,或者fstream是一个合适的RAII对象,在销毁时会自动关闭流? 我在一个方法中有一个本地的std::ofstream对象。如果在退出这个方法后没有调用close方...

80得票9回答
从std::fstream获取FILE*

有没有一种(跨平台的)方法可以从C++ std :: fstream获取C FILE*句柄? 我问这个问题是因为我的C ++库接受fstream,而在一个特定的函数中,我想使用一个接受FILE *的C库。

79得票3回答
std::fstream缓冲区与手动缓冲区(为什么手动缓冲区可以获得10倍的性能提升)?

我测试了两种写入配置: Fstream 缓冲:// Initialization const unsigned int length = 8192; char buffer[length]; std::ofstream stream; stream.rdbuf()->pubsetbu...