Zacząłem pisać program, który będzie konwertował .obj na mój format modeli 3D. Napisałem funkcję, która ma wczytać linię z pliku i dla sprawdzenia (tymczasowo) wyświetla to co wczytała. Wychodzą jakieś krzaczki przed wyświetloną linijką. W konsoli wygląda to tak:
♦§¨@ü9╚⌂
] á☼ ZVC˝ZVC˝S_-¨ß§ěR÷gťR¨§ÓR¨§ÓRS_ZÄ♦§¨@ë1⌂]
á☼ →VC˝→VC˝‼_-¨í§ěR▲OťR╣§ÓR╣§ÓR‼_ZÄ §¨Dë1# 3ds Max Wavefront OBJ Exporter v0.97
b - (c)2007
Process returned 0 (0x0) execution time : 0.062 s
Press any key to continue.
Choć pierwsza linia tekstu to tylko # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007
.
Oto kod:
#include <iostream>
#include <fstream>
using namespace std;
char **read_line(fstream *file /*obiekt fstream*/,short int size /*liczba znakow do wczytania*/)
{
char *c = new char[size]; //tablica przechowywujaca wczytane znaki
short int i;
do
{
file -> get(c[i]);
i++;
}while(c[i] != 0x0D);
for(short a;a < size ;a++) //Wypisuje na ekran tablice czytanych znakówff
{
cout << c[a];
}
return &c;
}
int main()
{
fstream plik("F:\\Program Files\\CodeBlocks\\Projekty\\testy\\bin\\Debug\\block.obj", ios::in);
read_line(&plik,50);
return 0;
}
Kod dla mnie wygląda, że nie ma błędów, ale jednak to nie działa. Co jest źle?