fopen r +和r!有什么不同?当我使用fopen函数时,如果我不打算使用r +
,为什么我不会总是使用r +,即使我不打算写任何东西......是否有理由将文字分开/读取过程仅读..fopen r +和r!有什么不同?当我使用fopen函数时,如果我不打算使用r +
一样,该文件被锁定看书时我用R +,因为我可能会写新的数据到它或东西...
另一个问题: PHP手册
a +:开放阅读和写作; 将文件指针放在文件的末尾 处。如果文件不存在, 会尝试创建它。
如果你在文件末尾,应该读什么......(指针在最后)!!?
从哪里了解更多有关文件系统的东西....这是令人困惑
-
r+
指 “打开用于读取和写入” -
r
指 “打开,只用于读” - 在两种情况下,将光标放置在文件的开头。
即时猜测一对夫妇的差别是:
- Witf
r+
,如果该文件是写锁定,您将无法阅读书写 - 开幕(即
r+
)可能需要更多的资源。
所以,如果你只需要从文件中读取,你应该使用r
,而不是r+
- 毕竟,r
意味着“阅读” (一般来说,你不应该问比你更需要)。
关于您a+
的问题:即使你是在它打开时,你可以使用fseek
更改文件中光标的位置在文件的结尾。
这意味着你不限于文件的末尾:如果需要,你可以从别处读取。
r vs r +:r +实际上会打开文件进行读写,但会将poitner放在开头。不会截断/删除文件(不像w/w +),所以你可以读取和覆盖文件数据
w vs w +:w和w +会创建/删除文件,w +也会允许你读取(所以如果你写你可以使用fseek重新读你写的东西)。注意文件将在两种情况下被删除,原创内容将丢失。使用w +你可以使用fseek返回并覆盖文件中的数据(而不是重新创建文件进行小的更改)
a vs a +:a将打开写入,a +也允许读取。该文件不会被截断,您可以使用fseek来后退/前进。指针将被放置在最后。 a +就像r +,但是最后会有指针 - 如果你需要先写入/追加,则保存一个fseek命令然后正确
x vs x +:这就像w/w +,但是如果文件存在就会失败(即从不截断/删除文件)
所以,我可能总是使用r +,a +,w +? – 2010-03-12 16:42:50
如果底层文件系统支持它,当然。使用只读或只写(是的,那些确实存在)文件系统时,可能会遇到问题。 – 2010-03-12 16:47:39