编写OpenGL中一个示例程序,将顶点着色器和片段着色器放入txt文件,通过ifstream的open函数,打开文件路径来调用,但是一直报错:
Microsoft C++ 异常: std::ios_base::failure。
编译了一个测试程序,查看文件读取是否有问题:
// reading a text file
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
int main () {
char buffer[256];
ifstream examplefile ("example.txt");
if (! examplefile.is_open())
{ cout << "Error opening file"; exit (1); }
while (! examplefile.eof() ) {
examplefile.getline (buffer,100);
cout << buffer << endl;
}
return 0;
}
检查完后没什么问题,最后发现还是路径出了问题,C++读取路径必须使用\\和/,当把文件放在可执行文件下仍然出错,建议使用绝对路径,写完路径需要仔细检查,还要带上后缀名