Я делаю парсер для .obj файлов. Я использую scanf, но получаю действительно странные результаты.
void loader::readIn()
{
//!takes in the all the data and
//!puts in string first.
std::string myString; //!save string
float tmpX,tmpY,tmpZ; //!storing the floats in here .
while(!myFile.eof())
{
std::getline(myFile,myString); //!intake string
if(myString[0] == 'v' && myString[1] == ' ') //!check value
{
scanf_s(myString.c_str(), "v %f %f %f" ,&tmpX,&tmpY,&tmpZ);
std::cout<< tmpX <<" "<< tmpY <<" "<<tmpZ <<std::endl;
}
}
}
Это мой код
Ниже это то, что я пытаюсь прочитать в
v 0.0 0.0 0.0
v 0.0 0.0 1.0
v 0.0 1.0 0.0
v 0.0 1.0 1.0
v 1.0 0.0 0.0
v 1.0 0.0 1.0
v 1.0 1.0 0.0
v 1.0 1.0 1.0
И это результат, когда я нахожу ответы.
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
-1.07374e+008 -1.07374e+008 -1.07374e+008
Благодарен за любую помощь.
Задача ещё не решена.
Других решений пока нет …