使用 C 在 Windows 上按相对路径打开文件

sanchop22

我有这个文件/文件夹结构:

root
 out
   test1
    test1.exe
   test2
    test2.exe
   test3
    test3.exe
 bin
  run_test.exe

我想outrun_test.exe可执行文件连续运行在文件夹的子文件夹中找到的所有测试可执行文件(test1、test2 等)

在我的run_test.exe代码中,我可以run_test.exe使用GetModuleFileName()Windows API 中的函数获取可执行文件的工作目录我的问题是如何从 run_test 代码执行(或触发)测试可执行文件?我应该导航到每个可执行文件夹还是可以使用相对目录更改来完成?

杰里米

这取决于运行每个测试可执行文件时当前工作目录的位置。我会做的是使用GetModuleFileName获取可执行文件的位置,然后砍掉 exe 的名称并bin获取根目录作为绝对路径。

可以通过将根目录与(例如)连接来创建每个可执行文件名称 "out\\test1\\test1.exe"

如果需要将当前目录设置为test目录,只需连接"out\\test1"到根目录并使用SetCurrentDirectory设置当前工作目录即可。然后你可以只用它的名字来运行可执行文件,例如test1.exe

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章