fstream相关内容
我正在开发一个程序,该程序将处理大小可能为 100GB 或更大的文件.这些文件包含多组可变长度记录.我已经启动并运行了第一个实现,现在正在寻求提高性能,特别是在更有效地执行 I/O 方面,因为输入文件被多次扫描. 是否有使用 mmap() 与通过 C++ 的 fstream 库读取块的经验法则?我想做的是从磁盘读取大块到缓冲区,处理缓冲区中的完整记录,然后再读取更多. mmap() 代
..
我有一个已经包含一些数据的文件(比如 8 kB).我想从文件的开头读取一些内容,然后从我读完的地方开始覆盖数据.所以我尝试使用以下代码: std::fstream stream("filename", std::ios::in | std::ios::out | std::ios::binary);字符字节;stream.read(&byte, 1);//流.seekp(1);int bytes
..
可能的重复: 为什么在读取 eof 时会设置故障位?有出路吗? 我正在编写一个小程序,它在 Mac OS 和 Ubuntu(Unix...)上运行良好.程序必须读入数据文件并将字节(chars/unsigned chars)和 memcpy() 分隔成浮点数.这将包括采用以下四个值的过程,阅读 &将它们左移为 32 位 int,然后将 int 的内存复制到 float 中.像这样: 0x
..
我正在尝试从一个正在增长的文件中读取数据(类似于 tail -F 所做的),但我的代码肯定存在一些问题: string log, logFile("test.log");size_t p = 0;同时(真){ifstream ifs(logFile.c_str());ifs.seekg(p);//*1while(ifs.eof() == false){获取线(如果,日志);cout
..
我正在尝试读取文本文件,但没有任何内容.我觉得它可能没有在我的 Visual Studio Resources 文件夹中正确链接,但是如果我双击它 - 它在 Visual Studio 中打开得很好,如果我测试它是否打开或者它是否良好,它不会遇到任何问题.该程序现在可以正常编译,但没有输出.我的命令提示符没有打印任何内容.有什么建议吗? 代码 #include #include #incl
..
在写入文件时,ios::ate 和 ios:app 之间有什么区别. 在我看来,ios::app 使您能够在文件中移动,而使用 ios::ate 它只能在文件的末尾读/写文件.这是正确的吗? 解决方案 正好相反.当ios::ate 被设置时,初始位置将是文件的末尾,但您可以在此后自由查找.当设置 ios::app 时,所有 输出操作都在文件末尾执行.由于所有写入都隐含地在查找之前,因此无
..
我测试了两种写入配置: Fstream 缓冲: //初始化const unsigned int 长度 = 8192;字符缓冲区[长度];std::ofstream 流;stream.rdbuf()->pubsetbuf(buffer, length);stream.open("test.dat", std::ios::binary | std::ios::trunc)//要写我使用:str
..
是否有(跨平台)方法可以从 C++ std::fstream 获取 C FILE* 句柄? 我问的原因是因为我的 C++ 库接受 fstreams,并且在一个特定的函数中,我想使用一个接受 FILE* 的 C 库. 解决方案 简短的回答是否定的. 原因是 std::fstream 不需要使用 FILE* 作为其实现的一部分.因此,即使您设法从 std::fstream 对象中提
..
以下 C++ 代码使用 ifstream 对象从文本文件(每行一个数字)中读取整数,直到遇到 EOF.为什么它读取最后一行的整数两次?如何解决这个问题? 代码: #include #include 使用命名空间标准;int main(){ifstream iFile("input.txt");//input.txt 有整数,每行一个而 (!iFile.eof()){整数
..
所以这里我得到了这个每个人都明白的小程序. include 包括 使用命名空间标准;int主(){ofstream myfile;myfile.open ("example.txt");我的文件 这个程序工作得很好,但是,问题是如果我将它添加到在 Windows 启动时运行(在注册表中SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\
..
ifstream myfile;myfile.open("文件测试");字符串线;如果(myfile.is_open()){cout
..
我正在修改一个项目,我想将输出写入文件.在我的 .hpp 文件中,我声明了一个文件流,如下所示: //fname.hpp文件#includestd :: ifstream m_ifs =("path_to_file"); 然后在我的 .cpp 文件中 //fname.cpp如果(!m_ifs.is_open()){std :: cerr
..
我正在使用Xcode,但无法打开文件流来分配文本文件中的变量.我推测将txt文件放置在与项目相同的目录中将使我可以在不包含整个目录的情况下打开流.我已经把它弄乱了好一阵子,但无济于事,我无法使其正常工作.我相信我能够一次读取数据,但是我认为打印的字符串是unicode(不确定).这是一个非常简单的程序.我认为它会起作用.我认为我的问题与示例所在的目录以及Xcode如何处理项目文件有关.我只是将示例
..
我正在生成一个CSV文件,当然,最后我得到了一个奇妙的结尾逗号 data1,data2,data3,数据1,数据2,数据3,数据1,数据2,数据3,数据1,数据2,数据3, 我可以使用fstream功能删除最后一个逗号吗?我对C fopen更加熟悉,所以我有点没水了,只是在寻找一种快速,最佳实践的解决方案. 解决方案 使用流执行此操作的唯一方法是将输出写入临时缓冲区/文件(例如 s
..
我想添加一个打开的流作为类( Barcode )属性.目的是在我的 main()中实现多个条形码,每个条形码都可以写入特定文件.另外,我决定将所有条形码存储在一个向量中,该向量属于 Barcodes 类,尽管它可能没有用. 这是我的代码: #include#include#include#include#inc
..
我是C ++的新手,想在 .txt 文件上写入数据(整数).数据位于三列或更多列中,以后可以读取以作进一步使用.我已经成功创建了一个阅读项目,但是对于写作一个项目,该文件已创建,但是它是空白的.我尝试了来自多个站点的代码示例,但没有帮助.从代码中可以看出,我必须编写来自三个不同方程式的结果. #include#include使用命名空间std;int m
..
我需要逐行读取文件,这是通过std :: getline完成的.问题是另一个过程一直在向其附加数据,因此我需要读取新行. 例如,文件首先包含10行,我的程序读取了10行,然后我的程序应等待.过了一会儿,另一个进程将5行添加到文件中,然后我的程序读取了5行. 我尝试了这个,但是不起作用: int main(){ifstream ifs("test.txt");弦线;while(1){
..
我想知道如何使用C ++从Excel电子表格中读取特定的单元格.我知道我们必须使用"fstream"库,但是我不知道我该如何从某个单元格中获取这些值,并将其打印在屏幕上.任何帮助,将不胜感激,谢谢!Carpetfizz 解决方案 在Linux中,您可以免费使用: http://libxls.sourceforge.net/ 在Windows中,您有 http://www.libxl.
..
我尝试在C ++中附加文件.开始时文件不存在.操作后,文件中只有一行而不是五行(此方法调用5次).看来文件正在创建中,接下来将清除每个写操作文件并添加新字符串. void storeUIDL(char * uidl){fstream uidlFile(uidlFilename,fstream :: app | fstream :: ate);如果(uidlFile.is_open()){uid
..
我需要从 a中读取一系列数字用空格分隔的人类可读文件并进行一些数学运算,但是我在读取文件时遇到了一些真正奇怪的内存行为. 如果我读了这些数字并立即丢弃它们... #includeint main(int,char **){std :: ifstream ww15mgh("ww15mgh.grd");双重价值while(ww15mgh>>值);返回0;} 我的程序根
..