Witam,
Polecenie do mojego zadania:
- Napisz program, który odczytuje co trzeci znak z pliku. Użyj do tego metod poznanych w niniejszym rozdziale. Przetestuj poprawność działania programu na bardzo krótkim pliku tekstowym, wypisując co trzeci odczytany znak na ekranie.
Napisałem taki kod.. ale coś jest nie tak. Ktoś potrafi pomóc ?
Próbowałem też kombinować z eof ale niestety nie wyszło.
Ten program wypisuje tylko 3 pierwsze znaki, a mi zależy żeby wypisywał co 3 znak od początku do końca pliku tekstowego.
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
bool odczytajPlik(string nazwa_pliku)
{
fstream plik;
char znak;
plik.open( nazwa_pliku.c_str() );
if( !plik.good() )
{
cout << "Nie udalo sie otworzyc pliku .. " << endl;
return false;
}
cout << "Co 3 znak z dokumentu tekstowego to: " ;
while(plik.get(znak))
{
cout << znak;
plik.seekg(3, ios::cur );
}
plik.close();
return true;
} // koniec bool
int main(int argc, char** argv) {
odczytajPlik("znaki.txt");
return 0;
}