17得票2回答
文件流媒体实际上是如何工作的?

我一直在想,文件流是如何工作的?通过文件流,我指的是在不将整个文件加载到内存中的情况下访问文件的部分内容。 我知道C ++类(i|o)fstream 正是这样做的,但它是如何实现的?是否可能自己实现文件流? 在最低的C/C++ (或者任何支持文件流的语言)级别上,它是如何工作的?C函数 fop...

16得票2回答
使用ifstream、ofstream或fstream进行输入和输出

在处理文件时,下面两个示例中哪一个更好?它们的性能是否有所不同?ifstream input("input_file.txt"); ofstream output("output_file.txt"); 对比fstream input("input_file.txt",istream::in)...

16得票3回答
如何在C++中手动读取PNG文件?

可移植网络图形总览 任何给定的PNG文件的常规布局如下: 文件头: 8字节的签名。 块: 数据块,从图像属性到实际图像本身。 问题 我想在C++中读取PNG文件,而不使用任何外部库。我想这样做是为了更深入地了解PNG格式和C++编程语言。 我开始使用fstream逐字节读取...

16得票1回答
如何使用std :: ifstream读取具有宽字符串路径的二进制文件

我正在以以下方式读取二进制文件:const size_t stBuffer = 256; char buffer[stBuffer]; std::wstring wPath(L"blah"); std::wifstream ifs(wPath.c_str(), std::wifstream::...

16得票5回答
C++:使用ifstream和getline()函数。

请检查这个程序ifstream filein("Hey.txt"); filein.getline(line,99); cout<<line<<endl; filein.getline(line,99); cout<<line<<endl; fi...

16得票1回答
为什么我不能用`fstream`的实例来初始化对`ofstream`或`ifstream`的引用?

介绍void read_foo (std::ifstream& out); void write_foo (std::ofstream& out); 我有这两个函数,一个用于读取文件,另一个用于写入文件。 下面的代码片段是有效的:std::ifstream ifs ("fi...

15得票3回答
可携式换行符(newline)

这是一个不愉快的惊喜,发现在Windows上'\n'被替换成了"\r\n",我之前并不知道。(我猜Mac上也会被替换...) 有没有一种简单的方法可以确保Linux、Mac和Windows用户可以轻松地交换文本文件? 所谓简单的方法是指:不用以二进制模式写入文件或自己(或使用第三方程序/代...

15得票4回答
在函数中返回 ifstream

这里有一个可能非常新手的问题:如何(如果可能的话)从函数中返回一个 ifstream? 基本上,我需要从用户那里获取数据库的文件名,如果该文件名对应的数据库不存在,则需要为用户创建该文件。我知道如何做到这一点,但是只能通过要求用户在创建文件后重新启动程序来实现。如果可能的话,我想避免给用户带...

15得票3回答
如何使用 fstream 在文件打开的情况下截断文件

我知道可以使用截断文件的方法。std::fstream fs(mypath, std::fstream::out | std::fstream::trunc); 但我需要读取文件、截断它,然后使用同一个文件句柄写入新内容(以便整个操作是原子的)。有人能帮忙吗?

15得票5回答
关于fstream缓冲区,flush()和sync()有什么区别?

我正在阅读cplusplus.com I/O教程,该教程的结尾提到fstream缓冲区与磁盘上的文件同步。 显式地使用操纵符: 当在流上使用某些操纵符时,会发生显式同步。这些操纵符包括: flush 和 endl。 以及 显式地使用成员函数sync(): 调用流的成员函数sync(...