C++如何读取指定目录下的所有txt文件,或者读取所有文件名开头含有某字符的文件?(并打印)

Howie_Yue 2016-03-07 09:20:41
C++如何读取指定目录下的所有txt文件,或者读取所有文件名开头含有某字符的文件?(并打印)
...全文
612 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Howie_Yue 2016-03-09
  • 打赏
  • 举报
回复
所以我应该怎么添加目录呢
赵4老师 2016-03-08
  • 打赏
  • 举报
回复
system("dir /b /a-d c:\\*.* >d:\\allfiles.txt"); //读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字 system("dir /b /a-d /s c:\\*.* >d:\\allfilesinsub.txt"); //读文件d:\\allfilesinsub.txt的内容即C:\\下所有文件的名字包含子目录 system("dir /b /ad c:\\*.* >d:\\alldirs.txt"); //读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字 请记住,能用shell命令获取文件、文件夹信息或者操作文件、文件夹最好用shell命令获取或者操作,而不要用各种API获取或者操作,因为当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。 如果嫌system黑窗口一闪,将system("...")替换为WinExec("cmd /c ...",SW_HIDE);
小灸舞 2016-03-07
  • 打赏
  • 举报
回复
这个是我知道的代码量最少的了,遍历F:\\shared文件夹下所有.txt的文件,LZ应该能看懂吧 如果需要处理开头含某字符的文件,可以在while循环中对buffer进行处理

#include<iostream>
#include<fstream>
using namespace std;

int main()
{
	system("cmd /c dir F:\\shared\\*.txt /a-d /b /s >c:\\allfiles.txt");
	ifstream myfile("c:\\allfiles.txt"); 
	char buffer[1024];
	while (! myfile.eof() )  
	{  
		myfile.getline (buffer,1024);  
		cout<<buffer<<endl;  
	}
	system("pause");
	return 0;
}

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧