fstream相关内容
也许是一个虚拟的问题,但我需要一个明确的答案.这些函数的返回是否有任何区别 int FileExists(const std::string& filename) { ifstream file(filename.c_str()); return !!file; } int FileExists(const std::string& filename) { ifstream f
..
在处理文件时,以下两个示例中的哪一个是首选? 一个提供比另一个更好的性能吗?有什么区别吗? ifstream input("input_file.txt"); ofstream output("output_file.txt"); vs fstream input("input_file.txt",istream::in); fstream output("output_file.
..
我有一个类,其文件流的类型为ofstream.构造函数以追加模式打开文件,并且所有消息总是写在文件末尾. 我需要以最大固定大小(例如1Mb)写入outputFile,然后我需要关闭,重命名和压缩它,然后打开一个同名的新文件. 当达到一定大小的文件时,需要执行此操作. 我尝试使用tellg(),但是在阅读了相关内容(和这)在互联网上,我知道这不是正确的方法. 由于我是C ++
..
两者之间有什么区别 fstream texfile; textfile.open("Test.txt"); 和 ofstream textfile; textfile.open("Test.txt"); 它们的功能是否相同? 解决方案 ofstream仅具有用于输出的方法,因此例如,如果您尝试textfile >> whatever,它将无法编译. fstream可以用
..
这可能对您来说是一个非常讨厌的问题:如何(如果可能的话)从函数返回ifstream? 基本上,我需要从用户那里获取数据库的文件名,如果不存在具有该文件名的数据库,则需要为用户创建该文件.我知道该怎么做,但只能在创建文件后要求用户重新启动程序.我想尽可能避免给用户带来不便,但是下面的函数无法在gcc中编译: ifstream getFile() { string fileName
..
我正在使用如下创建的基本std::ofstream对象: output_stream = std::ofstream(output_file.c_str()); 这将创建一个文件,并在其中放置一些信息.让我显示此类消息的示例:(“监视"窗口摘录) full_Message "Error while processing message:\r\n\tForecast Reque
..
可能重复: 为什么在读取eof时设置了故障位?有出路吗? 我正在编写一个小程序,它在Mac OS和Ubuntu(Unix ...)上运行良好.程序必须读取数据文件,并将字节(char s/unsigned char s)和memcpy()分成浮点数.这将包括采用以下四个值进行阅读和阅读的过程.左移它们到32位int中,然后将int的存储器复制到float中.像这样: 0x43 0x6
..
这是名为"TextFile.txt"的文本文件 Stat Rain 1 16 2 34 3 24 4 23 5 21 6 19 7 17 8 35 9 27 这是我的c ++代码: #include #include using n
..
在用ifstream打开的文件中获取当前行的行号的最佳方法是什么?因此,我正在读取数据,我需要存储它所在的行号,以便稍后在数据不符合规范的情况下显示它. 解决方案 如果您不想将自己限制为std::getline,则可以使用从std::streambuf派生的类,并且跟踪当前行号: class CountingStreamBuffer : public std::streambuf {
..
Compiler: Microsoft C++ 2005 Hardware: AMD 64-bit (16 GB) 通过以下定时,文件访问和文件结构特征,对18GB文件进行顺序的只读访问: 18,184,359,164(文件长度) 11,240,476,672(ntfs压缩文件)长度) Time File Method
..
这个答案指出C ++不适合迭代二进制文件,但这是我现在需要什么,简而言之我需要以“二进制”方式操作文件,是的,所有文件都是二进制文件,甚至是.txt文件,但是我正在写一些操作图像文件的东西,所以我需要读取文件结构良好,数据是以特定方式排列的。 我想在数据结构中读取整个文件,例如 std :: vector 所以我几乎可以立即关闭文件并使用内存中的内容而不再关心磁盘I / O.
..
我需要找到一种从文件中读取最后6行数据的方法。 例如,如果我有 1 2 3 4 5 6 7 8 9 10 我需要阅读才能获得 10,9 ,8,7,6,5,4。 这些需要放入变量或字符串中以便稍后输出。目前我已经设法读取文件的最后一行,但我不知道如何读取其他5个数字。 #include #include
..
我缩小了我的代码范围,我找到了问题的根源,就是当我打开文件时。 该文件确实存在,编译时我没有收到任何警告或错误。 int main(int argc,const char * args []) { cout
..
我正在使用STL。我需要从文本文件中读取行。如何读取行直到第一个 \ n 但是直到第一个''(空格)? 例如,我的文本文件包含: Hello world 嘿那里 如果我这样写: ifstream文件(“FileWithGreetings.txt”); string str(“”); 档案>>海峡; 然后 str 将仅包含“Hello
..
我花了很长时间才发现我的 .open()调用没有打开文件,因为我有 trunc 和 app 模式选项设置。我只是在收到 C ++文档上的一个小笔记后才想到这一点。 这似乎是一个奇怪的问题。为什么会这样?你不能截断文件,然后只附加?或者这被认为是多余的规范? 解决方案 iostream 开放模式对应大致到 fopen 模式和 fopen 具有截断的 w 模式和 a 附加的模式,但没有两
..
我刚开始想知道 - 实际上 std :: fstream 是如何用 std :: ios :: in 和 std :: ios :: out 实际上应该有效吗?它该怎么办?写一些东西(例如)一个空文件,然后读......什么?刚写的价值?文件“指针”/“光标”在哪里?也许答案已经在那里,但我无法找到它。 解决方案 什么是 std :: fstream ? std :: fstream
..
我的应用程序中有一个包含大量信息的输入文件。按顺序读取它,并且一次只读取一个文件,这对我的应用程序的使用是不够的。理想情况下,我希望有两个线程,它们具有独立且不同的 ifstream s读取同一文件的两个唯一文件偏移量。我不能只启动一个 ifstream ,然后使用它的复制构造函数复制它(因为它是不可复制的)。 那么,我该如何处理? 我可以立即想到两种方式, 为第二个帖子构建一个新的
..
我有一个包含以下数据的文本文件。 第一行是: 5 4 3 2 1 第二行是: 1 2 3 4 5 我试图一次读取一行数据,因为我的第一个链表对象将使用第一行的数据,我的第二个链表对象将使用第二行的数据。我能想到的最好的是以下函数: void polynomial :: allocate_poly(std :: ifstream& in,const char *
..
我正在使用一些HID设备,所有设备都有从以下基类派生的类(在 main.h 中): class HIDDevice { public: hid_device * device; 虚拟空读(std :: fstream)= 0; 虚拟空写(std :: fstream)= 0; }; 这是从中派生出来的设备类之一( device.h ) : clas
..
所以我编写了一个C ++程序,可以生成非常高分辨率的图片(分形)。 我使用fstream将所有数据保存在.ppm文件中。 一切正常,但当我进入真正的高分辨率(38400x21600)ppm时文件有~8千兆字节。 然而,凭借我的16 GB Ram,我仍然无法转换那张照片。我下载了几个转换器,但他们无法处理它。当我试图“导出为......”时,甚至Gimp也崩溃了。 那么,有没有人知道
..