Compare commits
No commits in common. "fa5d59976ef1fd100246736e2f23d2bf2307821e" and "2b0e4ffbd27417af39eeb283ff4e20d33eeb400d" have entirely different histories.
fa5d59976e
...
2b0e4ffbd2
@ -1,4 +1,9 @@
|
|||||||
#include <tools.hpp>
|
#include <cstddef>
|
||||||
|
<<<<<<< HEAD
|
||||||
|
#include <cstdlib>
|
||||||
|
=======
|
||||||
|
>>>>>>> eb850866576adf89f6e59cb7b07b5a690e8b1d33
|
||||||
|
#include<tools.hpp>
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
|
|
||||||
void print_help(){
|
void print_help(){
|
||||||
@ -6,40 +11,7 @@ void print_help(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int main(const int argc,const char *argv[]){
|
int main(const int argc,const char *argv[]){
|
||||||
<<<<<<<<< Temporary merge branch 1
|
<<<<<<< HEAD
|
||||||
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){
|
if(argc==1){
|
||||||
print_help();
|
print_help();
|
||||||
exit(-1);
|
exit(-1);
|
||||||
@ -76,5 +48,38 @@ int main(const int argc,const char *argv[]){
|
|||||||
}
|
}
|
||||||
|
|
||||||
zt::print(argv1,"\n");
|
zt::print(argv1,"\n");
|
||||||
>>>>>>>>> Temporary merge branch 2
|
=======
|
||||||
|
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
|
||||||
}
|
}
|
@ -42,7 +42,7 @@ namespace zt {
|
|||||||
};
|
};
|
||||||
|
|
||||||
template<typename ...Args>
|
template<typename ...Args>
|
||||||
inline void raw_print(std::ostream &os,const Args&...args){
|
inline void print(std::ostream &os,const Args&...args){
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
((ss<<args),...);
|
((ss<<args),...);
|
||||||
os<<ss.str();
|
os<<ss.str();
|
||||||
@ -51,13 +51,13 @@ namespace zt {
|
|||||||
|
|
||||||
template<typename ...Args>
|
template<typename ...Args>
|
||||||
inline void print(const Args&...args){
|
inline void print(const Args&...args){
|
||||||
raw_print(std::cin,args...);
|
print(std::cin,args...);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ...Args>
|
template<typename ...Args>
|
||||||
inline void eprint(const Args&...args){
|
inline void eprint(const Args&...args){
|
||||||
raw_print(std::cerr,args...);
|
print(std::cerr,args...);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user