我只想知道 : 中 fopen()
的搜索范围
a) Windows
b) 类 Unix 系统,例如 MacOS 和 Linux
当要求打开文件进行读取、读取和写入甚至只是写入时,使用相对路径,例如
File.txt
。我需要一个解决文本和二进制文件的答案。
它只扫描当前目录,还是扫描特定文件夹?
(因为扫描整个磁盘会非常慢,对吧?)
fopen() 根本不扫描 它只是打开您告诉它打开的文件。 该路径可以是绝对路径,也可以是相对于当前目录的路径。 跨平台的行为几乎相同。
当然,在 Windows 中路径看起来有点不同(驱动器号、反斜杠而不是斜杠)。
我能想到的一个相关区别: 如果路径以驱动器号和冒号开头,它将查看另一个驱动器。 如果驱动器号和冒号后面没有反斜杠,则该位置将相对于该驱动器的当前工作目录(因为 Windows 会记住每个驱动器号的当前目录)。