什么是文件指针模式?
What is mode of file pointer?
什么模式指针是什么模式,'insert'
还是overwrite
?
因为我是 file pointer
C 的新手,所以我的问题可能很愚蠢。如果有人有这种感觉,我很抱歉。
如果我想 insert some character
进入现有文件但不丢失此文件中的任何字符,我可以做什么。
取决于你如何打开它:
追加:
fopen("myfile.txt", "a");
写入(覆盖):
fopen("myfile.txt", "w");
据我所知,没有任何文件系统支持 insert 模式。
写入文件流的 C 语义是:
"w"
的截断。成功后当前文件内容丢失 fopen()
.
- 正在覆盖
"r+"
的文件内容。只有明确写入文件的字节会覆盖现有内容,其余内容不变。超出文件末尾的写入将扩展其大小,就像追加模式一样。
- 正在为
"a"
追加文件。每个写操作都发生在文件末尾。
请注意,如果文件不存在,"w"
和 "a"
也会创建该文件。
为了在现有文件的中间插入内容,您必须将内容复制到新文件,将新内容写入适当的位置。您可以在关闭两个文件并删除旧文件后将新文件重命名为旧文件。
什么模式指针是什么模式,'insert'
还是overwrite
?
因为我是 file pointer
C 的新手,所以我的问题可能很愚蠢。如果有人有这种感觉,我很抱歉。
如果我想 insert some character
进入现有文件但不丢失此文件中的任何字符,我可以做什么。
取决于你如何打开它:
追加:
fopen("myfile.txt", "a");
写入(覆盖):
fopen("myfile.txt", "w");
据我所知,没有任何文件系统支持 insert 模式。
写入文件流的 C 语义是:
"w"
的截断。成功后当前文件内容丢失fopen()
.- 正在覆盖
"r+"
的文件内容。只有明确写入文件的字节会覆盖现有内容,其余内容不变。超出文件末尾的写入将扩展其大小,就像追加模式一样。 - 正在为
"a"
追加文件。每个写操作都发生在文件末尾。
请注意,如果文件不存在,"w"
和 "a"
也会创建该文件。
为了在现有文件的中间插入内容,您必须将内容复制到新文件,将新内容写入适当的位置。您可以在关闭两个文件并删除旧文件后将新文件重命名为旧文件。