我可以将这两种方法/功能合二为一吗?

时间:2015-04-12 16:43:21

标签: c++ function

我写了以下代码。其中一种方法将检查是否可以访问信号文件,另一种方法将检查后台文件是否存在。

bool signalFileExist(string signalFile){
    ifstream f(signalFile.c_str());
    if(f.good()){
        f.close();
        return true;
    }
    f.close();
    return false;
}

bool backgroundFileExist (string backgroundFile){
    ifstream f(backgroundFile.c_str());
    if(f.good()){
        f.close();
        return true;
    }
    f.close();
    return false;
}

我的问题是:我可以将这两种方法合二为一吗?此外,如果无法检查,我将需要告诉用户哪些文件是坏的。是否有可能以这种方式编写方法?

1 个答案:

答案 0 :(得分:4)

他们......是完全相同的方法吗?

您可以删除其中任何一个,并将另一个重命名为:

bool fileExists(string fileName){
    ifstream f(fileName.c_str());
    if(f.good()){
        f.close();
        return true;
    }
    f.close();
    return false;
}

如果您想告诉用户哪个文件在发生错误时是坏的,您可以在函数内部进行,因为您有文件名,或者您可以在呼叫站点进行。