fopen()与相对路径

Sau*_*ade 4 c++ file-io visual-c++

我在使用相对路径的fopen()时遇到了麻烦.我想像这样使用fopen:

fopen("\\Saurabh\\pqrs.txt");
Run Code Online (Sandbox Code Playgroud)

我得到filePointer为null.

出现这种情况是因为我正在尝试创建一个必须读取文件的设置或部署项目.用户执行安装后默认选择的文件路径是C:\ Program Files\Setup ..(其中exe被转储).所以我将文件转储到同一个文件夹中,并为程序中的那些文件提供路径(固定路径或硬编码).

如果用户选择其他路径进行安装,则程序将失败.

有什么办法可以解决这个问题吗?

Dav*_*nan 7

两个问题:

  1. 你需要逃避反斜杠字符.写\\.
  2. 您需要使用相对路径.通过启动路径\\意味着从根目录开始.

将这些放在一起,我认为你应该写:

fopen("Saurabh\\pqrs.txt");
Run Code Online (Sandbox Code Playgroud)