C++ 在递归函数中使用ifstream打开多个文件

C++ 在递归函数中使用ifstream打开多个文件,c++,recursion,ifstream,C++,Recursion,Ifstream,我想知道我是否能做到以下几点。 我试图在递归函数中打开多个文件 void openFile(Node* n, string file) { ifstream ifile; ifile.open(file.c_str()); string command; while(ifile >> command) { if(...) { ... } else if(command == "blah") {

我想知道我是否能做到以下几点。
我试图在递归函数中打开多个文件

void openFile(Node* n, string file) {
    ifstream ifile;
    ifile.open(file.c_str());
    string command;

    while(ifile >> command) {
        if(...) {

        ...

        } else if(command == "blah") {
            ifile >> command;
            executeFile(n, command);
        }
    }

    ifile.close();
    return;
}
我编写了这样的函数,但在unix中测试时不断出现以下错误:

Segmentation fault (core dumped)
我想知道这是否是由于我的打开文件功能造成的。
有什么问题吗?

提前谢谢你

尝试使用调试器找出问题所在,或者至少获取一些更详细的错误信息,最好是崩溃的行号。我们很难回答这个问题,就像现在发布的那样。在递归函数中使用局部变量没有什么错。可能是堆栈溢出(递归太深)或资源不足。试着调试代码,正如前面所说,使用递归没有什么错。您可能会遇到文件描述符数量的限制,您可以使用
ulimit-n
进行检查。要确定为什么会出现分段错误,我们需要更多的代码。是的,我认为错误是由程序的其他部分引起的。非常感谢。