Witam. Mam niemały problem. Muszę napisać funkcję, która na koniec zwróci tablicę stringów wektor, który tworzy na podstawie pliku tekstowego.
Dane wejsciowe:
e,qwe,zc,sd
gd,sf,asd,s
itd.
chodzi o to, ze kazdy wyraz ma zawierac sie w oddzielnej komorce, więc postanowiłem wpakować to w string klucz[wysokosc][szerokosc] wektor.
Jedyny problem - co zrobić, aby funkcja zwróciła pożądaną tablicę pożądany wektor?
szerokosc i wysokosc są polami klasy Dane
#include "Dane.h"
#include <vector>
void Dane::pobierzDane()
{
vector < string > cont;
fstream plik;
int indeks=0;
plik.open( "dane.txt", ios::in );
if( plik.good() )
{
szerokosc = 2;
wysokosc = 1;
string linia, linia_zapas;
getline( plik, linia );
for(int i=0;linia[i]>=' ';i++){if(linia[i]==',') szerokosc++; } //liczymy szerokosc tablicy
while( !plik.eof() )
{
getline( plik, linia_zapas ); if(linia_zapas[0])wysokosc++; //liczmy wysokosc tablicy
}
plik.close();
}
else cout << "Error! Nie udalo sie otworzyc pliku!" << endl;
plik.open( "dane.txt", ios::in );
string klucz;
cout<< "wys "<< wysokosc << " szer "<< szerokosc <<endl;
while( !plik.eof() )
{
string linia;
getline( plik, linia );
int j=0;
linia+=",";
for(int i=0; linia[i]>=32;++i)
{
if(linia[i]!=44) {klucz+=linia[i];} //jezeli rozne od przecinka
else {cont.push_back(klucz);
klucz.clear();}
}// for()
}//zamyka while
plik.close();
for( int i = 0; i < cont.size(); i++ )
{cout<<cont[i]<<endl;}
return ;
};
edit: tak sobie przeglądam to forum i natknąłem się na takie coś jak "vector". może zamiast do tablicy stringów da się to jakoś w ten wektor upakować? o.O