提取文件名、后缀
#include <string>
using namespace std;
string getFilenameNoSufffix(string path){
string::size_type iPos = (path.find_last_of('\\') + 1) == 0 ? path.find_last_of('/') + 1: path.find_last_of('\\') + 1 ;
string FilenameNoSufffix = path.substr(iPos, path.rfind(".")-iPos);
return FilenameNoSufffix;
}
int转string并高位补0
#include <string>
#include <sstream>
using namespace std;
string int2stringAdd0(int num, int max_num){
int length = std::to_string(max_num).size();
stringstream ss;
ss << setw(length) << setfill('0') << num ;
string str;
ss >> str;
return str;
}
创建目录
#include <string>
using namespace std;
bool createDirectorys(string path){
string cmd("mkdir -p " + path);
int ret = system(cmd.c_str());
if (ret)
{
cout << "error when create directories : " << ret << ", :" << strerror(errno) << endl;
return 0;
}
cout << "successfully create directories: " << path << endl;
return 1;
}
生成随机数
#include <time.h>
#include <stdlib.h>
int randMin2Max(int min, int max){
srand(time(0));
int num = rand() % int(max - min + 1) + min;
int num = rand() % int(max - min) + min;
int num = rand() % int(max - min) + min + 1;
return num;
int rand_aroundX(int x, float y){
# y是随机数在x附近的振荡范围,如取0.05,则随机数的范围是[0.95x, 1.05x]
srand(time(0));
int num= rand() % int(x*y*2 + 1) + int(x*(1-y));
return num;
}