我正在处理的程序有一个从文本文件中读取一些参数的功能,基本上看起来像这样:
void ParamSet::readFrom(const std::string filename){
std::ifstream infile(filename.c_str());
std::string line;
if(!infile.is_open())
throw(20);
/* ... read stuff ... */
infile.close();
}
在运行程序时工作正常。现在,当我在Netbeans中调试它时(我需要在另一个区域中找到一些段错误),抛出异常(20),因此它表示文件未打开。
知道这是什么以及我如何解决它?
答案 0 :(得分:2)
可能您的Netbeans环境有另一个工作文件夹设置,因此无法找到该文件。顺便说一句,考虑传递字符串作为参考:
void ParamSet::readFrom(const std::string & filename){
std::ifstream infile(filename.c_str());
...