Тема: Необроблене виключення при запуску программи поза середовщем QtCreator
Доброго дня.
Є такий код:
#include <iostream>
#include <fstream>
#include <string>
std::string s_FileName = "shader.vert";
std::string s_ExecDir;
std::string getExecDirString(int argc, char* argv[])
{
std::string s_ExecPathFull = std::string(argv[0]);
#ifdef _WIN32
std::size_t pos = s_ExecPathFull.rfind("\\");
#else
std::size_t pos = s_ExecPathFull.rfind("/");
#endif
if (pos != std::string::npos)
{
std::string s_ExecPath = s_ExecPathFull.substr(0, pos);
return s_ExecPath;
}
else
{
return std::string("");
}
}
class Shader
{
public:
Shader(std::string strFileName)
{
static std::fstream fin(strFileName);
if (!fin.is_open())
return;
std::string strLine = std::string("");
std::string strText = std::string("");
while (std::getline(fin, strLine)) {
strText = strText + "\n" + strLine;
}
fin.close();
std::cout << strText << std::endl;
}
};
int main(int argc, char* argv[])
{
s_ExecDir = getExecDirString(argc, argv);
Shader shader(s_ExecDir + "\\" + s_FileName);
return 0;
}
при сборці помилок не видає, але якщо запустити із середовищя QtCreator то все, нормально, а якщо із консолі або через "провідник" то вискакує необроблене виключення.
Що я роблю не так?