mik*_*iku 103
文件打开模式并不是特定于ruby的 - 它们是IEEE Std 1003.1(单一UNIX规范)的一部分.你可以在这里读更多关于它的内容:
http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html
r or rb
Open file for reading.
w or wb
Truncate to zero length or create file for writing.
a or ab
Append; open or create file for writing at end-of-file.
r+ or rb+ or r+b
Open file for update (reading and writing).
w+ or wb+ or w+b
Truncate to zero length or create file for update.
a+ or ab+ or a+b
Append; open or create file for update, writing at end-of-file.
Run Code Online (Sandbox Code Playgroud)
包含字母'b'的任何模式代表二进制文件.如果'b'不存在则是'纯文本'文件.
"打开"和"打开更新"之间的区别表示为:
当使用更新模式打开文件时('+'作为mode参数中的第二个或第三个字符),可以在关联的流上执行输入和输出.但是,应用程序应确保输出不直接跟随输入,而无需调用fflush()或文件定位函数(fseek(),fsetpos()或rewind()),并且输入不会直接跟随除非输入操作遇到文件结尾,否则输出时不会调用文件定位功能.