我想用VC查找一个文件夹里的所有TXT文档中最新的一个 并读取它的内容 请问如何操作???
1个回答
展开全部
给你一个思路先遍历这个文件夹下的txt文件,然后逐个创建比较时间,并保存最新的文件名到一个变量上面,然后用CFile::read 读取内容。
给你一段伪代码 自己修改试试
HANDLE hSearch;
WIN32_FIND_DATA FileData, tempFileData;
hSearch = FindFirstFile("E:\\XX\\*.txt", &FileData); //首先找到的是“.”
if (hSearch == INVALID_HANDLE_VALUE)return 0;
if (! FindNextFile(hSearch, &FileData)) return 0; //然后找到的是“..”
FindNextFile(hSearch, &tempFileData);//把第一个文件的信息保存在tempFileData上
while (1)
{
if (!FindNextFile(hSearch, &FileData))
break;
else
{
if(CompareFileTime(FileData.ftCreationTime ,tempFileData.ftCreationTime )==-1){
tempFileDataFileData
}
}
}
FindClose(hSearch);
CFile file;
file.open("路径+\\tempFileData.cFileName");
char buf[xx];
file.read(buf......);
file.close();
追答
路径:你可以定义一个CString patn变量 然后得到文件目录的路径,假设为m_strpath。
path.format("%s%s",m_strpath,"\\*.txt");
FindFirstFile("E:\\XX\\*.txt", &FileData); 改成FindFirstFile(path, &FileData);
在字符串里面设路径时“\\”第一个"\"是用来转义的“\\”==\。你文本框里的\不用处理
你的数据都写在了buf中了,要显示还不简单,直接把buf的数据赋给文本数据框的变量,然后UPdateData(false);或者GetDlgItem(ID)->SetWindowsText(把buf转换成CString格式);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询