- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我想在 %APPDATA% 目录中找到一个名为“DATABASE”的特定文件夹。
我试过:
#include <iostream>
#include <windows.h>
using namespace std;
int main(){
string path = getenv("appdata");
path += "\\*";
WIN32_FIND_DATA file;
HANDLE search_handle = FindFirstFile(path.c_str(), &file);
if (search_handle){
do{
cout << file.cFileName << endl; // Prints all the files/folders in %appdata%
}while (FindNextFile(search_handle, &file));
}
// Real Problem Below. . .
if(file.cFileName == "DATABASE"){ // Doesn't work
cout << "Folder Found! << endl;
}else{
cout << "Error: Folder not found. << endl;
}
getchar();
return 0;
}
它没有按照我的意愿执行,是否有其他方法可以做到这一点?
最佳答案
这不是 Java 或 C#。与指针相比,数组的 == 运算符不是这样工作的。
如果您查看 cFileName 成员的定义,它是这样的:
TCHAR cFileName[MAX_PATH];
根据您是为 Unicode 还是 MBCS 构建,TCHAR 是 WCHAR 或 char。
如果您真的想进行比较,请使用 _tcsicmp()。我说使用 _tcsicmp() 而不是 _tcscmp() 因为在 Windows 中,文件名不区分大小写。您的问题代码行可以这样解决:
if(0 ==_tcsicmp(file.cFileName, _T("DATABASE"))){ // works now
_tcsicmp() 是 stricmp() 的 TCHAR 等价物。一般来说,如果您在 Visual C++ 中创建一个新项目,它通常会启用 Unicode 字符串。
关于c++ - 如何运行 if 语句以使用 file.cFileName 查找特定文件或文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392688/
我正在尝试创建一个链接列表,其中各个节点具有我的文件夹中的文件名。对于每个附加文件夹,我想输出整个链接列表以及先前已加载文件的名称。我的 C:\Intel 文件夹中有 2 个文件 - ExtremeG
我的代码有问题;) hFind = FindFirstFileEx( szPath, FindExInfoMaxInfoLevel, &FindData, FindExSearchNameMatch,
我取得了很大进展,但我有 2 个问题让我放慢了好几天。最大的问题是我想将 FindFileData.cFileName 保存为字符串,但我不能!有什么帮助吗? 最佳答案 我从这里复制了这个:How t
例如,我想在 %APPDATA% 目录中找到一个名为“DATABASE”的特定文件夹。 我试过: #include #include using namespace std; int main()
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365740%28v=vs.85%29.aspx cFileName The nam
在你提到它之前,我无法使用 Boost 文件系统。 :C 所以,我目前正在研究一个程序,该程序将文件放入由密码生成的目录中。密码中的每个字符代表一个文件夹。我现在想创建一个函数,从密码目录中检索文件,
这个问题在这里已经有了答案: How do I convert an ATL/MFC CString to a QString? (1 个回答) 关闭 6 年前。 我有一个存储在 cFilename
我目前正在开发一个 cvi 应用程序,我需要在其中检索当前构建目录的每个 .wav 文件。为了在 C 中这样做,我在以下函数中使用了 Windows 内置函数 FindFirstFIle 和 Find
我是一名优秀的程序员,十分优秀!