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

问题描述

这个问题是自我描述的。我只是想知道fopen()在搜索范围

a)Windows

b)类似于Unix的系统,例如MacOS和Linux

当被要求打开文件时,该文件具有相对路径,即“ File.txt”。我需要一个同时解决的问题-文本文件和二进制文件(如果在这方面根本不一样)。

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

(因为扫描整个磁盘会很费劲,对吧?)

修改

为什么要投票?因为你会不知道

解决方法

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

当然,在Windows中,路径看起来有些不同(驱动器号,反斜杠而不是斜杠)。

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