c++ - 具有相对路径的 fopen()

标签 c++ visual-c++ file-io

我在将 fopen() 与相对路径一起使用时遇到了麻烦。我想像这样使用 fopen:

fopen("\\Saurabh\\pqrs.txt");

我得到的 filePointer 为空。

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

如果用户选择其他安装路径,程序将失败。

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

最佳答案

两个问题:

  1. 您需要转义反斜杠字符。写\\
  2. 您需要使用相对路径。以 \\ 开头的路径是指从根目录开始

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

fopen("Saurabh\\pqrs.txt");

关于c++ - 具有相对路径的 fopen(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7639097/

相关文章:

c++ - 声明第一个单精度冲突的数字是 131072.02 是否正确? (正数,考虑 2 位数字作为尾数)

c - 为什么调用外部函数指针会导致程序崩溃?

java - Java中的文件输入

c - 有没有办法让 scanf 从文件中读取

c++ - 使用 C++ 删除文本文件中重复行的内存有效方法

c++ - 在第二次调用时调用 IMemAllocator->GetBuffer block

c++ - 如何在多个类中使用友元函数

c++ - 定义放置 C 字符串的位置

c++ - 在 MSVC 中导出模板真的有用吗?

java - 在 android 中从 byte[] 写入文件失败