Программа вылетает, если я пытаюсь использовать ifstream при наличии OpenGL/freeglut. Мой код:Ifstream не работает с OpenGL/freeglut
#include <fstream>
#include <windows.h>
#include <GL/freeglut.h>
double x, y;
std::ifstream read("coordinates.txt");
void display() {
glBegin(GL_LINE_STRIP);
while (read >> x) //Crashes here
{
read >> y;
glVertex2d(x, y);
}
glEnd();
glFlush();
}
void key(unsigned char mychar, int x, int y) {
if (mychar == 27) {
exit(0);
}
}
void initialize()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-27, 27, -27, 27);
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowSize(1920, 1080);
glutInitWindowPosition(0, 0);
glutCreateWindow("Lorenz Attractor");
initialize();
glutDisplayFunc(display);
glutKeyboardFunc(key);
glColor3d(0, 0, 1);
glutFullScreen();
glutMainLoopEvent();
Sleep(60000);
}
coordinates.txt:
1.1 1.03
2.5 2
3 5.3
Я даже не нужен включать freeglut, я проверил старый проект, который работал отлично до того, и теперь он выходит из строя, а также. Использование Code :: Blocks with MinGW. Почему это произойдет? Благодаря!
Вы проверили, правильно ли открыт файл, проверив 'read.good()'? – BDL
@BDL Он выводит 1, все еще не работает и сбой. – DDomjosa