mfc将根目录下的txt文件名读取并依次加入combobox中怎么搞

 我来答
ryu1000
2011-03-07 · TA获得超过217个赞
知道小有建树答主
回答量:427
采纳率:0%
帮助的人:280万
展开全部
是只需要读根目录下的文件,不包括子文件夹文件吗?
如果是的话,我这里有一点之前写的代码给你给你参考下:
struct FileMsg_struct
{
CString File_name;
CString File_path;
CString File_lawritetime;
byte bResult;
};
struct Dir_struct
{
vector<Dir_struct*> Subdric;
CString subdric_name;
vector<FileMsg_struct*> File;
byte bsucdir;
};

CfindfileDlg::Dir_struct* CfindfileDlg::fun(CString strPath)
{
CFileFind Findwork;
CString path = strPath;
path = path + "\\*.*";

CfindfileDlg::Dir_struct dir_init;
dir_init.bsucdir = 0;
dir_init.subdric_name = "Rootdir";
CfindfileDlg::Dir_struct* dir = new Dir_struct(dir_init);//开辟内存空间
Dir_struct* sumdir;

BOOL bFindwork = Findwork.FindFile(path);
while(bFindwork)
{
bFindwork = Findwork.FindNextFile();

if (Findwork.IsDots()) //IsDots判断是否为点--这个要说明一下,用过Dos的话,就应该知道,每个目录下都有缺省的两个目录,名称分别为 '. '和 '.. ',分别代表上一层目录和本层目录。
{
continue;
}
if (Findwork.IsDirectory())
{
CString path1 = Findwork.GetFilePath();
// m_list.AddString(Findwork.GetFileName());
sumdir = fun(path1);
sumdir->subdric_name = Findwork.GetFileName();
dir->Subdric.push_back(sumdir);
}
else
{
CfindfileDlg::FileMsg_struct FileMsg_init;
FileMsg_init.File_lawritetime="";
FileMsg_init.File_name="";
FileMsg_init.File_path="";
FileMsg_init.bResult=0;
CfindfileDlg::FileMsg_struct* FileMsg = new FileMsg_struct(FileMsg_init);
FileMsg->File_name.Format("%s",Findwork.GetFileName());

FILETIME ft;
Findwork.GetLastWriteTime(&ft);
// TRACE("%d %d\r\n",ft.dwHighDateTime,ft.dwLowDateTime);
CTime ct(ft);
FileMsg->File_lawritetime.Format("%d年%d月%d日-%d:%d:%d",ct.GetYear(),ct.GetMonth(),ct.GetDay(),ct.GetHour(),ct.GetMinute(),ct.GetSecond());

// TRACE("filename=%s lasttime=%s\r\n",FileMsg->File_name,FileMsg->File_lawritetime);

dir->File.push_back(FileMsg);
}

}
Findwork.Close();
return dir;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式