easy-project.hpp头文件的使用方法

easy-project.hpp头文件的使用方法

文件内容:
https://github.com/HelloOSMe/OI-Tool/blob/main/easy-project.hpp

函数用法:

bts()

这个函数的原型:

string bts(string str){
    int a,len=str.size();
    for(a=0;a<len;a++){
        if(str[a]>='A'&&str[a]<='Z'){
            str[a]=str[a]+32;
        }
    }
    return str;
}

用法:变量1bts(变量2)

用途:把字符串变量-变量2的所有大写字母转化为小写字母。

例子:

string s;
s="Hello!";
s=bts(s);
cout<<s;

这会输出hello!

char_to_str

把char字符串数组转化为string类
原型:

string char_to_str(char ch[]){
    string s;
    for(int i=0;i<strlen(ch);i++){
        s.push_back(ch[i]);
    }
    return s;
}

例子:

char ch[100]="Hello!";
string str;
//str=ch赋值会报错
str=char_to_str(ch);

GetCmd

原型:

string GetCmd(string str,int num){
    int space=0,zb=0;
    string nowstr;
    for(int i=str.size()-1;str[i]==' ';i--){
        str.erase(i);
    }//抹除尾部空格
    int numj=0;
    for(int i=0;str[i]==' ';i++){
        if(i==0){
            str[i]='\0';
            numj=1;
        }else{
            str.erase(i);
        }
    }
    if(numj==1){
        for(int i=1;i<str.size();i++){
            str[i-1]=str[i];
        }
        str.erase(str.size()-1);
    }
    if(num==0){
        for(int i=0,j=0;i<str.size();i++){
            if(str[i]==' '){
                break;
            }
            nowstr.push_back(str[i]);
            j++;
        }
        return nowstr;
    }
    for(int i=0;i<str.size();i++){
        if(str[i]==' '){
            space++;
        }
        if(space==num){
            zb=i+1;
            break;
        }
    }
    if(space==0){
        return str;
    }
    for(int i=zb,j=0;i<str.size();i++){
        if(str[i]==' '){
            break;
        }
        nowstr.push_back(str[i]);
        j++;
    }
    return nowstr;
}

用途:获取命令的某个部分。

比如有这一段命令:

open -p p1000

我们可以用GetCmd获取它的部分:

string s="open -p p1000";
string s1,s2,s3;
s1=GetCmd(s,0);//从0开始计算
s2=GetCmd(s,1);
s3=GetCmd(s,2);

s1的值是open
s2是-p
s3是p1000

很方便,是不是?

color

是的,C++不带原生函数color。

那怎么实现带颜色输出呢?

void color(int a,int b){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a*16+b);
}

a为背景色,b为前景色。
使用:
color(a,b);

颜色对应的数字是什么?

Windows+R,打开cmd,输入

color /?

就能获得。

字母怎么办?
对照表:

字母 数字
a 10
b 11
c 12
d 13
e 14
f 15

GetTimes

获取时间

用法:

int a=GetTimes(类型);

类型:
GT_YEA 年
GT_MON 月
GT_DAY 日
GT_HOU 时
GT_MIN 分
GT_SEC 秒