• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podkreślenie wzorca c++.

Object Storage Arubacloud
+1 głos
663 wizyt
pytanie zadane 13 marca 2016 w C i C++ przez GameFreak Początkujący (450 p.)

Witam

Mam pytanie. Z pliku tekstowego wczytuje jakiś tam tekst , przypuśćmy że plik tekstowy wygląda tak:

Hello World Hello World

Hello World Hello World

Hello World Hello World

Moim wzorcem jest np. Hello

Potrzebuję zrobić  tak aby mój plik wyjściowy wyglądał tak:

Hello World Hello World

^^^^^          ^^^^^

Hello World Hello World

^^^^^          ^^^^^

Hello World Hello World

^^^^^          ^^^^^

 

Prosiłbym o jakąś radę czego użyć. Próbuje użyć napierw find a potem insert tylko nie wiem jak zrobić znak nowej lini. Z góry dzięki za pomoc.

 

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main(int argc, char* argv[])
{
	if (argc != 4)
	{
		cout << "Podano zla ilosc argumentow.";
		cout << "Przykladowe uruchomienie programu: lab2.exe input.txt output.txt Ala";
		system("pause");
		return 1;
	}

	ifstream input;
	input.open(argv[1]);
	if (!input.good())
	{
		cout << "Nie udalo sie otworzyc pliku";
		system("pause");
		return 1;
	}
	ofstream output;
	output.open(argv[2]);
	if (!output.good())
	{
		cout << "Nie udalo sie otworzyc pliku";
		system("pause");
		return 1;
	}

	string line;
	while (getline(input, line))
	{
		if (line.find(argv[3]));
		{
			line.insert(4, "^^^^");
			output << line << endl;
		}
	}

	input.close();
	output.close();

	system("pause");

	return 0;

}

 

komentarz 7 maja 2017 przez Gankkah Użytkownik (720 p.)
A gdzie jest przypisanie lub inicjalizacja zmniennej 'line' wartością '\n'?

1 odpowiedź

0 głosów
odpowiedź 13 marca 2016 przez Aisekai Nałogowiec (42,190 p.)
Nie umiem c++ na takim poziomie, żeby to napisać w kodzie.

Ale zakładam, że jeżeli chcesz coś podkreślić to następna linia będzie pusta. Więc mógłbyś zrobić tablicę 2 wymiarową. W każdym nieparzystym wersie szukasz swojego wzorca. Jeśli znalazłbyś miejsce na którym ten wzorzec się zaczyna (załóżmy w tablicy[1][1]) to wystarczy tylko określić jeszcze długość tego wyrazu-wzorca (będzie się kończył załóżmy w tablicy[1][5]) , a potem tylko przejść do następnego wersu i pętlą for wypełnić potrzebne pola (tablicy[2][1] do tablicy[2][5]).

Podobne pytania

+1 głos
2 odpowiedzi 365 wizyt
pytanie zadane 19 stycznia 2016 w C i C++ przez Lukasz95 Bywalec (2,160 p.)
0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 4 czerwca 2021 w PHP przez CSSoup Mądrala (6,460 p.)
0 głosów
2 odpowiedzi 290 wizyt

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...