ifstream :: open()函数使用字符串作为参数

时间:2013-03-02 21:59:36

标签: c++ string fstream ifstream

我正在尝试创建一个程序,询问用户想要读取的文件,当我尝试myfile.open(fileName)时,我收到错误:“没有匹配函数来调用{{1 “在那一行。

std::basic_ifstream<char, std::char_traits<char> >::open(std::string&)'

1 个答案:

答案 0 :(得分:12)

在以前版本的C ++(C ++ 03)中,open()仅为const char *获取第一个参数,而不是std::string。调用它的正确方法是:

myFile.open(filename.c_str());

在当前的C ++(C ++ 11)中,代码很好,所以看看你是否可以告诉编译器启用它的支持。