我在这个指令中得到一个错误:
dp = opendir ("%APPDATA%/.");
output:
Couldn't open directory: Mo such file or directory.但我不会从这个指令中得到错误:
dp = opendir ("C:/Users/xrobot/AppData/.");
output:
.
..
Local
LocalLow
Roaming为什么?
发布于 2012-04-20 20:29:11
opendir不像%APPDATA%那样扩展元变量,而是在shell中扩展。因此,这些事情可以在命令行中工作,但不能在程序中工作。在您的程序中,您必须使用绝对路径或相对路径。
您可能可以使用getenv()获取所需的路径,
const char *appData = getenv("APPDATA");
if (appData) {
dp = opendir(appData);
} else {
/* die or recover */
}发布于 2012-04-20 20:29:37
因为第一个opendir是,字面意思是,它试图打开目录%APPDATA%/.。
https://stackoverflow.com/questions/10246227
复制相似问题