我想:
\n\n\n\n\n\n
\n- 如果文件不存在则创建,
\nnot overwritten if it does.- \n
fseek随时随地阅读和写作
我找不到有效模式 \xe2\x80\x94 "w+", "rw" "rwb+" "r+b" "w+b" "a+" 或者什么?
\n\n表现良好的基本级别open是:
int fd =open("fname", O_RDWR | O_CREAT, 0666);\nRun Code Online (Sandbox Code Playgroud)\n\n但我想知道fopen alternative。\n我尝试的每个模式字母 [w, r, a, +] 组合要么会覆盖内容,要么 fseek-fwrite 不会写在它应该写的地方。“a+”将始终附加,无论fseek设置如何...“rw+”工作正常,但不会创建不存在的文件...等。
更新:澄清为什么“a+”不是一个解决方案:
\n\n#include <stdio.h>\nint main()\n{ FILE *fp =fopen("aaa.txt", "a+");\n fwrite("aaaaaaaaaaaaaaaaaaa", 1, 10, fp);\n fseek(fp, 5, SEEK_SET);\n fwrite("AAA", 1, 3, fp);\n fclose(fp);\n return 0;\n}\nrunned with: $ rm aaa.txt; …Run Code Online (Sandbox Code Playgroud)