C++ c+;中的调试和文件流出现奇怪错误+;

C++ c+;中的调试和文件流出现奇怪错误+;,c++,netbeans,C++,Netbeans,我正在使用的程序具有从文本文件读取一些参数的功能,基本上如下所示: 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(); }

我正在使用的程序具有从文本文件读取一些参数的功能,基本上如下所示:

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中调试它时(我需要在另一个区域中找到一些segfaults),我的异常(20)被抛出,因此它表示文件未打开


知道这是怎么回事吗?我如何解决它?

您的Netbeans环境可能有其他工作文件夹设置,因此无法找到该文件。顺便说一下,考虑传递字符串作为参考:

void ParamSet::readFrom(const std::string & filename){
    std::ifstream infile(filename.c_str());
...

调试时是否检查了它运行的工作目录?可能你用的是相对路径,有两点很好。不幸的是,我只能投你一票。