【问题标题】:C Windows Add Default Search path for files (fopen...)C Windows 添加文件的默认搜索路径 (fopen...)
【发布时间】:2013-07-17 12:21:22
【问题描述】:

我写了一个可以运行脚本的小解释器。 为方便起见,我将文件类型 (.apol) 与位于“C:\Apol\Interpeter.exe”中的解释器相关联,因此每当我双击 .apol 文件时,脚本解释器都会弹出并运行该文件。

但这是我的问题。假设我的脚本如下所示:

f = openfile("data.txt") //pseudocode

当然,windows 会首先在“C:\Apol\”的目录中查找这个文件,但我真正想要的是,windows 会在我的 Scipt 文件的目录中而不是我的解释器中查找,是这样吗?以某种方式可以设置?

【问题讨论】:

  • 你确定吗?我碰巧也有一个脚本解释器,我刚刚对其进行了测试,发现当前工作目录是脚本路径,而不是解释器的位置
  • 也许这是我的解释器的编写方式:(我用 _chdir(path) 修复了它,它将工作目录更改为某个路径(在我的情况下是脚本)

标签: c winapi


【解决方案1】:

您可能希望在调用 fopen 时使用通用命名约定路径语法。 见fopen file from windows network location

此外,您还需要了解用户单击的脚本文件的位置:

int
WINAPI
WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nShowCmd
    );

lpCmdLine 为您提供该信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2023-03-22
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多