无法理解C中的文件范围

大卫·塔拉佐夫(David Tamrazov)

我在用C语言的文件,特别是范围和持续时间缠上头时遇到了麻烦。说我使用创建文件

fopen("random.dat", "w");

该文件存在多长时间?我的程序完成运行后,它会被删除吗?还是以某种方式重置了它?如果我在代码中进一步打开文件,仅这次使用“ r”读取参数或“ a”打开,因为我打开的是技术上已经打开的文件,我的流是否会冲突?

妖怪

这是普通文件,就像计算机上的所有其他文件一样。它一直存在,直到有人将其删除,并且其内容保持不变,直到有人对其进行了修改。程序完成后,不会自动删除或“重置”它。(如果C无法将数据保存到持续时间比程序长的文件中,则C作为一种编程语言将毫无用处。)

但是,由于要使用“ w”选项打开文件,因此如果该文件已经存在,该文件将被截断(重置为零长度)-有效地,fopen删除现有文件并创建一个新的空文件。这意味着,如果您第二次运行程序,则第一次运行的输出将被第二次运行的输出替换。

多次打开同一文件的效果是特定于平台的。在Unix / Linux上,它应该可以正常工作,但是在Windows上,它可能会失败(尽管我没有检查过)。但是,如果您fclose在再次打开文件之前关闭了文件(例如,使用),则该文件应在任何系统上均能正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法理解C中的Null指针

来自分类Dev

无法理解此代码中变量的范围

来自分类Dev

无法理解YAML文件

来自分类Dev

无法理解 !! 在 Linux 中

来自分类Dev

C中位域的内存布局-无法理解输出

来自分类Dev

我无法理解c ++中char指针操作的索引

来自分类Dev

无法理解C程序中“系统”功能调用的行为

来自分类Dev

无法理解在C ++中此函数的返回

来自分类Dev

无法理解C中的联合程序的输出

来自分类Dev

我无法理解C ++中的char []行为

来自分类Dev

无法理解 C++ 中的函数指针

来自分类Dev

python中的列表行为是无法理解的

来自分类Dev

无法理解Makefile中的这段代码

来自分类Dev

无法理解Javascript中的指令

来自分类Dev

无法理解TypeScript中keyof的语义

来自分类Dev

无法理解反应中的功能

来自分类Dev

无法理解Java中super的功能

来自分类Dev

无法理解是否在#define中

来自分类Dev

无法理解Rails中的基类

来自分类Dev

无法理解TableView中的ComboBoxTableCell

来自分类Dev

Swift中无法理解的错误

来自分类Dev

无法理解Java中的流控制

来自分类Dev

无法理解Android中的Runnable

来自分类Dev

无法理解Java中的同步块

来自分类Dev

无法理解 Python 中的函数参数

来自分类Dev

无法理解 spark 中的 fold() 行为

来自分类Dev

无法理解猫鼬中的连接

来自分类Dev

我在 cpp 中无法理解的错误

来自分类Dev

无法理解 javascript 中承诺的行为