从文件中读取输入

时间:2015-06-21 06:43:51

标签: c++ fstream

所以我是C ++的新手,我一直在互联网上探讨如何做到这一点,到目前为止,我有这个:

void includeFile(string name){
    ifstream ifs;
    ifs.open(name);
    string commands;
    while (getline(ifs,commands)){
        commandReader(ifs);
    }
    ifs.close();
}

(commandReader是一个带有istream的函数)

当我尝试编译时,我得到错误"没有用于呼叫的匹配功能"然后给我ifs.open(name)行的行号。我已经加入了fstream,所以不确定为什么要这样做

2 个答案:

答案 0 :(得分:1)

抱歉,没关系;我发布这个后立即找到答案。 解决方案是将name.c_string()作为参数,因为字符串支持仅在c ++ 11中添加

答案 1 :(得分:0)

正如@chris指出的那样,在C ++ 11之前,ifs.open需要char*,而不是std::string。试试ifs.open(name.c_str())