使用文件访问标志和c++的文件输入和输出
File Input and Output using file access flags and c++
假设我在记事本上创建了一个名为Numbers.txt的文档。我将数字6放在记事本上并结束。然后我键入以下代码段。
#include< iostream>
#include < fstream >
int main()
{
fstream sample;
sample.open("Numbers.txt", ios::in | ios :: out);
if(sample)
{
int number;
sample >> number;
sample << "555";
sample.close();
}
}
出于某种原因,有时它会打印出555,有时它只打印出6。没有一致性。换句话说,输出究竟是如何发送到文件的。有人能解释一下原因吗?
当您打开一个同时用于输入和输出的文件时,当您在读取和写入该文件之间切换时,必须执行seek
。我会引用标准来显示在哪里,但你需要引用的引用集相当长(一直到C标准)。基本上,它说读写是像使用了C库中的函数一样完成的,而C标准说,在为两者打开的流上切换输入和输出时,需要进行查找。
相关文章:
- 如何在 的开头<x>和结尾<y>之间更改带有文件输出的字符串的值
- C++对象数组的文件输出
- bcdedit 文件输出不起作用,但其他命令可以
- 如何从文本文件输出数据?(学生成绩单计划)
- 使用 C++文件 I/O 输出 pdf 文件
- C 文件输出垃圾
- 从堆栈中读取字符后,如何修复不正确的文件输出
- C++:具有随机名称的文件输出
- 在命令提示符下看到换行符,但在文件输出中可以看到 相同的字符串
- 生成文件不会生成预期的文件输出
- C++11 fgetc 在"r+b"模式下使用时向我的文件输出 0
- 使用函数从文件输出
- GCC.obj文件输出不具有确定性(.debug_info,PROGPITS部分)
- C cstdiofile :: Writestring给出了不正确的文件输出
- C 输出:STD :: COUT和文件输出没有相同的内容
- GCC和MSVC之间的文件输出不一致
- C++文件输出奇怪的数字,并且部分代码没有运行
- 如何将特定字符从TXT文件输出到特定点
- C 调用从TXT文件输出信息的函数
- 将交易从文本文件输出到屏幕