C++ 遍历文件夹
利用下面的函数遍历文件夹时,出现了一个.和..命名的文件。谁知道是怎么回事?
fileName 给定的为 L:\\DCB\\RINEX_files\\*.*
bool COver_Read_Fi::Transfer(string fileName)
{
int Num = 0;
_finddata_t fileInfo;
long handle = _findfirst(fileName.c_str(), &fileInfo);
if (handle == -1L)
{
std::cerr << "failed to transfer files" << endl;
return false;
}
do
{
Num ++;
cout << fileInfo.name <<endl;
files.push_back(fileInfo);
} while (_findnext(handle, &fileInfo) == 0);
_findclose(handle);
cout << "files' number: " << Num << endl;
return true;
}
C++ 遍历
[解决办法]
.代表当前目录
..代表上一级目录
遍历文件夹的时候遇到这两个目录,忽略掉就行了,也就是判断一下文件名,如果是一个点或两个点,就略过。