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

时间:2009-10-15 15:44:40

标签: 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();
}

在运行程序时工作正常。现在,当我在Netbeans中调试它时(我需要在另一个区域中找到一些段错误),抛出异常(20),因此它表示文件未打开。

知道这是什么以及我如何解决它?

1 个答案:

答案 0 :(得分:2)

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

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