【问题标题】:How can I get file's directory by just typing its name. (C++)如何通过输入文件名来获取文件的目录。 (C++)
【发布时间】:2023-03-21 11:28:01
【问题描述】:

有没有办法全局搜索文件名+ .exe 或其他什么,然后获取它的目录。这意味着,假设我的深层 C 驱动器中有一个名为“food.txt”的文件。我想得到它的目录,无论我把它放在我的电脑的什么地方,只要输入它的名字+.txt。

“全局目录”没有类似的标签或其他东西。我的意思是像“\global\food.txt”?谢谢!

所以我要做的事情是:当我用 .txt 键入现有文件名时,我想打开这个文件,无论它位于我的电脑中的哪个位置。另外我不会有两个同名的重复项,别担心:D

代码:

void open_program(string target_name) {

    cout << "Opening..." << endl;

    string final_directory = target_name;
    ShellExecuteA(NULL, "open", final_directory.c_str(), NULL, NULL, SW_SHOWNORMAL);
    cout << final_directory;

}

【问题讨论】:

  • 欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
  • 您需要递归遍历所有目录和文件,找到具有指定名称的目录和文件,然后您就可以确定它的路径。
  • 不,我不是在寻找任何额外的插件或类似的东西。我只使用构建它的东西。不过谢谢。
  • @bitcell 并且您仍然不确定该路径,因为系统中可能有 x 个文件 food.txt 在不同的地方并且具有不同的内容?问题的作者:你确定你要问的是什么,可能是试图解释一个问题,因为没有解决方案可以确保 C 驱动器上某处的第一个随机找到的文件是你正在寻找的文件。可以使用校验和等;但我觉得你不需要那个。
  • @Drako,嗯......他说的是“一个文件”,所以我认为任何具有该名称的文件都是正确的。

标签: c++


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多