Compare commits

..

2 Commits

Author SHA1 Message Date
fa5d59976e Merge branch 'main' of https://git.zziyu.cn/Zengtudor/usefulTools 2024-09-17 12:38:48 +08:00
53f57381cc update 2024-09-17 12:36:55 +08:00
2 changed files with 39 additions and 44 deletions

View File

@ -1,9 +1,4 @@
#include <cstddef>
<<<<<<< HEAD
#include <cstdlib>
=======
>>>>>>> eb850866576adf89f6e59cb7b07b5a690e8b1d33
#include<tools.hpp>
#include <tools.hpp>
#include <string_view>
void print_help(){
@ -11,7 +6,40 @@ void print_help(){
}
int main(const int argc,const char *argv[]){
<<<<<<< HEAD
<<<<<<<<< Temporary merge branch 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()){
goto end;
}
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");
end:;
=========
if(argc==1){
print_help();
exit(-1);
@ -48,38 +76,5 @@ int main(const int argc,const char *argv[]){
}
zt::print(argv1,"\n");
=======
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()){
goto end;
}
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");
end:;
>>>>>>> eb850866576adf89f6e59cb7b07b5a690e8b1d33
>>>>>>>>> Temporary merge branch 2
}

View File

@ -42,7 +42,7 @@ namespace zt {
};
template<typename ...Args>
inline void print(std::ostream &os,const Args&...args){
inline void raw_print(std::ostream &os,const Args&...args){
std::stringstream ss;
((ss<<args),...);
os<<ss.str();
@ -51,13 +51,13 @@ namespace zt {
template<typename ...Args>
inline void print(const Args&...args){
print(std::cin,args...);
raw_print(std::cin,args...);
return;
}
template<typename ...Args>
inline void eprint(const Args&...args){
print(std::cerr,args...);
raw_print(std::cerr,args...);
return;
}
}