Почему этот код не может прочитать файл .obj Блендера?

Привет, я пытаюсь прочитать файл Wavefront, который был создан с помощью Blender. Я положил копию этого файла в обозреватель решений. Когда я впервые попробовал скомпилировать, я получил следующее сообщение:

фатальная ошибка LNK1107: неверный или поврежденный файл: невозможно прочитать в 0x …

Казалось, что компилятор перепутал файлы .obj Блендера с некоторым другим форматом, который также использует окончание .obj. Решением было исключить файл из процесса сборки в его свойствах.

Теперь приложение компилируется, но данные не отображаются так, как я ожидал. Не уверен, что это проблема кода.

#include "stdafx.h"#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string>
using namespace std;

void ReadPrintFile(string _fileName)
{
std::string line;
std::ifstream fileStream (_fileName);

if (fileStream.is_open())
{
while (getline(fileStream,line))
{
cout << line << '\n';
}
fileStream.close();
}
else
{
cout << "Unable to read file";
}
}

int _tmain(int argc, _TCHAR* argv[])
{

ReadPrintFile("Drone.obj");
std::cin.get();

return 0;
}

Код не входит в оператор else. Файловый поток просто кажется пустым, и я напрямую переадресован cin.get(); заявление. Я знаю, что есть множество учебников о том, как анализировать .OBJ в C ++, но я хочу понять.

2

Решение

Хитрость заключалась не в том, чтобы скопировать файл в обозреватель решений, а в папку проекта.

2

Другие решения


По вопросам рекламы [email protected]