正太cp吧 果果吃醋:windows程序设计(6)

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 03:11:38
哪位大虾帮我看一下下面的简单程序:

#include <iostream.h>
#include <windows.h>

void main()
{
WIN32_FIND_DATA fd;
HANDLE hFile;

if( (hFile=FindFirstFile("*.*",&fd) ) ==INVALID_HANDLE_VALUE)
//if( (hFile=FindFirstFile("*.txt",&fd) ) ==INVALID_HANDLE_VALUE)
{
cout<<"FAILED"<<endl;
}
else
{
cout<<"SUCCESS"<<endl;
}

if(FindClose(hFile)!=0)
{
cout<<"Find closed."<<endl;
}
else
{
cout<<"Find closing failed."<<endl;
}

cout<<"The name of the file is: \""<<fd.cFileName<<"\"."<<endl;
}
为什么编译后最后输出的文件名“fd.cFileName”是“.”呢?我是在一个有许多文件的目录下
执行此程序的,没理由找到一个名字为“.”的文件啊!(该目录下没有这样一个文件)

但若使用注释掉的语句,则程序输出正常,能找到文件。

最后还有一个小问题:我试验得出FindFirstFile()函数似乎找不到word文档,bmp图像,rar压缩文件等格式
的文件啊,它是否只能找到后缀名为.txt的文件呢?

.表示当前目录,..表示上一层目录。