Program zamieniający słowa

0

Witajcie. Musze napisac program, który zamienia podane słowo na inne słowo w pliku i tekst po zamianie już zapisuje do nowego pliku. Wszystkie dane mają być podane z konsoli po przełącznikach (nazwy obu plików, słowo ktore ma zostac zamienione i slowo ktore bedzie juz po zamianie). No i wypunktowałem sobie co po kolei robić:

  1. w funkcji int main podać te przełączniki
  2. zadeklarować 2 zmienne plików
  3. otworzyć plik z tekstem
  4. wyszukać podane słowo (można prosić o jakąś podpowiedz jak to zrobic?)
  5. jak juz znajdziemy to slowo to je zamieniamy na to, ktore wczesniej podalismy
  6. otwieramy plik drugi i zapisujemy to wszystko
  7. zamykamy pliki

Co wy byście zmienili w tym planie?

2

Masz tutaj naiwnego* gotowca:

#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <string>
#include <regex>

int main() {
	using namespace std;
	string input;
	pair<string, string> replacement_word = {
		"arm", "ass"	
	};
	while(getline(cin, input)) {
		regex_replace(
			ostreambuf_iterator<char>(cout),
            begin(input), end(input),
            regex(replacement_word.first), replacement_word.second
        );
        cout << "\n";
	}
	return 0;
}
stdin stdout
Bite my shiny metal... 
arm?

|

Bite my shiny metal... 
ass?

http://ideone.com/8DRluN

*- aktualny regex podmieni nawet fragment słowa, np armpit na asspit

0

Dzieki za tak szybka odpowiedz. Musze to dokładniej przeanalizowac. Patrzac pobieżnie na kod spartanPAGE to on tylko zamienia te słowa, a z plikiem nic nie robi (tzn nie otwiera ani nie zamyka), prawda? Jestem na wczesnym etapie nauki, więc wybaczcie moje błahe pytania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1