2 qq 28254507 qq_28254507 于 2016.02.24 21:39 提问

求助!MFC FindFirstFile()的问题
 void TreeView::FindFirstFolder(CString strName, WIN32_FIND_DATAA& data)
{
    WIN32_FIND_DATAA s;
    FindFirstFile(strName, &s);
    AfxMessageBox(s.cFileName);
}

调用的语句如下:

  WIN32_FIND_DATAA  data ;  
    FindFirstFolder("H:\\2016寒假作业\\Test\\res\\默认文件夹\\默认笔记本\\*.*", data);

我想得到第一个文件的文件名,但是...
图片说明

弹出的消息盒子显示名称是"."
这是错哪了。。

2个回答

caozhy
caozhy   Ds   Rxr 2016.02.24 22:01
已采纳

你在命令行窗口打dir,也会看到目录项的前两个是
.
..

qq_28254507
qq_28254507 原来这样。谢谢了!
接近 2 年之前 回复
caozhy
caozhy 回复ProgJ: 这是从dos时代就有的约定,没什么为什么
接近 2 年之前 回复
caozhy
caozhy 回复ProgJ: 其实.和..也是两个目录项,一个指向当前目录,一个指向上一级目录。
接近 2 年之前 回复
qq_28254507
qq_28254507 为什么呢。。不是直接得到第一个文件夹啊。。?
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.24 22:00

没错,第一个就是.
第二个是..
第三个开始才是真正的文件名
继续调用FindNextFile 2次。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!