我在用C语言的文件,特别是范围和持续时间缠上头时遇到了麻烦。说我使用创建文件
fopen("random.dat", "w");
该文件存在多长时间?我的程序完成运行后,它会被删除吗?还是以某种方式重置了它?如果我在代码中进一步打开文件,仅这次使用“ r”读取参数或“ a”打开,因为我打开的是技术上已经打开的文件,我的流是否会冲突?
这是普通文件,就像计算机上的所有其他文件一样。它一直存在,直到有人将其删除,并且其内容保持不变,直到有人对其进行了修改。程序完成后,不会自动删除或“重置”它。(如果C无法将数据保存到持续时间比程序长的文件中,则C作为一种编程语言将毫无用处。)
但是,由于要使用“ w”选项打开文件,因此如果该文件已经存在,该文件将被截断(重置为零长度)-有效地,fopen
删除现有文件并创建一个新的空文件。这意味着,如果您第二次运行程序,则第一次运行的输出将被第二次运行的输出替换。
多次打开同一文件的效果是特定于平台的。在Unix / Linux上,它应该可以正常工作,但是在Windows上,它可能会失败(尽管我没有检查过)。但是,如果您fclose
在再次打开文件之前关闭了文件(例如,使用),则该文件应在任何系统上均能正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句