C++常用脚本合集
创始人
2024-02-03 02:49:39
0

C++常用脚本合集

    • ① 文件夹中文件分类
    • ② 找文件夹中,最长的名字有多长
    • ③读取某个文件夹下面的子文件夹及其所有文件
    • ④大量文件转移
    • ⑤判断文件夹是否存在,不存在则创建
    • ⑥处理txt文件常用功能方法
      • 1.当字符串中只有一对双引号,取引号里面的内容
      • 2.string替换所有指定字符串
      • 3.数据类型转换
    • ⑦两个文件夹互相找对方的同名文件
    • ⑧txt读取中文
    • ⑨读取文件夹下文件的文件名
    • ⑩ vector乱序
    • ①① 字典对应
    • ①② 分割字符串
    • ①③ 删除string最后一个字符的几种方法
    • ①④ 找字符串关键词
    • ①⑤ 找字符串中的数字

① 文件夹中文件分类

https://blog.csdn.net/Cream_Cicilian/article/details/114375866?spm=1001.2014.3001.5501

② 找文件夹中,最长的名字有多长

https://blog.csdn.net/Cream_Cicilian/article/details/108962302?spm=1001.2014.3001.5501

③读取某个文件夹下面的子文件夹及其所有文件

https://blog.csdn.net/Cream_Cicilian/article/details/108659285

④大量文件转移

https://blog.csdn.net/Cream_Cicilian/article/details/124524084?spm=1001.2014.3001.5501

⑤判断文件夹是否存在,不存在则创建

https://www.manongdao.com/article-586585.html
单级文件夹:

#include 
#include 
#include int main()
{std::string prefix = "G:/test/";if (_access(prefix.c_str(), 0) == -1)	//如果文件夹不存在_mkdir(prefix.c_str());				//则创建
}

多级文件夹,最后一个如果是文件夹的话,需要加上 ‘\’ 或者 ‘/’:

#include 
#include 
#include int createDirectory(std::string path)
{int len = path.length();char tmpDirPath[256] = { 0 };for (int i = 0; i < len; i++){tmpDirPath[i] = path[i];if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/'){if (_access(tmpDirPath, 0) == -1){int ret = _mkdir(tmpDirPath);if (ret == -1) return ret;}}}return 0;
}

⑥处理txt文件常用功能方法

https://blog.csdn.net/Cream_Cicilian/article/details/122362436?spm=1001.2014.3001.5501

1.当字符串中只有一对双引号,取引号里面的内容

2.string替换所有指定字符串

3.数据类型转换

⑦两个文件夹互相找对方的同名文件

https://blog.csdn.net/Cream_Cicilian/article/details/122370824?spm=1001.2014.3001.5501

⑧txt读取中文

https://blog.csdn.net/Cream_Cicilian/article/details/115347354?spm=1001.2014.3001.5501

⑨读取文件夹下文件的文件名

#include 
#include
using namespace std;
using namespace std::experimental::filesystem;int main() {path str("D:\\WWY\\1");if (!exists(str))		//必须先检测目录是否存在才能使用文件入口.return 1;directory_entry entry(str);		//文件入口if (entry.status().type() == file_type::directory)	//这里用了C++11的强枚举类型cout << "该路径是一个目录" << endl;directory_iterator list(str);	        //文件入口容器for (auto& it : list)cout << it.path().filename() << endl;	//通过文件入口(it)获取path对象,再得到path对象的文件名,将之输出system("pause");return 0;
}

⑩ vector乱序

// random_shuffle_demo.cpp : 定义控制台应用程序的入口点。
//#include   
#include  
#include  
#include   using namespace std;int main()
{vector vs;vs.push_back(1);vs.push_back(2);vs.push_back(3);vs.push_back(4);vs.push_back(5);vs.push_back(6);vs.push_back(7);random_shuffle(vs.begin(), vs.end()); /* 打乱顺序 */for (int i = 0; i < 7; i++)cout << vs[i] << " "; /* 显示打乱顺序后的元素 */}

①① 字典对应

// random_shuffle_demo.cpp : 定义控制台应用程序的入口点。
//#include   
#include  
#include  
#include   
#include
using namespace std;int main()
{std::map mymap;// 插入单个值mymap.insert(std::pair(1, "100"));mymap.insert(std::pair(2, "200"));mymap.insert(std::pair(3, "300"));mymap.insert(std::pair(4, "400"));mymap.insert(std::pair(5, "500"));mymap.insert(std::pair(6, "600"));mymap.insert(std::pair(7, "700"));mymap.insert(std::pair(8, "00"));vector vs;vs.push_back(1);vs.push_back(2);vs.push_back(3);vs.push_back(4);vs.push_back(5);vs.push_back(6);vs.push_back(7);random_shuffle(vs.begin(), vs.end()); /* 打乱顺序 */for (int i = 0; i < 7; i++)cout << vs[i] << " "; /* 显示打乱顺序后的元素 *///cout << mymap.at(3) << endl;vector vs_rusalt;for (int k = 0; k < 7; k++){int tmp =0;tmp = vs[k];		string temp = mymap[tmp];cout << temp << " ";}/*for (int i = 0; i < 7; i++)cout << vs_rusalt[i] << " "; /* 显示打乱顺序后的元素 */}

①② 分割字符串

// random_shuffle_demo.cpp : 定义控制台应用程序的入口点。
//#include   
#include  
#include  
#include   
#include
using namespace std;int main()
{std::map mymap;// 插入单个值mymap.insert(std::pair(1, "100"));mymap.insert(std::pair(2, "200"));mymap.insert(std::pair(3, "300"));mymap.insert(std::pair(4, "400"));mymap.insert(std::pair(5, "500"));mymap.insert(std::pair(6, "600"));mymap.insert(std::pair(7, "700"));mymap.insert(std::pair(8, "00"));vector vs;vs.push_back(1);vs.push_back(2);vs.push_back(3);vs.push_back(4);vs.push_back(5);vs.push_back(6);vs.push_back(7);random_shuffle(vs.begin(), vs.end()); /* 打乱顺序 */for (int i = 0; i < 7; i++)cout << vs[i] << " "; /* 显示打乱顺序后的元素 *///cout << mymap.at(3) << endl;vector vs_rusalt;for (int k = 0; k < 7; k++){int tmp =0;tmp = vs[k];		string temp = mymap[tmp];cout << temp << " ";}/*for (int i = 0; i < 7; i++)cout << vs_rusalt[i] << " "; /* 显示打乱顺序后的元素 */}

①③ 删除string最后一个字符的几种方法

https://blog.csdn.net/u011857683/article/details/81058622

①④ 找字符串关键词

bool FindKeyWord(string s, string keyWord) {string::size_type idx;idx = s.find(keyWord);//在a中查找b.if (idx != string::npos) {return 1;}else {return 0;}
}

①⑤ 找字符串中的数字


/*
提取字符串中的数字
*/
string FindNumber(string s) {int i = 0, j = 0;int len_s = s.size();vector  a;while (i < len_s){if (s[i] >= '0'&& s[i] <= '9'){j = i;int len = 0;while (s[i] >= '0'&& s[i] <= '9'){i++;len++;}string s0 = s.substr(j, len);//获取子串int num = 0;//数字字符串转换为整型数字stringstream s1(s0);s1 >> num;a.push_back(num);}else{i++;}}//for (int w = 0; w < a.size(); w++) {//	std::cout << a[w] << endl;//}stringstream ss;string str;copy(a.begin(), a.end(), ostream_iterator(ss, ""));str = ss.str();return str;
}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...