C Windows为文件添加默认搜索路径(fopen…)

C Windows为文件添加默认搜索路径(fopen…),c,winapi,C,Winapi,我写了一个可以运行脚本的小解释器。 为了方便起见,我将文件类型(.apol)与位于“C:\apol\Interpeter.exe”中的解释器相关联,因此每当我双击.apol文件时,脚本解释器将弹出并运行此文件 但这是我的问题。假设我的脚本如下所示: f = openfile("data.txt") //pseudocode 当然,windows将首先在“C:\Apol\”目录中查找此文件,但我真正想要的是,windows将在我的Scipt文件的目录中而不是在我的解释器中查找,这是否可能以某种方

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

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

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

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

您可能希望在调用fopen时使用通用命名约定路径语法。 看

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

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

lpCmdLine为您提供了这些信息。

您确定吗?我碰巧也有一个脚本解释器,我刚刚测试了它,发现当前的工作目录是脚本路径,而不是解释器的位置可能是我的解释器的编写方式:(我用_chdir(path)修复了它,它将工作目录更改为某个路径(在我的例子中是脚本)