第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)在MFC中的CFindFile有個(gè)FindNextFile(),為什么感覺(jué)有些文件沒(méi)遍歷到呢??

請(qǐng)問(wèn)在MFC中的CFindFile有個(gè)FindNextFile(),為什么感覺(jué)有些文件沒(méi)遍歷到呢??

C
慕標(biāo)5832272 2023-03-02 22:14:01
.h文件我創(chuàng)建5個(gè),為什么只檢測(cè)出4個(gè),而當(dāng).h的文件名是英文就會(huì)檢測(cè)出5個(gè)。是怎么回事findFile.FindFile(fileName "\\*.*");findFileCont.FindFile(fileName "\\*.*");//這里主要是求得要改名文件的個(gè)數(shù)while(findFileCont.FindNextFile()){if(!findFileCont.IsDirectory()){CString filePath;char Dirve[256] = "";char Dir[256] = "";char Tilte[256] = "";char Ext[256] = "";filePath = findFileCont.GetFilePath();_splitpath(filePath.GetBuffer(0), Dirve, Dir, Tilte, Ext);if(strcmp(Ext, ".h") == 0){fileNum ;}}}findFileCont.Close();
查看完整描述

2 回答

?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

CFileFind finder;
BOOL bWorking = finder.FindFile("*.*");//1
while (bWorking)
{
bWorking = finder.FindNextFile();//2
int i = m_listShowPicture.GetItemCount();//3
m_listShowPicture.InsertItem(i,"");
m_listShowPicture.SetItemText(i,0,finder.GetFileName());
}
上面程序完成文件遍歷。
finder.FindNextFile();使用n次,找到的文件就是第n個(gè)。
即如果想使用CFileFind的成員函數(shù),必須先初始化一次。
第一次用FindNextFile();找到是第一個(gè)文件,不是第二個(gè)。
總是這樣一個(gè)過(guò)程:1:Find 2:Next 3:調(diào)用

由路徑找到文件信息
void CMPEG2EncodeDlg::AddFileLink(CString filepath)
{
SHFILEINFO fileinfo;//文件信息結(jié)構(gòu),用來(lái)獲取文件的圖標(biāo)
CFileFind filefd;//文件查找類(lèi)
BOOL bContinue = filefd.FindFile(filepath); //1
if(bContinue)
{
filefd.FindNextFile();//2
SHGetFileInfo( filefd.GetFilePath(),
0,
&fileinfo,sizeof(fileinfo),
SHGFI_ICON);
int i = m_imagelist.Add(fileinfo.hIcon);//取得文件圖標(biāo)
m_listShowPicture.InsertItem(0,"",i);
m_listShowPicture.SetItemText(0,0,filefd.GetFileName());//3
m_listShowPicture.SetItemText(0,1,filefd.GetFilePath());
}
}


查看完整回答
反對(duì) 回復(fù) 2023-03-06
?
小怪獸愛(ài)吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

FindNextFile的返回值比較麻煩,他是剛剛好遍歷到最后一個(gè)文件的時(shí)候,給你返回false,也就意味著最后一個(gè)文件還沒(méi)處理就退出while了。
所以得寫(xiě)成這樣:
BOOL bRes = ff.FindFile(.....);
while(bRes) 
{
bRes = ff.FindNextFile();// 遍歷到最后一個(gè)文件的時(shí)候,bRes變成false。下面先處理了這個(gè)文件,之后才退出循環(huán)。
if (!ff.IsDirectory())
{...}
}

查看完整回答
反對(duì) 回復(fù) 2023-03-06
  • 2 回答
  • 0 關(guān)注
  • 255 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)