Compare commits

...

2 Commits

Author SHA1 Message Date
2b0e4ffbd2 update 2024-09-17 12:34:07 +08:00
ce51439acb update 2024-09-17 12:32:47 +08:00
2 changed files with 58 additions and 2 deletions

View File

@ -1,4 +1,8 @@
#include <cstddef>
<<<<<<< HEAD
#include <cstdlib>
=======
>>>>>>> eb850866576adf89f6e59cb7b07b5a690e8b1d33
#include<tools.hpp>
#include <string_view>
@ -7,6 +11,44 @@ void print_help(){
}
int main(const int argc,const char *argv[]){
<<<<<<< HEAD
if(argc==1){
print_help();
exit(-1);
}
std::string argv1(argv[1]);
if(argc==2){
if(argv1=="-h"){
zt::print("help:\n","\tThis is a simple string replacer to replace characters of the same length.\n","\t<string> <character to be replaced> <character to replace>\n","\t\t-By Zengtudor\n");
}else{
print_help();
}
}else if(argc==4){
std::string_view be_replaced(argv[2]),to_replace(argv[3]);
if(be_replaced.size()!=to_replace.size()){
zt::eprint("The length of last two characters are not same!\n");
exit(-1);
}
for(auto i: zt::Range((size_t)0,argv1.size())){
if(argv1[i]==be_replaced[0]){
for(auto j: zt::Range((size_t)0,be_replaced.size())){
if(argv1[i+j]!=be_replaced[j]){
goto out_of_match;
}
}
for(auto j:zt::Range((size_t)0,be_replaced.size())){
argv1[i+j]=to_replace[j];
}
}
out_of_match:;
}
}else{
print_help();
}
zt::print(argv1,"\n");
=======
std::string argv1(argv[1]);
if(argc==2){
if(argv1=="-h"){
@ -39,4 +81,5 @@ int main(const int argc,const char *argv[]){
zt::print(argv1,"\n");
end:;
>>>>>>> eb850866576adf89f6e59cb7b07b5a690e8b1d33
}

View File

@ -1,6 +1,7 @@
#pragma once
#include <iostream>
#include <ostream>
#include <sstream>
#define NAME_VALUE(v)#v," : ",(v)
@ -41,10 +42,22 @@ namespace zt {
};
template<typename ...Args>
void print(const Args&...args){
inline void print(std::ostream &os,const Args&...args){
std::stringstream ss;
((ss<<args),...);
std::cout<<ss.str();
os<<ss.str();
return;
}
template<typename ...Args>
inline void print(const Args&...args){
print(std::cin,args...);
return;
}
template<typename ...Args>
inline void eprint(const Args&...args){
print(std::cerr,args...);
return;
}
}