可能重复: ifstream::open()的C++参数类型 使用字符串作为打开文件路径的C++ ifstream错误。
有什么问题吗
ifstream sourceFile;
sourceFile.open(filepath);我要说的是:
不调用
ifstream::open(string&)的匹配函数
出什么事了?
同
ifstream sourceFile(filepath)其中filepath是一个字符串。
发布于 2012-10-23 04:45:31
对于C++11,iostreams可以使用一个string作为参数来命名要打开的文件--但是这是在C++ 11中添加的,所以很多库还没有包含它。更新到您的编译器/库的最新版本可能会有帮助(但话说回来,它可能不会-我怀疑支持是否是相当普遍的)。
发布于 2012-10-23 04:43:16
看来filepath是string。Open只接受原始指针。所以这样做- Open(filepath.c_str());
发布于 2012-10-23 04:42:14
它使用char* filename而不是字符串作为参数。
sourceFile.open(filepath.c_str());The Function is std::ifstream::open
void open ( const char * filename, ios_base::openmode mode = ios_base::in );(参考文献)
https://stackoverflow.com/questions/13023671
复制相似问题