这是编译,但我不相信它实际上是在正确的目录中检查它是否存在它所寻找的子目录。
cout<< "Welcome back, '" << account << "'!\n";
if (bool account = S_ISDIR(sb.st_mode)){
cout<<"Please enter your password: ";
}
else {
cout<< "There is no account by that name, please type NEW to create a new account.\n";
所以我很好奇如何在这个例子中设置文件路径,以便它检查父目录。它就像在树上一样:
"home/user/Program/accounts/" + account
答案 0 :(得分:0)
我不得不重做这件事,Jonathan的帮助指导我对stat()的解释有所帮助,但这就是我如何让它工作的。
cout<< "Welcome back, '" << account << "'!\n";
打印以前代码提供的欢迎帐户名称。
struct stat sb;
创建stat及其变量名称的结构。
if (stat(("/home/user/Account Program/accounts/"+account).c_str(),&sb) == 0 && S_ISDIR(sb.st_mode)){
cout<<"Please enter your password: ";
}
如果检查。 stat(打开上面结构化的状态调用,路径开始(&#34; home ...&#34;然后我传递dir我通过+帐户检查并将+ account创建的空字符串转换为一个正确的字符串通过).c_str()。然后我检查它是否成功,== 0,如果它是一个由S_ISDIR的目录。
else {
cout<< "There is no account by that name, please type NEW to create a new account.\n";
}
在这里,我提供了一个Else,以便打印出一些内容,让我知道它是否失败,或者稍后在循环中使用,让您回到开始创建帐户或重新输入您的帐户名。 / p>
我认为这总结了一下。我本可以错误地解释一些,但据我所知,这就是我理解它的方式。