目录

001.string与char*互转

002.string与int互转

003.Windows更改cmd窗口大小

/*
【程序代码版权声明】
    本程序代码由帅帅的李文芳撰写。
    禁止复制、抄袭本程序代码!
    如果你需要本程序代码为你服务,你得联系李文芳获取授权,邮箱为1724834368@qq.com.
    防伪标识码:"SnVkZUJsYWNrRGVkaVBlbnNvbk1pbnBlbkp1bGFyRGVwaWNrQ2luaGFuQmFuamFuc0xpV2VuZmFuZD".
*/

//Written by liwenfang(Very Handsome)

#pragma once
#include <bits/stdc++.h>
#include <string>
#include <regex>
#include <algorithm>
#include <stdlib.h>

using namespace std;

001.string与char*互转

char* _stoch(string s) {
    //string转char*
    const int len=s.size();
    char *ch=new char[len];
    strcpy(ch,s.c_str());
    return ch;
}

char* stoch(string s) {
    //string转char*
    return s.data();
}

string chtos(char *ch) {
    //char*转string
    return string(ch);
}

002.string与int互转

string intos(long long int num) {
    //int转string
    string s="";
    bool post=0;
    if(num<0) {
        post=1;
        num=-num;
    }
    for(;num>0;num/=10) {
        s.push_back(num%10+48);
    }
    reverse(s.begin(),s.end());
    return (post? ("-"+s) : s);
}

long long int stoint(string s) {
    //string转int
    regex right("([0]|(-?[1-9]+[0-9]*))");
    if(!regex_match(s,right)) return -1;
    bool post=0;
    if(s[0]=='-') {
        post=1;
        copy(s.begin()+1,s.end(),s.begin());
        s.pop_back();
    }
    long long int num=0;
    for(int i=0;i<int(s.size());i++) {
        num+=(s[i]-48);
        num*=10;
    }
    return ((post? (-num) : num)/10);
}

003.Windows更改cmd窗口大小

#define ___stm___ system
void altamd(int cols,int lines) {
    //Windows更改cmd窗口大小
    if(cols<=0||cols>=1000||lines<=0||lines>=100) return;
    string s="mode con: clos=";
    s+=intos(cols);
    s+=(" lines="+intos(lines)+" \r\n");
    const char* command=stoch(s);
    ___stm___(command);
}

返回目录

* 所有内容均为作者亲自撰写,谢绝一切抄袭、搬运、诬告。


Page Views Count