读文件夹下所有文件,并提取中文字符

简介:

RT,组合之前做的工作


#include <iostream>
#include <string>
#include <io.h>
#include <vector>
using namespace std;

bool getDirFilesPath( string folderPath, vector<string>& files);
string getChinese(string inputStr);

int main()
{
	string path;
	vector<string> files,chineseFiles;

	cin >> path;
	getDirFilesPath(path,files);

	for (int i=0;i<files.size();i++)
	{
		//cout<<files.at(i)<<"\n";
		chineseFiles.push_back( getChinese(files.at(i)) );
	}

	system("pause");
	return 0;
}


//获得某文件夹下的所有文件的绝对路径
bool getDirFilesPath( string folderPath, vector<string>& files)
{
	//文件句柄
	long hFile   =   0;
	//文件信息
	struct _finddata_t fileinfo;
	string p;
	if((hFile = _findfirst(p.assign(folderPath).append("\\*").c_str(),&fileinfo)) !=  -1)
	{
		do
		{
			//如果是目录,继续
			if((fileinfo.attrib &  _A_SUBDIR))
			{
				if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)
				{
					//去掉父目录和当前目录
					files.push_back( fileinfo.name );
				}
			}
			else
			{
				files.push_back( fileinfo.name );
			}
		}while(_findnext(hFile, &fileinfo)  == 0);
		_findclose(hFile);
	}else{
		return false;
	}

	return true;
}


string getChinese(string inputStr)
{
	string result;
	for (int i=0;i<inputStr.size();i++)
	{
		if ( (int)(inputStr.at(i))<0 )
		{
			result.append(&inputStr.at(i),2);
			i++;
		}
	}
	return result;
}


相关文章
如何快速找出文件夹里的全部带有中文&纯中文的文件
该内容是一篇关于使用工具批量复制文件的教程。首先提到了需要使用的工具,并提供了两个下载来源:百度网盘(提取码:qwu2)和蓝奏云(提取码:2r1z)。接着,详细介绍了操作步骤:1) 打开工具并切换到批量复制文件功能;2) 通过搜索添加文件;3) 设定查找范围和过滤条件,包括包含全部子文件夹和按命名过滤纯中文文件;4) 确认设置后执行搜索;5) 搜索完成后,可以复制或剪切找到的文件。此外,还提到可以直接将D盘拖入工具进行过滤的快捷方法。
|
存储 安全 数据挖掘
【工具】HxD Hex Editor 的安装、使用详细教程
【工具】HxD Hex Editor 的安装、使用详细教程
3309 0
Beyond Compare 4密钥过期解决办法,超实用
Beyond Compare 4密钥过期解决办法,超实用
27981 1
|
应用服务中间件 nginx Docker
使用nginx进行http以及socket端口转发(快速提高docker开发效率)
本文介绍如何使用nginx进行http以及socket端口转发以快速提高docker开发效率
|
安全 调度 虚拟化
阿里云郑晓:浅谈GPU虚拟化技术(第三章)
本系列文章推送门: 阿里云郑晓:浅谈GPU虚拟化技术(第一章) GPU虚拟化发展史 阿里云郑晓:浅谈GPU虚拟化技术(第二章)GPU虚拟化方案之——GPU直通模式  今天一个小伙伴@我说:“你浅谈一下,没点技术背景的,估计都看不懂…”,醍醐灌顶啊,面向公众的文章不是学术论文,应以普及基本概念为主。
19634 1
|
Linux
亚马逊云服务器AWS安装CentOS
亚马逊云服务器默认创建的实例,在停止之后再启动的情况下,IP会发生改变。所以我们最好先创建一个弹性IP,即EIP,不过我也不清楚这个费用。 1、按如图操作创建一个弹性IP,弹性IP创建之后可以随便绑定到该region下的实例 2、创建好弹性IP之后,然后去创建实例: 3、点启动实例之...
3488 0
|
图形学
【制作100个unity游戏之28】花半天时间用unity复刻童年4399经典小游戏《黄金矿工》(附带项目源码)
【制作100个unity游戏之28】花半天时间用unity复刻童年4399经典小游戏《黄金矿工》(附带项目源码)
695 0
|
运维 监控 安全
运维技术——从基础到高阶的全面解析
本文是一篇技术性文章,主要探讨了运维技术。运维不仅仅是保持系统的稳定运行,更包括优化、预防故障和应对突发事件的能力。本文将从运维的基本概念入手,逐步深入到高阶技术和策略,为读者提供一个全面的运维知识体系。希望通过这篇文章,读者能够更好地理解和应用运维技术,提升自己的运维能力。
|
8月前
|
存储 监控 虚拟化
Hyper V上网优化:提升虚拟机网络速度
要优化Hyper-V虚拟机的网络速度,可从以下几方面入手:1. 优化虚拟交换机配置,如选择合适的交换机类型、启用SR-IOV、配置VLAN和QoS策略;2. 调整网络适配器设置,选择适当的适配器类型并启用VRQ等;3. 优化宿主机网络配置,更新网卡固件和驱动,启用硬件加速;4. 使用性能监视工具监控网络流量;5. 其他措施如启用硬件虚拟化、使用外部存储、配置NLB等。通过合理配置,可显著提升网络性能。
|
11月前
|
开发工具 Docker 容器
Docker 镜像加速器配置指南
dockerhub加速器失败,使用第三方加速器