Chcę wczytać kolejne linie tekstu z liczbami typu int z pliku.
Ponieważ, nie wiem ile linii może być to pomyślałem,że do tego celu
świetnie nada się wektor.
Proszę o sprawdzenie poprawności zapisu kodu.
Z góry przepraszam za komentarze
Dzieki wielkie.
Kod: Zaznacz cały
//---------------------------------------------------------------------------
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int main()
{
char TabChar[11];//do tej tablicy chce wczytac kolejne linie tekstu z pliku
vector<int>Tab;//tworze pusty wektor int-ów
int IloscLiniiWczytanychZPliku = 0;//do tej zmiennej
//wczytam wielkosc wektora Tab
ifstream PlikDoOtwarcia("Tekst.dat");//otwieram zadany plik do odczytu
if(!PlikDoOtwarcia)return 0;//nie ma takiego pliku to zwróc 0
//dopóki nie napotkamy znaku konca pliku
while(!PlikDoOtwarcia.getline(TabChar,sizeof(TabChar)-1).eof())
// to odczytujemy kolejne linie do tablicy TabChar
{
Tab.push_back(atoi(TabChar));//tutaj wpisujemy do wektora Tab kolejne
//liczby typu int,ale przedtem oczywiscie dokonujemy konwersji każdej lini
//tekstu z char na int poprzez funkcje atoi();
}
PlikDoOtwarcia.close();//zamykamy plik
//odczytujemy ilosc elementow
IloscLiniiWczytanychZPliku = Tab.size();
cout<< "Wczytanych lini do wektora Tab jest : "<< IloscLiniiWczytanychZPliku<<"\n";
//w wektorze Tab;
cout << "A to jest zawartosc wektora Tab"<< endl;
// w tej pętli odczytuję zawartosc wektora Tab
for(int ZawartoscWektora=0;ZawartoscWektora< IloscLiniiWczytanychZPliku;
++ZawartoscWektora)
{
cout<<Tab[ZawartoscWektora]<< endl;
}
system("pause");//poczekaj na wcisniecie jakiegos klawisza
return 0;//zakoncz
}
//---------------------------------------------------------------------------