如何添加 GetCurrentDirectory 文件? C++ [已解决]

Posted

技术标签:

【中文标题】如何添加 GetCurrentDirectory 文件? C++ [已解决]【英文标题】:how do I add a GetCurrentDirectory file? C++ [solved] 【发布时间】:2020-02-09 20:23:04 【问题描述】:

问题,如何添加 GetCurrentDirectory 文件? 我有这个代码:

const unsigned long maxDir = 260;
         char currentDir [maxDir] = "";
         GetCurrentDirectory (maxDir, currentDir);
std :: cout << currentDir << std :: endl;

好的,但是如果我想添加一个文件 std :: cout

它给了我一个错误。

如何包含当前目录+文件?

就是注入一个dll。

LPCSTR DllPath = currentDir + "mydll.dll";

非常感谢。

解决方案:对于 C 风格的字符串,您必须使用 strcpy() 和 strcat()。或者,您可以使用 std::string,这将允许您以您想要的方式使用 + 运算符

非常感谢:Andreas Wenzel

【问题讨论】:

错误是什么? LPCSTR DllPath = currentDir + "mydll.dll; 行不起作用,因为它们是 C 风格的字符串。对于 C 风格的字符串,您必须使用 strcpy()strcat()。或者,您可以使用std::string,这将允许您以您想要的方式使用 + 运算符。 如果你想获取程序运行的目录?如果是这样,我建议你可以尝试使用GetModuleFileNameA function 我建议你可以参考链接:***.com/questions/875249/how-to-get-current-directory 【参考方案1】:

我认为您在实际路径中丢失了。 你应该像下面这样(如果它是 Linux) “当前目录/文件名” std :: cout

【讨论】:

朋友下午好,它是 windows,它不会一直抛出错误。 ibb.co/09kfJCK 表达式 currentDir + "\" + "mydll.dll" 不适用于 C 风格的字符串。此外,反斜杠字符必须在字符串文字中进行转义。

以上是关于如何添加 GetCurrentDirectory 文件? C++ [已解决]的主要内容,如果未能解决你的问题,请参考以下文章

GetCurrentDirectory() 仅检索磁盘名称 [重复]

Directory.GetCurrentDirectory和Application.StartupPath的区别

(64)C#里使用GetCurrentDirectory()Exists()CreateDirectory() Environment.CurrentDirectory

(64)C#里使用GetCurrentDirectory()Exists()CreateDirectory() Environment.CurrentDirectory

Windows API一日一练 52 GetCurrentDirectory和SetCurrentDirectory函数

System.IO.Directory.GetCurrentDirectory与System.Windows.Forms.Application.StartupPath的用法