我在VS2010&下测试了_stat VS2002: 目录c:\ system \已存在于我的电脑中。
struct _stat filestat;
unsigned int n1 = _stat("c:\\system",&filestat);
unsigned int n2 = _stat("c:\\",&filestat);
unsigned int n3 = _stat("c:\\system\\",&filestat);
unsigned int n4 = _stat("c:",&filestat);
结果:
n1=0;
n2=0;
n3=0xffffffff;
n4=0xffffffff;
任何人都可以知道为什么以及何时需要放置" \"在目录路径?
答案 0 :(得分:0)
在Windows上,我认为那些stat
调用的 none 应该失败(正如你所说,假设c:\system
目录确实存在)。
请运行以下测试程序并将其输出编辑到您的问题中:
#include <sys/stat.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
static void test_stat(const char *path)
{
struct _stat st;
if (_stat(path, &st))
printf("%s: %s\n", path, strerror(errno));
else
printf("%s: success, mode=%x\n", path, st.st_mode);
}
int main(void)
{
test_stat("c:");
test_stat("c:\\");
test_stat("c:\\system");
test_stat("c:\\system\\");
return 0;
}
(如果你没有意识到你可以编辑你的问题,请立即在蓝色&#34; c ++&#34;标签下查看一行微小的灰色字。这些是按钮。它们应该是&#34;编辑&#34;。)