还是FindFirstFile!!!

HasanSas 2006-12-08 07:21:54
我用FindFirstFile搜索D盘下的一个文件夹里的第一个文件 为什么运行结果显示搜索到的文件名是.?????????
代码:
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;


hFind = FindFirstFile("D:\\shzq\\*.*", &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
printf ("Invalid File Handle. GetLastError reports %d\n",
GetLastError ());
return (0);
}
else
{
printf ("The first file found is %s\n",
FindFileData.cFileName);
FindClose(hFind);
return (1);
}
}
运行结果:
the first file found is .

这是怎么回事啊?!??!?!?

...全文
277 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
missilery 2006-12-10
  • 打赏
  • 举报
回复
请知悉
目录也是文件
chaoqunz 2006-12-08
  • 打赏
  • 举报
回复
每个文件目录下都有.和..这两个系统目录,这时系统使用的

你可以在命令行中dir/

会显示.和..两个目录
HasanSas 2006-12-08
  • 打赏
  • 举报
回复
to todototry() :
那我搜索磁盘根目录为什么结果正确的??比如C:\*.* D:\*.*
todototry 2006-12-08
  • 打赏
  • 举报
回复
个人意见,高手多多指教
todototry 2006-12-08
  • 打赏
  • 举报
回复
以前写的时候,记得是的这样
todototry 2006-12-08
  • 打赏
  • 举报
回复
目录是当作文件来存放的,
.这个目录就是findfirst找到的首个“文件”
你可以的在findfirestfile中设置,那具有目录
属性的排除,
只显示的真正的意义的文件
好像设的directory attribution属性
neosu 2006-12-08
  • 打赏
  • 举报
回复
在输出之前, 调用一次FindNextFile
HasanSas 2006-12-08
  • 打赏
  • 举报
回复
当前目录也不对啊 这个程序应该显示D:\\shzq\\*.*下的第一个文件 怎么又显示当前目录了??
HasanSas 2006-12-08
  • 打赏
  • 举报
回复
晕!!!!!那我可以让他显示整个目录名吗????
fosjos 2006-12-08
  • 打赏
  • 举报
回复
first: .(当前目录)
second: ..(上级目录)

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧