fopen() 中的绝对路径

An absolute path in fopen()

我正在尝试使我的 C 程序更具动态性。它应该用 fopen() 打开一个文件。显然, fopen 不读取绝对路径。例如它无法读取此路径:

fopen("/Documents/projects/cs50_radio/broadcast/source/deadinside.mp3", "r")

returns NULL

;但是,

fopen("deadinside.mp3", "r");

returns the expected pointer

我想知道在其他情况下是否有可能读取这样一个可能独立于当前工作目录的路径?

fopen() 可以将绝对路径作为参数。您是基于 OS 还是基于 windows 开发 unix/linux?可能发生的事情是你走错了路。如果您在 mac 上,看起来像您,正确的路径可能是

~/Documents/projects/cs50_radio/broadcast/source/deadinside.mp3

但是您可以通过 cd 进入目录并键入 pwd

来验证

如果你在 windows,你的路径肯定是错误的,因为 windows 看起来更像这样:

C:\Documents\projects\cs50_radio\broadcast\source\deadinside.mp3