我正在处理的程序具有从文本文件中读取一些参数的功能,基本如下所示:
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) 被抛出,所以它说文件没有打开。
知道这是怎么回事以及我该如何解决它吗?
最佳答案
可能您的 Netbeans 环境有另一个工作文件夹设置,因此找不到该文件。顺便说一句,考虑传递字符串作为引用:
void ParamSet::readFrom(const std::string & filename){
std::ifstream infile(filename.c_str());
...
关于c++ - c++中调试和文件流的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573213/