#include <windows.h>
#include <tchar.h>
#include <stdio.h>
void _tmain(int argc, TCHAR *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
printf ("Target file is %s.\n", argv[1]);
hFind = FindFirstFile(argv[1], &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("FindFirstFile failed (%d)\n", GetLastError());
system("pause");
return;
}
else
{
do
{
printf("%s\n",FindFileData.cFileName);
}
while (FindNextFile(hFind,&FindFileData)!=0);
FindClose(hFind);
}
system("pause");
FindClose(hFind);
}
Run Code Online (Sandbox Code Playgroud)
我需要在输出中获取文件夹列表,但它给了我以下内容:
.
.
f
f
f
Run Code Online (Sandbox Code Playgroud)
实际上,我的文件夹列表是:
.
..
file1
file2
file3
Run Code Online (Sandbox Code Playgroud)
为什么我只有第一个文件名?谢谢.
使用_tprintf(TEXT("%s\n"), FindFileData.cFileName).
在你的情况下FindFileData.cFileName是实际类型wchar_t,所以与printf你打印宽字符串,就像它是ascii.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |