首页 文章
  • 1 votes
     answers
     views

    将原始对象写入/读取到文件

    问题:我需要从文件中写入/读取对象 . 这是因为我需要将std :: list写入/读取到文件中,但无论如何 . 不仅仅是T = int(这很简单),但无论如何参数 . 在使用OutputFileStream和InputFileStream的Java中,这很可能,但我认为它只是一个JVM功能 . 但是我试图读取/写入文件的对象: template <class T> bool writ...
  • -1 votes
     answers
     views

    在c中读取从文本文件到数组的输入

    好吧,温柔,因为我非常喜欢编程 . 到目前为止,我只学习了C,我正在运行Visual Studio 2010作为我的编译器 . 对于这个程序,我试图从文本输入文件中读取并将信息写入一组三个数组 . 一个阵列将处理名称列表,另外两个分别用于工作小时数和小时工资率 . 我将使用后两者来计算一组收入,并将整个事物输出到另一个文本文件作为报告 . 然而,我的问题是获取第一个数组的输入 . 我正在使用的输入...
  • 0 votes
     answers
     views

    在c [duplicate]中将文本文件中的输入读取到数组

    这个问题在这里已有答案: Reading input from text file to array in c++ 2个答案 好吧,温柔,因为我非常喜欢编程 . 到目前为止,我只学习了C,我正在运行Visual Studio 2010作为我的编译器 . 对于这个程序,我试图从文本输入文件中读取并将信息写入一组三个数组 . 一个阵列将处理名称列表,另外两个分别用于工作小时数和小时工资率 . 我将...
  • 0 votes
     answers
     views

    将结构成员写入二进制文件并使用带有C的fstream读取它们

    对于C世界来说还是新手,以下问题是因为家庭作业!我没有找到太多的帮助搜索以前回答的问题或谷歌,并不意味着我没有错过它 . 家庭作业的目标:1 . )获取用户输入信息并将其存储在二进制文件中 . 2.)稍后再读取该数据 . 我有一个最多10个结构的数组,struct接受用户名的char数组,用户电话号码的char数组和浮动工资 . 当我输入一些测试用例时,文件写入,我假设正确 . 当我去读取值时,...
  • 0 votes
     answers
     views

    std :: fstream不会打开当前进程的文件,但是open()会吗?

    我试图打开当前进程的可执行文件进行读写操作(我有附加到可执行文件的附加数据),但是std :: fstream不会在ios :: in中打开文件 . ios :: out | ios :: binary模式,即使open()也会(设置O_RDWR标志) . 有谁知道为什么std :: fstream不会打开文件,而open()会,如果是这样,我怎么能让std :: fstream打开文件?
  • 8 votes
     answers
     views

    由于memcpy,C ifstream :: read很慢

    最近我决定优化我正在做的一些文件读取,因为正如大家所说,将大量数据读取到缓冲区然后使用它比使用大量小读取更快 . 而且我的代码现在肯定要快得多,但在进行一些分析之后,似乎memcpy占用了大量的时间 . 我的代码的要点是...... ifstream file("some huge file"); char buffer[0x1000000]; for (yada yada) ...
  • 8 votes
     answers
     views

    使用C:编写二进制文件,默认语言环境是否重要?

    我有使用fstream操作二进制文件的代码,其中设置了二进制标志并使用未格式化的I / O函数进行读写 . 这在我曾经使用的所有系统上都能正常工作(文件中的位完全符合预期),但这些基本上都是美国英语 . 我一直想知道这些字节可能被不同系统上的codecvt修改 . 听起来像标准说使用无格式I / O的行为与使用sputc / sgetc将字符放入streambuf相同 . 这些将导致streamb...
  • 13 votes
     answers
     views

    关于fstream缓冲区,flush()和sync()之间有什么区别?

    我正在读cplusplus.com tutorial on I/O . 最后,它说fstream缓冲区与光盘上的文件同步 明确地,使用操纵器:当在流上使用某些操纵器时,会发生显式同步 . 这些操纵器是:flush和endl . 和 显式地,使用成员函数sync():调用流的成员函数sync(),它不带参数,导致立即同步 . 如果流没有关联的缓冲区或者出现故障,则此函数返回等于-1的int值 ...
  • 1 votes
     answers
     views

    使用ICU(ICU4C)读取UTF-8编码文件的缓冲区大小

    我正在尝试使用msvc11在Windows上使用ICU4C读取UTF-8编码的文件 . 我需要确定构建UnicodeString的缓冲区大小 . 由于ICU4C API中没有类似fseek的功能,我认为我可以使用底层的C文件: #include <unicode/ustdio.h> #include <stdio.h> /*...*/ UFILE *in = u_fopen...
  • 4 votes
     answers
     views

    seekp和seekg不适用于fstream

    我在Debian x64 PC上运行的程序中有一个奇怪的行为 . 我无法首先读取文件,然后写入另一个值然后读取这些值 . 我已经阅读了很多信息,包括有关stackoverflow的问题,发现(也通过实验)我需要更改seekp和seekg,我这样做 . 一切正常......直到我从流中读到一些东西 . 在读取操作之后,如果我寻找文件的开头,然后调用tellg(),tellp(),它们都返回'-1' ...
  • 0 votes
     answers
     views

    将矢量成员的数据结构写入二进制文件

    尝试编写包含向量成员的数据结构时,我注意到当从缓冲区读回数据时,向量成员不准确 . 首先,我使用简单的值手动编写结构:(假设在这种情况下POD成员是准确的 . ) void ObjFileImport::WriteGeometryFile(LPWSTR In_File){ BaseGeometry WriteTest; WriteTest.VertexData = { XMFLOAT3(9...
  • 1 votes
     answers
     views

    C:fstream,向后读/写?

    第一次在这里发帖,所以如果我犯了任何错误,我会道歉 . 基本上,我想知道你是否可以使用ifstream.read(addr,size),其中size是负数 . 据我所知,size是一个带符号的参数,而tell / seek命令具有类似的功能 . 例: ifstream fin(argv[1], ios::binary | ios::ate); fin.read(reinterpret_cast&l...
  • 0 votes
     answers
     views

    虽然fstream是从iostream派生出来的,但为什么包括fstream,为什么还包括iostream?

    不久之前,我正在使用旧标准的C编译器(TurboC),其中包括fstream.h,包括iostream.h变得不必要(例如,为了使用cout / cin) .现在,当我切换到更新的标准编译器时,我发现即使在包含fstream之后我也需要包含iostream,尽管事实上fstream是从iostream派生的 . 所以,我想知道为什么需要使用fstream包含iostream并增加编译时间 .
  • 2 votes
     answers
     views

    c fstream和seekp

    如果我在文件末尾进行搜索,然后写一下会发生什么?我想要发生的是文件将自动扩展到搜索位置的大小 . 如果是这样,它是否通过向磁盘写入任何内容或刚刚分配的空间来填充旧文件末尾和新位置之间的空间 . 但是,如果它不扩展文件,我怎么能相当有效地完成?
  • 0 votes
     answers
     views

    std :: fstream :: write && std :: fstream :: putc std :: ios :: binary

    我怀疑我甚至没有使用 std::fstream 为二进制I / O创建和打开文件 BinarySearchFile::BinarySearchFile(std::string file_name){ // concatenate extension to fileName file_name += ".dat"; // form complete t...
  • 22 votes
     answers
     views

    “seekp”和“seekg”是否可以互换?

    好吧,我只是注意到通过改变位置-in microsoft visual studio-通过“seekp”我隐式地也改变了处理文件时的读取位置 . 我想知道这是否是"portable"行为?我能指望阅读和写作的位置始终如一吗?因此: tellp & tellg 总会返回相同的值吗?
  • 8 votes
     answers
     views

    为什么我会在没有std :: ios :: binary的情况下打开文件(std :: ifstream)?

    这可能恰好属于Stack Exchange的不同部分,但我不这么认为 - programmers.se更多的是关于其他事情 . 回答问题:你可以用std :: ios :: binary做一些你无法在文本模式下做的事情(例如相对搜索),但是我无法在文本模式下找到任何你无法在二进制模式下做的事情 - 甚至用例如文本作为文本读取文件的std ::函数getline() 那我为什么要打开文字呢?作为一...
  • 0 votes
     answers
     views

    使用c中的std :: fstream在网络共享路径上打开文件

    在我的应用程序中,主要用Qt编写,Windows网络路径上的文件I / O如 \\network\share\file.txt 适用于读写 . 除了打开通过OpenEXR库读取的EXR文件外,将文件路径作为 const char * 传递 在查看OpenEXR源代码之后,它只是将文件路径传递给std :: ifstream的构造函数 . 因此,似乎Qt完全支持Windows网络路径,而MinGW ...
  • 1 votes
     answers
     views

    如何在不附加模式的情况下强制C fstream创建文件?

    除非在附加模式下打开,否则Fstream不会创建文件 . 然而,附加模式禁止覆盖原始数据,我希望能够在任何地方进行搜索和搜索 . 与此处提出的问题不同:std::fstream doesn't create file我有一个要求它不是在append或truncate mods中,仍然能够在thise文件中的任何地方搜索和搜索 .
  • -4 votes
     answers
     views

    作为C中的二进制值写入文件的char的大小

    我从这里提出的一些问题中了解到 char 类型的原因是它在C中总是 1 字节,但是位数可能因系统而异 . sizeof() 运算符使用 char 作为一个单位因此 sizeof(char) 总是 1 以字节为单位 . (它取本地机器的最小地址单位的位数)如果在二进制模式下使用 fstream() 的文件函数时,我们直接从/读取/写入对于RAM中任何变量的地址,作为写入文件的最小数据单位的变量大小应...
  • 0 votes
     answers
     views

    在结构中使用fstream,错误

    我正在尝试初始化结构中的文件输出流 . 应该创建的文件有一个我想在main函数中定义的名称,即: #include <iostream> #include <fstream> struct str { std::ofstream fs; }; int main() { str G; G.fs("hello.txt",std::ios...
  • 0 votes
     answers
     views

    比较使用fstream从文件中检索数据到字符串流数据

    出于好奇,我开始编写一个程序,该程序将从.txt文件中获取单词列表并将其输入到向量中 . 然后它将提示用户输入搜索关键字,并且将对匹配项的向量执行搜索 . 我注意到,当我尝试比较向量中的数据(使用ifstream和getline收集)时,再次输入的密钥(使用stringstream)c compare()方法将返回不正确的结果注意等于运算符也返回错误答案 . 我只是假设它应该工作 . 因此,我想知...
  • 0 votes
     answers
     views

    getline循环禁用打印到txt

    我的C程序将字符串输入写入txt文件 . 我有一个bool函数check(),它接受输入,并读取文件,如果找到匹配的字符串则返回true,并返回false(对于if {}中没有返回的情况) . 另一个函数nuc(),分析check()的结果,并根据结果进行不同的写入 . 我总是在运行程序之前清空fragments.txt,所以check()总是返回false . 这是伪代码: if(check()...
  • -1 votes
     answers
     views

    C编译错误

    #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream inputFile; string example; int numbers, totalNumbers = 0; //...
  • 3 votes
     answers
     views

    用fstream读取和写入c中的二进制文件

    我正在尝试编写简单的c代码来读写文件 . 问题是我的输出文件小于原始文件,我找不到原因 . 我有一个6.6 kb的图像,我的输出图像大约6.4 kb #include <iostream> #include <fstream> using namespace std; ofstream myOutpue; ifstream mySource; int main() {...
  • 1 votes
     answers
     views

    Fstream没有从二进制数据中读取完整的结构(C)

    我一直试图让我的程序使用Ofstream :: write()将字符串写入二进制文件,但我无法找到如何(通过interwebs),所以我尝试用字符串写一个结构到文件中 . 这非常有效;我可以打开文件并读取字符串(用我的人眼),但是当我尝试使用Ifstream :: read()读取结构时,我只得到一个空字符串和我写的字符串(在这种情况下, “dir”是空的,并且“fileName”被正确读取) ....
  • 1 votes
     answers
     views

    用于读写的C二进制fstream不起作用

    示例代码如下: typedef struct myStruct { int field; } MyStruct; 功能: fstream infile (filename.c_str(), ios::in | ios::out | ios::binary); if (!infile.is_open()) { cout << "Error: Failed ...
  • 1 votes
     answers
     views

    C fstream写入/读入对象

    我有这些C头 #include <iostream> #include "istruttore.h" #define max 30 using namespace std; //============================================================================== class corso { ...
  • 0 votes
     answers
     views

    fstream二进制读/写行为

    我在编写/读取二进制值时遇到了“奇怪”的问题: bool readHeader(std::fstream &file) { file.seekg(0); int a = file.tellg(); file.get(reinterpret_cast<char*>(&a), sizeof(a)); int b = file.tellg();...
  • 0 votes
     answers
     views

    关于fstream的问题仅在1个结构中阅读

    我有以下问题:我的程序使用 fstream 似乎无法在我的.dat文件中写入多于1个数据 struct . 下面是我的代码,我只能添加1组数据 . 当我试图添加另一个时,它工作但没有写出来 . 知道为什么吗? 例如,我运行此功能,输入详细信息,并成功输入1组预订信息,信息存储在我的.dat文件中 . 当我重新运行此功能时,输入详细信息,第二组预订信息不会记录在我的.dat文件中 . 因此,我的....

热门问题