给你一个思路先遍历这个芹睁文件夹下的txt文件,然后逐个创建比较时间,并保存最新的文件名到一个变量上面,然后用CFile::read 读取内容。
给你一段伪代码 自己修改试试
HANDLE hSearchWIN32_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()
//自己写的代码,绝对可用,望采纳#include <string> // std::string
#include <vector> // std::vector
#include <io.h>// _finddata_t
#include <iostream>// std::cout
//dirpath为你要查找的文件件绝对路径,如txt在D盘文件扒歼夹名为1的情况下,即输入:
//std::string = "D:\\1\\"
//std::vector<std::string>filepaths//为所有高瞎txt的文件名称,这是输出参数
//std::string regular_expression_input = "*.txt"
//你写一个主函数即可使用。
int get_filenames_under_dir_based_on_regular_expression(const std::string&dirpath, std::vector<std::string>&filepaths, const std::string&regular_expression_input)
{
struct _finddata_t filefind
std::string curr = dirpath + regular_expression_input
int done=0,i,handle
int N = 0
std::string tmp_string
if( (handle = _findfirst(curr.c_str(),&filefind)) == -1 )
{
return N
}
else
{
if( strcmp(filefind.name,"..") &&strcmp(filefind.name,"."戚此空) )
{
filepaths.push_back(filefind.name)
N++
}
}
while( !(done = _findnext(handle,&filefind)) )
{
if((!strcmp(filefind.name,"..")) || (!strcmp(filefind.name,".")))
{
continue
}
if( !(filefind.attrib == _A_SUBDIR) )
{
filepaths.push_back(filefind.name)
N++
}
}
_findclose(handle)
return N
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)