【发布时间】:2016-02-16 05:31:37
【问题描述】:
我正在尝试将目录中所有 txt 文件的名称存储在一个字符串中并打印出来。我需要计算目录中txt文件的数量,然后打印名称。计数的部分正在工作,但我似乎无法让这个名字起作用。我找到了一些示例,但它们在我正在使用的 Visual Studio 中不起作用。
这是我的代码。
int main() {
bool x = true;
int i = 0;
wchar_t* file = L"../Menu/Circuitos/*.txt";
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile(file, &FindFileData);
if (hFind != INVALID_HANDLE_VALUE) {
i++;
while ((x = FindNextFile(hFind, &FindFileData)) == TRUE) {
i++;
}
}
cout << "number of files " << i << endl;
return 0;
}
【问题讨论】:
-
哎呀。你能在你的代码上先
Ctrl+K然后Ctrl+D,然后再发布吗? -
您所说的 “我似乎无法使用这个名称” 到底是什么意思? WIN32_FIND_DATA 有
cFileName。是空的吗?顺便说一句,您应该检查FILE_ATTRIBUTE_DIRECTORY的文件属性 -
不应该是
"..//Menu//Circuitos//*.txt"吗? -
柜台工作完美。它正在计算 txt 文件的数量,因此路径必须有效。
-
cFileName返回的东西我不知道怎么转成字符串,只返回一个值,但是目录里有多个文本文件。