- liwenfang's blog
程序设计.经验分享
- 2023-9-23 8:11:35 @
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);
}
* 所有内容均为作者亲自撰写,谢绝一切抄袭、搬运、诬告。