问题标签 [ofstream]
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++ - 使用 Windows XP 和 7 将“.txt”保存到特定目录
我正在尝试使用ofstream
(C++ Builder)将文本文件保存到特定目录。我在使用 Windows 7 时遇到问题。
如何使用 Windows 7 将“.txt”文件保存到特定目录?
OBS:当我使用 Windows 7 保存程序时,文件保存在:
C:\Users\Name\AppData\Local\VirtualStore\Folder1\Name.txt
c++ - std::ofstream 无缘无故地重复和丢失写入的数据
我刚刚目睹了该std::ofstream::write
方法的疯狂怪异行为。我正在编写自己的 Windows BMP 文件格式处理方法,其中包括将位图保存到文件中——作为介绍。这里有一个子程序负责写入位图文件的头部,给定std::ofstream
对象的引用。
这里唯一要标记的是sig1
andsig2
都是char
, sizeof(word) = 2
and类型sizeof(dword) = 4
。此代码应导致两次将一个字节写入文件,然后是一个四字节块,两个两字节块,最后是一个四字节块。
看一下结果的十六进制转储(后面还有一些东西,但忽略它们):
sig1
andsig2
被打印两次,正确的值实际上是B
and M
,在开头并且出于某种奇怪的原因也在第 11 和第 12 字节。我不承认这一行中的其他价值观。但是看看如果我在每个之间添加一个调试字节会发生什么write
:
十六进制转储变为
似乎完全没问题。没有重复项,并且*
将字符串1-1-4-2-2-4
按应有的方式划分为字节序列。有人可以帮我找出原因吗?它是编译时的错误吗?我gcc version 4.0.1 (Apple Inc. build 5490)
在带有 -O2 的 Mac OS X Leopard 上使用,但其他级别没有改变任何东西。
c++ - 避免在写入文件时覆盖现有文件的内容
我正在尝试制作一个将高分实现为 .txt 文件的游戏。我的问题是:当我发表如下声明时:
这会创建一个具有该名称的文件,还是只查找具有该名称的文件?
问题是,每当我重新启动程序并做出以下声明时:
它覆盖了我以前的分数!
有什么办法可以让我在写入文件时新分数不会覆盖旧分数?
c++ - fstream ifstream 我不明白如何将数据文件加载到我的程序中
我的教授非常聪明,但希望像我这样的菜鸟只知道如何编程c++。我不明白该fstream
功能是如何工作的。
我将有一个包含三列数据的数据文件。我将不得不用对数来确定每行数据是否代表一个圆形、矩形或三角形——这部分很容易。我不明白的部分是该fstream
功能的工作原理。
我想我:
那么我应该声明我的文件对象吗?
然后我打开它:
我不知道正确的语法是什么,也找不到简单的教程。一切似乎都比我的技能更先进。
另外,一旦我读入数据文件,将数据放入数组的正确语法是什么?
我会只声明一个数组,例如并将T[N]
对象放入其中吗?cin
fstream
Holes
c++ - 如何使用 C++ 写入文件的特定列?
使用 C++,我想生成一个文件,我必须在其中将行号添加到每行的末尾。有些行在第 13 个字符之后结束,有些在第 32 个字符之后结束。但是行号应该在最后。一行有 80 个字符,行的最后一个数字应该在该行的第 80 列。
有没有办法做到这一点?我使用 ofstream 初始化我的文件,使用 C++。
c++ - 以二进制模式从文件中读取块到缓冲区并将该缓冲区写入另一个文件
我正在尝试实现这样的目标:
起初我试图通过使用ifstream.eof()
我的 while 条件来实现这一点,但我听说这不是要走的路。我一直在研究 std::ios::ifstream 的其他功能,但不知道还能使用什么。
PS:我正在使用缓冲区,因为正在传输的文件可能会变得非常大。
c++ - 使用逻辑或 || 结合两个整数?
在这篇关于与 std::ofstream 的文件共享模式的 MSDN 文章中,微软写道:
要组合
filebuf::sh_read
andfilebuf::sh_write
模式,请使用逻辑 OR (||
) 运算符。
据我所知,这两个常量都是 type int
,所以我不明白为什么我们应该使用逻辑OR 而不是按位 OR ( |
)。我一直认为逻辑或会产生一个布尔值,所以没有办法解释结果吗?
c++ - 将多态类数据写入文件?
所以我有这些课程。有一个基类,但它有/将有很多很多的派生类,这些派生类也可以有派生类。我希望能够拥有一个将其二进制数据写入文件的函数,但我不确定如何使用大量派生类来做到这一点。
我在想一些事情:
但是实现这个方法的每个派生类都必须写它所有的父类的数据,这会重复很多代码。
在不重写所有以前编写的writeData()
代码的情况下,最好的方法是什么?
c++ - 基本输入/输出 C++ 错误
我想要的只是一个 c++ 程序,它将读取一个 txt 文件,将每一行放入一个数组中,然后将副本打印到另一个 txt 文件中。这是我的代码...
出于某种原因,尽管这样做,但每隔一行都会给我一堆时髦的中国符号。这是我的data.txt...
这是输出 data-2.txt ......
有任何想法吗?
c++ - ofstream::write() 未处理的异常
所以我正在编写一个日志库来记录各种事情,当我对其进行测试时,它一直在崩溃。当我将日志消息写入 ofstream 文件时,我将异常范围缩小到写入函数。我解析消息和内容,然后实际调用 ofstream::write()。这是我收到重新运行时间错误的部分:
如您所见,我在 try catch 块中调用,我什至检查文件是否有效并打开。当我在调用及其周围设置断点时,调用工作正常,但是一旦它到达函数的末尾,它就会给我这个:
LoggerTest.exe 中 0x773515ee 处未处理的异常:0xC0000005:访问冲突写入位置 0xfeeefeee。
然后它在 xlock.cpp 中显示此函数中发生的错误:
我的猜测是我在某处有一个错误的字符串或指针,但我无法确定它。
注意:我试着做
现在它让我在这里断言失败:_ASSERTE(_CrtIsValidHeapPointer(pUserData));