Po co otwierasz 2 razy ten sam plik? Sprawdzić czy plik został otwarty i czytać z niego można przy użyciu tego samego obiektu strumienia.
Napisał
Gosik
Kod:
for (int i = 0; i < V_s.size(); i++) s++;
Nie lepiej po prostu A najlepiej po prostu używać V_s.size() gdzie to potrzebne
Wczytujesz całymi liniami więc dostajesz całe linie, możesz wczytywać pojedyncze wyrazy
Kod:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main()
{
ifstream plik("dane.txt");
if(!plik)
{
cerr << "Brak pliku.";
return 1;
}
vector<string> dane;
string x;
while(plik >> x)
dane.push_back(x);
plik.close();
return 0;
}
lub od razu wczytywać jako liczby (strumienie rozróżniają typy zmiennych)
Kod:
vector<int> dane;
int x;
Możesz też się pobawić algorytmami std i iteratorami
Kod:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
ifstream plik("dane.txt");
vector<string> dane;
copy(istream_iterator<string>(plik), istream_iterator<string>(), back_inserter(dane));
plik.close();
return 0;
}
Podobnie dla liczb
Kod:
vector<int> dane;
copy(istream_iterator<int>(plik), istream_iterator<int>(), back_inserter(dane));