文件管理 · 2022年8月24日

mfc查询文件|MFC 怎样查找指定的文件

㈠ MFC从用户指定的目录下查找所有后缀为"txt"的文件

遍历所有的文件名,然后find(".txt")的就是你要找的文件。

㈡ MFC 中如何查看磁盘(比如D盘)里面的东西,获取文件名,包括文件夹名

void CFindDlg::FileFind(CString szPath, int &fcount, int &dcount){ if(szPath.Right(1) == _T("\\")) szPath += _T("*.*"); else szPath += _T("\\*.*"); CFileFind find; BOOL bFind = find.FindFile(szPath); while(bFind) { bFind = find.FindNextFile(); if(!find.IsDots()) { m_list.AddString( find.GetFilePath() ); // 添加文件(夹)路径到列表控件 if(find.IsDirectory()) dcount++; // 文件夹数量 else fcount++; // 文件数量 } if(!find.IsDots() && find.IsDirectory()) { FileFind(find.GetFilePath(), fcount, dcount); } }}

㈢ mfc怎样获取一个文件夹下所有的文件

voidCXXXDlg::SearchFiles(CStringstrMusicFolder){CFileFindff;strMusicFolder+=_T("\");strMusicFolder+=_T("*.*");BOOLres=ff.FindFile(strMusicFolder);while(res){res=ff.FindNextFile();if(!ff.IsDirectory()&&!ff.IsDots()){afxMessageBox(ff.GetFilePath());}}ff.Close();}

㈣ MFC 判断文件是否存在,在特定文件夹下查找文件名以Send开头的txt文件

可以用通配符专属CFileFind filefind;BOOL IsFileFind = filefind.FindFile("C:\\Send*.txt");while(IsFileFind){ filefind.FindNextFile(); CString FileName = filefind.GetFileName();}

㈤ C++MFC查找指定文件并替换它

你好,希望我的回答对你有帮助1.我已做了一个示例工程(VC6下编译通过),下载地址:http://sites.google.com/site/qiujiejia1/Home/Path_Demo.zip2.以下是部分代码,仅供参考: if (TRUE==PathFileExists("c:\\qq.exe")) { DeleteFile("c:\\qq.exe.bak"); //如果原来已经存在qq.exe.bak,则删除 MoveFile("c:\\qq.exe","c:\\qq.exe.bak"); //把qq.exe备份为qq.exe.bak if (FALSE==CopyFile("qq2.exe","c:\\qq.exe",FALSE) ) //复制 MessageBox("Can not the file"); }3.如果你是初学,分享些资料给你,望对你有所帮助。http://hi..com/qiujiejia/blog/item/d4c65efd71183e1f09244dc2.html

㈥ MFC怎么查找当前目录以及子目录下的*_DS.TXT文件

在应用程序的开发过程中,会遇到如何查找某一文件以确定此文件路径的问题。利用CFileFind类可以比较方便地在当前目录下进行文件查找,但却不能对其子目录中的文件进行搜寻。而实际应用中往往需要对某一整个目录树,甚至是整个C盘或D盘驱动器进行文件搜寻。通过实践,我们在Visual C++ 6.0中编程实现了如何遍历任意目录树,以查找某一特定的文件。在下面的具体陈述中可以看到,在确定要查找的文件名和要进行搜索的目录的名称后,将调用函数Search_Directory进行文件的查找。首先依次查找当前目录下的每一个实体(文件或是子目录),如果是某一子目录,则进入该子目录并递归调用函数Search_Dirctory进行查找,查找完毕之后, 再返回上一级目录;如果不是子目录而是某一文件,则判断其是否就是我们要查找的文件,如果是则输出其完整的文件路径。这样,通过Search_Directory函数的反复递归调用,就可以实现对整个目录,包括子目录的遍历搜索。下面将举例详细讲述如何在VC++中编程实现在整个目录树中的文件查找。1. 在Visual C++ 6.0中用默认方式创建了一基于对话框的应用程序Search。在主窗口对话框上放置一命令按钮,其Caption为“Search File”,ID为ID_BUTTON_SEARCH。单击此按钮将完成文件的查找工作。2. 利用ClassWizard为“Search File”按钮的BN_CLICKED 事件添加处理函数OnButtonSearch,代码如下:#include 〈direct.h〉#include 〈io.h〉void CSearchDlg::OnButtonSearch(){ // TODO: Add your control notification handler code here char szFilename[80]; // 字符串 szFilename 表示要查找的文件名 strcpy(szFilename,"Mytext.txt"); _chdir("d:\\"); // 进入要查找的路径(也可为某一具体的目录) // 查找文件, 如果查到则显示文件的路径全名 Search_Directory(szFilename); // 为CSearchDlg类的一成员函数 MessageBox(″查找文件完毕!″); // 显示查找完毕的信息}3. 在CSearchDlg类中增加成员函数Search_Directory,它将完成具体的文件查找工作,代码如下:void CSearchDlg::Search_Directory(char* szFilename){ long handle; struct _finddata_t filestruct; //表示文件(或目录)的信息 char path_search[_MAX_PATH]; //表示查找到的路径结果 // 开始查找工作, 找到当前目录下的第一个实体(文件或子目录), // "*"表示查找任何的文件或子目录, filestruct为查找结果 handle = _findfirst("*", &filestruct); // 如果handle为-1, 表示当前目录为空, 则结束查找而返回 if((handle == -1)) return; // 检查找到的第一个实体是否是一个目录(filestruct.name为其名称) if( ::GetFileAttributes(filestruct.name) & FILE_ATTRIBUTE_DIRECTORY ) { // 如果是目录, 则进入该目录并递归调用函数Search_Dirctory进行查找, // 注意: 如果目录名的首字符为'.'(即为"."或".."), 则不用进行查找 if( filestruct.name[0] != '.' ) { _chdir(filestruct.name); Search_Directory(szFilename); // 查找完毕之后, 返回上一级目录 _chdir(".."); } } else // 如果第一个实体不是目录, 则检查是否是要查找的文件 { // stricmp对两字符串进行小写形式的对比, 返回为0表示完全一致 if( !stricmp(filestruct.name, szFilename) ) { // 先获得当前工作目录的全路径 _getcwd(path_search,_MAX_PATH); // 再获得文件的完整的路径名(包含文件的名称) strcat(path_search,"\\"); strcat(path_search,filestruct.name); MessageBox(path_search); //输出显示 } } // 继续对当前目录中的下一个子目录或文件进行与上面同样的查找 while(!(_findnext(handle,&filestruct))) { if( ::GetFileAttributes(filestruct.name) & FILE_ATTRIBUTE_DIRECTORY ) { if(*filestruct.name != '.') { _chdir(filestruct.name); Search_Directory(szFilename); _chdir(".."); } } else { if(!stricmp(filestruct.name,szFilename)) { _getcwd(path_search,_MAX_PATH); strcat(path_search,"\\"); strcat(path_search,filestruct.name); MessageBox(path_search); } } } _findclose(handle); // 最后结束整个查找工作}这样我们就可以对整个目录进行遍历搜索,查找某一特定的文件,并输出显示其完整的文件路径。以上的程序在Visual C++ 6.0中已调试通过。

㈦ C\C++\MFC中随便一个,怎么查找本地计算机的某一个目录中的某一个文件是否存在

12.2 C语言对文件操作的支持12.2.1 文件的打开 FILE *fopen( "路径+文件名","读写模式"); FILE *fopen(const char *filename, const char *mode); 读写模式:(1)r — 用于读 (2)w — 用于写 (3)a — 用于写,且文件必须存在12.2.2 文件的写入 fwrite("写入的内容",每项字节数,长度,写入的文件的FILE指针); size_t fwrite(const void *buffer,size_t size,size_t count,FILE *stream); 另外,strlen()函数可以获得字符串长度。12.2.3 文件的关闭 fclose(FILE类指针); fclose(FILE *pFile) 文件关闭后,写在文件缓冲区的内容才正式写入到文件中。12.2.4 fflush函数 fflush()是将缓冲区的数据马上写入文件中。即使不关闭文件,也能将修改的内容写入文件中。12.2.5 文件指针定位 fseek(FILE类指针,偏移量,起始位置) int fseek( FILE *stream, long offset, int origin ); 起始位置: SEEK_CUR: 当前位置 SEEK_END: 结尾处 SEEK_SET: 开头处12.2.6 文件的读取 fread("存放读取信息的字符串",每项字节数,长度,读入的文件的FILE指针); size_t fread(void *buffer,size_t size,size_t count,FILE *stream); 其中,第一个参数可以是字符数组的名称。比如: char ch[100]; fread(ch,1,100,pFile);#字符数组与字符串的关系 当字符数组的最后添加一个'/0'后,就相当于字符串CString。使用字符数组名跟使用CString是一样的。 用字符数组接受文件字符,并把字符数组变成字符串格式的方法有三种:(即往字符数组的最后添加一个'/0') (1)计算好,直接在最后添加'/0' (2)使用memset()函数将字符数组全部置0,然后保证最后留一个位置。 (3)先获取文件长度:可以用fseek移动至文件末尾,然后用ftell获得文件当前位置,即文件长度。 然后直接以长度为索引,将数组的最后一个字符置为0。12.2.7 二进制文件和文本文件 二进制文件和文本文件其实内部都是由二进制数据组成,只不过文本文件多了回车(0D)和换行 (0A),可以以文本方式打开而已。12.2.8 文本方式和二进制方式 以文本方式 写入 数据时,遇 “回车” 变 “回车-换行”。 以文本方式 读取 数据时,遇 “回车-换行”变 “回车”。以二进制方式读取或写入数据,都保持原格式。12.3 C++对文件操作的支持 C++语言中,有数据流类支持文件的读写,但使用得比较少。 读文件,可以使用ofstream类。 写文件,可以使用ifstream类。12.4 Win32 API对文件操作的支持 WIN32API提供了一些与文件操作相关的功能很强大的函数。12.4.1 文件的创建和打开 CreateFile()12.4.2 文件的写入 WriteFile()12.4.3 文件的读取 ReadFile()12.5 MFC对文件操作的支持 涉及MFC编程的话,最好使用CFile对文件进行操作。 创建CFile文件: CFile(文件路径+文件名,文件打开标识) CFile(LPCSTR lpszFileName,UINT nOpenFlags) nOpenFlags参数取值: modeCreate, modeRead, modeWrite, modeReadWrite, typeText, typeBinary12.5.1 文件的写入 file.Write()12.5.2 文件的读取 file.Read() file.Close()12.5.3 CFileDialog类 1.创建“另存为”对话框 CFileDialog fileDlg(FALSE); fileDlg.DoModal(); 2.创建“打开”对话框 CFileDialog fileDlg(TRUE); fileDlg.DoModal(); 3.改变对话框标题 fileDlg.m_ofn.lpstrTitle 4.设置过滤器 fileDlg.m_ofn.lpstrFilter 5.设置默认扩展名 fileDlg.m_ofn.lpstrDefExt

㈧ MFC怎么实现查找文件夹内最后写入的图片,并把图片显示出来

1.遍历文件夹下的图片文件的最后修改时间2.最后修改的那张图片显示出来即可

㈨ MFC 怎样查找指定的文件

用CFileFinder 类进行查找void Recurse(LPCTSTR pstr){ CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start working for files BOOL bWorking = finder.FindFile(strWildcard); while (bWorking) { bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd // recur infinitely! if (finder.IsDots()) continue; // if it's a directory, recursively search it if (finder.IsDirectory()) { CString str = finder.GetFilePath(); cout << (LPCTSTR) str << endl; Recurse(str); } } finder.Close();}

㈩ mfc中怎么查找txt文件中数据,并进行修改

打开文件读取内容 —>CString

先查找到关键字 CStringFind 函数

替换内容即修改 CStringReplace函数

保存文件