🗂️前言
📄ref
📄访问标记
🗃️文件访问标记
文件访问 模式字符串 |
含义 |
解释 |
若文件已存在的动作 |
若文件不存在的动作 |
“r” |
读 |
打开文件以读取 |
从头读 |
打开失败 |
“w” |
写 |
创建文件以写入 |
销毁内容 |
创建新文件 |
“a” |
后附 |
后附到文件 |
写到结尾 |
创建新文件 |
“r+” |
读扩展 |
打开文件以读/写 |
从头读 |
错误 |
“w+” |
写扩展 |
创建文件以读/写 |
销毁内容 |
创建新文件 |
“a+” |
后附扩展 |
打开文件以读/写 |
写到结尾 |
创建新文件 |
- 可以可选地指定文件访问模式标记 “b” 来以二进制模式打开文件。此标在 POSIX 上没有效果,而在 Windows 系统上,它禁用了对 ‘\n’ 和 ‘\x1A’ 特殊处理。 在附加文件访问模式下,数据被写入到文件尾,而不考虑文件位置指示器的当前位置。
- 如果模式不是以上所列字符串之一,则其行为未定义。一些实现会定义额外支持的模式(比如 Windows)。
- 在更新模式(
'+'
)中,输入和输出均可进行,然而输出不应直接紧随输入,而中间无对 fflush、fseek、fsetpos 或 rewind 的调用,且输入不应直接紧随输出,而中间无对 fseek、fsetpos 或 rewind 的调用,除非输入操作遇到文件尾。在更新模式中,允许各实现在即便指定了文本模式时仍使用二进制模式。
- 文件访问模式标记 “x” 可以可选地后附于 “w” 或 “w+” 指定符。若文件存在,则此标记强制函数失败,而不重写它。(C11)
- 使用 fopen_s 或 freopen_s 时,任何以 “w” 或 “a” 创建的文件的文件访问许可均禁止其他用户访问它。文件访问模式标签
"u"
可以可选地前附于任何以 “w” 或 “a” 开始的指定符,以启用默认的 fopen 许可。(C11)
🗂️Code
📄demo
#include <stdio.h>
#include <stdlib.h>
void file_write(const char* file_path)