打开目录错误

  • 本文关键字:错误 c++ c opendir
  • 更新时间 :
  • 英文 :


我收到这个结构的错误:

  dp = opendir ("%APPDATA%/.");
  output: 
  Couldn't open directory: Mo such file or directory.

但我没有得到这个结构的错误:

dp = opendir ("C:/Users/xrobot/AppData/.");
output:
.
..
Local
LocalLow
Roaming

为什么?

opendir不像

%APPDATA%那样扩展元变量,shell会。所以这样的事情可以从命令行工作,但不能从程序工作。在程序中,必须使用绝对路径或相对路径。

您可能可以使用getenv()

const char *appData = getenv("APPDATA");
if (appData) {
    dp = opendir(appData);
} else {
    /* die or recover */
}

因为第一个opendir实际上是在尝试打开目录%APPDATA%/.

相关内容

  • 没有找到相关文章

最新更新