Chciałem napisać taki prosty programik,który odczyta z pliku tylko określony tekst
pomiędzy parą takich nawiasów.
Teraz pytanie,czy to trzyma się kupy
Wielkie dzięki wszystkim za słowa krytyki.
Kod: Zaznacz cały
//---------------------------------------------------------------------------
#include<iostream>
#include<fstream>
#include<string>
//---------------------------------------------------------------------------
int main()
{
std::ifstream plik_odczytywany("Tekst.dat");//otworz plik "Tekst.dat" do odczytu
if(plik_odczytywany)//jesli jest taki plik to idz dalej
{
std::ofstream plik_zapisywany("Tekst.txt"); //otworz plik "Tekst.txt" do zapisu
std::string tresc_znaleziona;//deklaracja zmiennej typu string
int Licznik = 0;//deklaracja zmiennej typu int
//Teraz odczytaj tylko tresci pliku zawarte pomiedzy parą nawiasów < >
while((getline(plik_odczytywany,tresc_znaleziona,'<')&&
(getline(plik_odczytywany,tresc_znaleziona,'>'))))
{
++Licznik;//preinkrementuj licznik,jak cos znajdziesz
std::cout<<tresc_znaleziona<<'\n';//wyswietl znalezione tresci
plik_zapisywany<<Licznik<<") "<<tresc_znaleziona<<'\n';//i zapisz je do pliku Tekst.txt w kolejnosci:
//wartosc zmiennej Licznik->nawias ")"->zawartosc zmiennej tresc_znaleziona->
//znak nowej linii '\n'
}
plik_odczytywany.close();//zamknij plik "Tekst.dat"
plik_zapisywany.close();//zamknij plik "Tekst.txt"
}
else
{
return 0; //jezeli plik Tekst.dat nie istnieje to zakoncz prace
}
std::cin.get();//poczekaj na wcisniecie klawisza ENTER
return 0;
}
//---------------------------------------------------------------------------
Kod: Zaznacz cały
11<tekst>11111111111
22222222222222
444444444444<A>9999999
{{{{{{{}}}}}}}}}}}
////////<B>\\\\\\<C>\\\\
Kod: Zaznacz cały
1) tekst
2) A
3) B
4) C