Witam mam pewien problem próbuje skopiować string do vectora <char>. Po wrzuceniu linii z pliku do stringa i skopiowaniu go do chara, następnie wrzuceniu go do vectora przy wypisywaniu go wyświetla mi tylko 1 indeks chara, to trochę dziwne ponieważ wypisując char po skopiowaniu go z stringa wyświetla mi wszystkie elementy 1 linii z pliku. Podejrzewam że ma to związek z wskaźnikiem na char przy wrzucaniu go do vectora. Za wszelkie wskazówki będę wdzięczny pozdrawiam.
vector<char>u, t;
string test;
char ucz[10],tes[10];
cout<<"Plik uczacy: ";
cin>>ucz;
cout<<"\nPlik testujacy: ";
cin>>tes;
FILE *plik1 = fopen(ucz, "rt");
if(plik1==NULL)
{
cout << "No file\n";
}
fscanf(plik1,"%d %d %d", &a1, &b1, &c1);
FILE *plik2 = fopen(tes, "rt");
if(plik2==NULL)
{
cout << "No file\n";
}
fscanf(plik2,"%d %d %d", &a2, &b2, &c2);
fstream ucze;
ucze.open(ucz);
ucze.seekg(8, ucze.beg); // omijam pierwsze 8 znakow z pliku
if(ucze.good()==true)
{
while(getline(ucze, test)) // test to string
{
char *test2 = new char[test.size() + 1];
copy(test.begin(), test.end(), test2);
test2[test.size()] = '\0';
u.push_back(*test2); // tu wrzuca tylko 1 indeks z skopiowanego chara
cout<<test2<<endl; // tu wypisuje cały string w char
if(test2[0]=='1')
{
u1++;
}
if(test2[0]=='2')
{
u2++;
}
if(test2[0]=='3')
{
u3++;
}
delete [] test2;
}
ucze.close();
}
else
{
cout<<"Nie mozna otworzyc pliku!";
}
for(int i=0; i<u.size(); i++)
cout<<u[i]<<endl; //wypisuje vector