fopen() 在哪里搜索要读取的文件?

Where does fopen() search for File to read?

这个问题是自我描述的。我只想知道 :

中 fopen() 的 搜索范围

a) Windows

b) 类 Unix 系统,如 MacOS & Linux

当要求打开文件进行读取、读取和写入甚至只是写入时,使用相对路径,即“File.txt”。我需要一个解决文本和二进制文件的答案(如果它们在这方面有所不同的话)。

它只扫描当前目录,还是扫描特定文件夹?

(因为扫描整个磁盘会非常慢,对吗?)

编辑:

为什么反对票?因为你们只是不知道 ?

fopen() 根本不扫描 它只是打开你告诉它打开的文件。 该路径可以是绝对路径,也可以是相对于当前目录的路径。 跨平台的行为几乎相同。

当然 Windows 路径看起来有点不同(驱动器号、反斜杠而不是斜杠)。

我能想到的一个相关差异: 如果路径以驱动器号和冒号开头,它将查找另一个驱动器。 如果驱动器号和冒号后没有反斜杠,则该位置将相对于该驱动器的当前工作目录(因为 Windows 记住每个驱动器号的当前目录)。