问题标签 [ifstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3143 浏览

c++ - 从文件 C++ 中读取多个字符串

我需要一一读取存储在文件中的不同值。所以我在想我可以ifstream用来打开文件,但由于文件的设置方式是一行可能包含三个数字,另一行一个数字或两个数字我不知道如何读取每个数字逐个。我正在考虑使用stringstream,但我不确定这是否可行。

该文件是这样的格式。

我需要读取每个数字并将其存储在vector.

实现这一目标的最佳方法是什么?即使每行包含不同数量的数字,也一次读取一个数字?

0 投票
2 回答
1156 浏览

c++ - 几个 ifstream 与 ifstream + 不断寻找

我正在写一个外部合并排序。它的工作原理是这样的:从大文件中读取 k 个块,在内存中对它们进行排序,执行 k 路合并,完成。所以我需要在 k-way 合并阶段从文件的不同部分顺序读取。最好的方法是什么:几个 ifstream 或一个 ifstream 和寻找?另外,是否有一个易于异步 IO 的库?

0 投票
4 回答
461 浏览

c++ - C++文件I/O问题

我正在尝试打开一个通常包含内容的文件,出于测试的目的,我想在文件不可用/不存在的情况下初始化程序,因此程序应该创建空文件,但在实现它时遇到问题。这是我最初的代码

我已经尝试了我能想到的一切,ofstream,ifstream,添加ios::out了所有的变体。谁能解释我该怎么做才能解决问题。谢谢!

0 投票
4 回答
1365 浏览

c++ - FILE* 或 ifstream 中哪一个具有更好的内存使用率?

我需要从大小约为 50MB 的文件中读取固定数量的字节。更准确地说,从 YUV 4:2:0 CIF/QCIF 文件中读取一帧(每帧约 25KB 到约 100KB)。不是很大的数字,但我不希望整个文件都在内存中。我正在使用 C++,在这种情况下,FILE* 或 ifstream 中的哪一个具有更好(更少/最少)的内存使用量?请多多指教。谢谢!

编辑:

我读取了固定数量的字节:25KB 或 100KB(取决于 QCIF/CIF 格式)。读数为二进制模式且只进。无需寻找。不需要写,只需要读。

编辑:

如果很难识别出更好的文件,哪一个不需要将整个文件加载到内存中?

0 投票
3 回答
9749 浏览

c++ - std::ifstream 是线程安全且无锁的吗?

我打算使用 std::ifstream 执行打开以从多个线程中读取单个文件。我担心的是 std::ifstream 是否是线程安全且无锁的?

更多细节:

  1. 我在 Ubuntu 和 Windows XP 上使用 g++ 4.4,在 Leopard 上使用 4.0。
  2. 每个线程创建自己的 std::ifstream 实例

提前致谢!

0 投票
1 回答
1103 浏览

c++ - 使用 std::ifstream 将结构数据类型的数组加载到 std::vector

我正在研究 C++ 中的位图加载器,当从 C 样式数组移动到 std::vector 时,我遇到了一个 Google 似乎没有答案的常见问题。

8 位和 4 位位图包含一个调色板。调色板具有蓝色、绿色、红色和保留组件,每个组件的大小为 1 个字节。

我遇到的问题是,当我创建 BGRQuad 结构的向量时,我不能再使用 ifstream 读取函数将文件中的数据直接加载到 BGRQuad 向量中。

有谁知道如何直接读入向量而无需创建 C 数组并将数据复制到 BGRQuad 向量中?

0 投票
4 回答
1611 浏览

c++ - C ++程序infile不会在xcode中打开?

替代文字 http://img638.imageshack.us/img638/5731/screenshot20100613at121.png

为什么 c++ 程序会产生所示的错误?我特别困惑,因为 outfile 打开时没有错误但 infile 显示错误?两者在 xcode 中的定义完全相同!!我更改了“路径类型”设置但没有成功。在 infile 上打开总是失败!任何建议将不胜感激!

对于那些回复感谢但正如您所见但存在 infile 和 outfile 并且位于同一位置的人:

替代文字 http://img709.imageshack.us/img709/9316/screenshot20100613at123.png

0 投票
8 回答
108141 浏览

c++ - 如何在 C++ 中计算文件的行数?

如何使用标准类计算行数,fstream以及ifstream

0 投票
2 回答
2207 浏览

c++ - C++ ifstream::read() - 破坏 ifstream 获取指针?

这里有人知道 C++ ifstream 的 get 指针在 read() 调用后可能会损坏吗?我看到了一些我无法解释的真正奇怪的行为。例如(说明性代码,而不是我实际运行的代码):

我的示例显示了一个数组读取,但即使在读取内置类型的单个值时也会发生这种情况;读取之前的 get 指针是正确的, gcount() 调用报告读取的正确字节数,但之后的 get 指针完全搞砸了。每次 read() 调用都不会发生这种情况——有时我会在一个东西出现之前通过一堆它们。什么可能会与 get 指针混淆?我在做一些非常愚蠢的事情吗?

任何和所有的帮助都非常感谢......

西蒙

0 投票
2 回答
2392 浏览

c++ - 从 ifstream 读取时出现多余的空行

在我的程序中,我已将标准输出重定向到打印到文件“console.txt”。一个函数像这样写入该文件:

我有一个从该文件中读取的函数,如下所示:

通常,console.txt 在readLogFile被调用时是空的。我希望while(!log.eof())在这种情况下循环永远不会执行,但确实如此。文件中总是至少有一个无关的空行,有时是两个,当从文件中读取输入时,输入行夹在两个空行之间。几次调用此函数后,while(!log.eof())循环进入一个无限循环,从文件中提取空行。该程序的典型运行过程如下所示:

谁能看到我在这里做错了什么?

编辑:正如 Amardeep 所建议的,我将while(!log.eof())循环更改为do{...}while(!log.fail);循环。这解决了无限循环问题,但没有解决多余的行。程序的行为和以前一样,除了它曾经进入无限循环的地方,它现在只读取应该读取输入的空白​​行,如下所示: