Advertisement
encoree1996

Untitled

Nov 23rd, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <string>
  2. #include <iostream>
  3. #include <fstream>
  4.  
  5.  
  6.  
  7. int main(int argc, char** argv)
  8. {
  9.     if(argc < 4)
  10.     {
  11.         std::cout<<"Uzycie: "<<argv[0]<<" <nazwa_pliku> <ciag_do_zamiany> <ciag_po_zamianie>\n";
  12.         return -1;
  13.     }
  14.  
  15.     std::ifstream inputfile(argv[1], std::ifstream::in);
  16.     if(!inputfile.good())
  17.     {
  18.         std::cout<<"Nie mozna otworzyc pliku wejsciowego! ("<<argv[1]<<")\n";
  19.         return -1;
  20.     }
  21.     std::ofstream outfile(std::string(argv[1])+"_nowy", std::ofstream::out);
  22.     if(!outfile.good())
  23.     {
  24.         std::cout<<"Nie mozna otworzyc pliku wyjsciowego! ("<<argv[1]<<"_nowy)\n";
  25.         return -1;
  26.     }
  27.     std::string line;
  28.     while(std::getline(inputfile, line))
  29.     {
  30.         std::cout<<"Wczytano linie z pliku wejsciowego: "<<line<<std::endl;
  31.         size_t start = line.find(argv[2], 0);
  32.         while(start != std::string::npos)
  33.         {
  34.             std::cout<<"\tZnaleziono wystapienie stringu "<<argv[2]<<" na pozycji "<<start<<std::endl;
  35.             line.replace(start, std::string(argv[2]).length(), argv[3]);
  36.             start += std::string(argv[3]).length();
  37.             start = line.find(argv[2],start);
  38.         }
  39.         outfile<<line<<std::endl;
  40.         outfile.flush();
  41.     }
  42.  
  43.     inputfile.close();
  44.     outfile.close();
  45.  
  46.     return 0;
  47.  
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement