如何添加 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的用法