Witam,
mam dosyć dziwny problem:
Utworzyłem sobie wektor:
static vector < char* > usemtl;
W klasie OBJloader. teraz dodaję kolejno do tego wektora tekst (tu: sciezka do pliku)
for(int pobierz_nazwe1=7; pobierz_nazwe1
sciezka[pobierz_nazwe1-7]=dane[pobierz_nazwe1];
}
std::cout << "Sciezka: " << sciezka << std::endl;
obj.usemtl.push_back(sciezka);
std::cout << "Usemtl: " << obj.usemtl[0] << std::endl;
W powyższym kodzie wyświetlałem te dane przed i po wczytaniu do wektora. Za każdym razem ścieżka była poprawna. No i teraz w innej funkcji chcę wyświetlić dane z tego wektora:
std::cout << "LoadTekstures: " << obj.usemtl[0] << std::endl;
No i szok O.o . Te dane przepadły. Wszystko dokładnie widać na screenie:
Dlaczego świeżo po wczytaniu tego dane są, a jak potem to wyświetlam to ich nie ma?
Dlaczego tak się dzieje?
EDIT:
I jeszcze mam drugie pytanie:
na screenie jak widać po ścieżkach do pliku są takie " 'i ". Dleczego zawsze jak wyświetlam zawartość char’a to na końcu pokazują się jakieś dodatkowe litery?
– Dodane 10.01.2012 (Wt) 16:21 –
Wygląda na to że wektory nie radzą sobie z char’em.
Spróbowałem co będzie jeśli użyję string’ów i na razie działa