首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止TOpenDialog更改文件的相对路径的当前工作目录?

问如何防止TOpenDialog更改文件的相对路径的当前工作目录?
EN

Stack Overflow用户
提问于 2022-06-06 11:13:23
回答 1查看 73关注 0票数 0

我使用TOpenDialog选择要打开的文件,并希望使用InitialDir属性指定一个文件夹:

代码语言:javascript
复制
FILE* fp;
OpenDialog1->InitialDir= "../data"; 

if (OpenDialog1->Execute())
{
  fp=fopen(OpenDialog1->FileName.c_str(),"r");
  ...
  fclose(fp);
}

但是,当我使用一个相对路径打开另一个文件时,我看到相对路径更改为使用TOpenDialog选择的文件夹。但我不希望TOpenDialog影响相对路径。

代码语言:javascript
复制
fp=fopen("AnotherFile.txt","r"); //looks in folder "data"
...
fclose(fp)

是否有任何方法可以防止TOpenDialog更改当前工作路径,或者是保存路径然后恢复路径的唯一方法?

EN

回答 1

Stack Overflow用户

发布于 2022-06-06 20:15:38

该对话框在浏览时更改当前的工作目录。这是按照设计的工作,你不能阻止它。

但是,当对话框关闭时,您可以通过在其ofNoChangeDir属性中启用Options标志来恢复原始的当前工作目录:

在用户单击OK后,将当前目录重置为文件选择对话框打开之前的任何目录。

不过,首先您不应该依赖于相对的文件路径。始终使用绝对文件路径打开文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72516821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档