问题标签 [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.
c++ - 从文件 C++ 中读取多个字符串
我需要一一读取存储在文件中的不同值。所以我在想我可以ifstream
用来打开文件,但由于文件的设置方式是一行可能包含三个数字,另一行一个数字或两个数字我不知道如何读取每个数字逐个。我正在考虑使用stringstream
,但我不确定这是否可行。
该文件是这样的格式。
我需要读取每个数字并将其存储在vector
.
实现这一目标的最佳方法是什么?即使每行包含不同数量的数字,也一次读取一个数字?
c++ - 几个 ifstream 与 ifstream + 不断寻找
我正在写一个外部合并排序。它的工作原理是这样的:从大文件中读取 k 个块,在内存中对它们进行排序,执行 k 路合并,完成。所以我需要在 k-way 合并阶段从文件的不同部分顺序读取。最好的方法是什么:几个 ifstream 或一个 ifstream 和寻找?另外,是否有一个易于异步 IO 的库?
c++ - C++文件I/O问题
我正在尝试打开一个通常包含内容的文件,出于测试的目的,我想在文件不可用/不存在的情况下初始化程序,因此程序应该创建空文件,但在实现它时遇到问题。这是我最初的代码
我已经尝试了我能想到的一切,ofstream,ifstream,添加ios::out
了所有的变体。谁能解释我该怎么做才能解决问题。谢谢!
c++ - FILE* 或 ifstream 中哪一个具有更好的内存使用率?
我需要从大小约为 50MB 的文件中读取固定数量的字节。更准确地说,从 YUV 4:2:0 CIF/QCIF 文件中读取一帧(每帧约 25KB 到约 100KB)。不是很大的数字,但我不希望整个文件都在内存中。我正在使用 C++,在这种情况下,FILE* 或 ifstream 中的哪一个具有更好(更少/最少)的内存使用量?请多多指教。谢谢!
编辑:
我读取了固定数量的字节:25KB 或 100KB(取决于 QCIF/CIF 格式)。读数为二进制模式且只进。无需寻找。不需要写,只需要读。
编辑:
如果很难识别出更好的文件,哪一个不需要将整个文件加载到内存中?
c++ - std::ifstream 是线程安全且无锁的吗?
我打算使用 std::ifstream 执行打开以从多个线程中读取单个文件。我担心的是 std::ifstream 是否是线程安全且无锁的?
更多细节:
- 我在 Ubuntu 和 Windows XP 上使用 g++ 4.4,在 Leopard 上使用 4.0。
- 每个线程创建自己的 std::ifstream 实例
提前致谢!
c++ - 使用 std::ifstream 将结构数据类型的数组加载到 std::vector
我正在研究 C++ 中的位图加载器,当从 C 样式数组移动到 std::vector 时,我遇到了一个 Google 似乎没有答案的常见问题。
8 位和 4 位位图包含一个调色板。调色板具有蓝色、绿色、红色和保留组件,每个组件的大小为 1 个字节。
我遇到的问题是,当我创建 BGRQuad 结构的向量时,我不能再使用 ifstream 读取函数将文件中的数据直接加载到 BGRQuad 向量中。
有谁知道如何直接读入向量而无需创建 C 数组并将数据复制到 BGRQuad 向量中?
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
c++ - 如何在 C++ 中计算文件的行数?
如何使用标准类计算行数,fstream
以及ifstream
?
c++ - C++ ifstream::read() - 破坏 ifstream 获取指针?
这里有人知道 C++ ifstream 的 get 指针在 read() 调用后可能会损坏吗?我看到了一些我无法解释的真正奇怪的行为。例如(说明性代码,而不是我实际运行的代码):
我的示例显示了一个数组读取,但即使在读取内置类型的单个值时也会发生这种情况;读取之前的 get 指针是正确的, gcount() 调用报告读取的正确字节数,但之后的 get 指针完全搞砸了。每次 read() 调用都不会发生这种情况——有时我会在一个东西出现之前通过一堆它们。什么可能会与 get 指针混淆?我在做一些非常愚蠢的事情吗?
任何和所有的帮助都非常感谢......
西蒙
c++ - 从 ifstream 读取时出现多余的空行
在我的程序中,我已将标准输出重定向到打印到文件“console.txt”。一个函数像这样写入该文件:
我有一个从该文件中读取的函数,如下所示:
通常,console.txt 在readLogFile
被调用时是空的。我希望while(!log.eof())
在这种情况下循环永远不会执行,但确实如此。文件中总是至少有一个无关的空行,有时是两个,当从文件中读取输入时,输入行夹在两个空行之间。几次调用此函数后,while(!log.eof())
循环进入一个无限循环,从文件中提取空行。该程序的典型运行过程如下所示:
谁能看到我在这里做错了什么?
编辑:正如 Amardeep 所建议的,我将while(!log.eof())
循环更改为do{...}while(!log.fail);
循环。这解决了无限循环问题,但没有解决多余的行。程序的行为和以前一样,除了它曾经进入无限循环的地方,它现在只读取应该读取输入的空白行,如下所示: