fopen() 在哪里搜索要读取的文件?
Where does fopen() search for File to read?
这个问题是自我描述的。我只想知道 :
中 fopen() 的 搜索范围
a) Windows
b) 类 Unix 系统,如 MacOS & Linux
当要求打开文件进行读取、读取和写入甚至只是写入时,使用相对路径,即“File.txt”。我需要一个解决文本和二进制文件的答案(如果它们在这方面有所不同的话)。
它只扫描当前目录,还是扫描特定文件夹?
(因为扫描整个磁盘会非常慢,对吗?)
编辑:
为什么反对票?因为你们只是不知道 ?
fopen() 根本不扫描
它只是打开你告诉它打开的文件。
该路径可以是绝对路径,也可以是相对于当前目录的路径。
跨平台的行为几乎相同。
当然 Windows 路径看起来有点不同(驱动器号、反斜杠而不是斜杠)。
我能想到的一个相关差异:
如果路径以驱动器号和冒号开头,它将查找另一个驱动器。
如果驱动器号和冒号后没有反斜杠,则该位置将相对于该驱动器的当前工作目录(因为 Windows 记住每个驱动器号的当前目录)。
这个问题是自我描述的。我只想知道 :
中 fopen() 的 搜索范围a) Windows
b) 类 Unix 系统,如 MacOS & Linux
当要求打开文件进行读取、读取和写入甚至只是写入时,使用相对路径,即“File.txt”。我需要一个解决文本和二进制文件的答案(如果它们在这方面有所不同的话)。
它只扫描当前目录,还是扫描特定文件夹?
(因为扫描整个磁盘会非常慢,对吗?)
编辑:
为什么反对票?因为你们只是不知道 ?
fopen() 根本不扫描 它只是打开你告诉它打开的文件。 该路径可以是绝对路径,也可以是相对于当前目录的路径。 跨平台的行为几乎相同。
当然 Windows 路径看起来有点不同(驱动器号、反斜杠而不是斜杠)。
我能想到的一个相关差异: 如果路径以驱动器号和冒号开头,它将查找另一个驱动器。 如果驱动器号和冒号后没有反斜杠,则该位置将相对于该驱动器的当前工作目录(因为 Windows 记住每个驱动器号的当前目录)。