[C++] W wektorze zamiast sciezki pojawiaja sie jakies znaki

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:

problemzvektorami.png

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 :stuck_out_tongue: