首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sourceFile.open(filepath);

sourceFile.open(filepath);
EN

Stack Overflow用户
提问于 2012-10-23 04:40:23
回答 3查看 447关注 0票数 0

可能重复: ifstream::open()的C++参数类型 使用字符串作为打开文件路径的C++ ifstream错误。

有什么问题吗

代码语言:javascript
复制
ifstream sourceFile;
sourceFile.open(filepath);

我要说的是:

不调用ifstream::open(string&)的匹配函数

出什么事了?

代码语言:javascript
复制
ifstream sourceFile(filepath)

其中filepath是一个字符串。

EN

回答 3

Stack Overflow用户

发布于 2012-10-23 04:45:31

对于C++11,iostreams可以使用一个string作为参数来命名要打开的文件--但是这是在C++ 11中添加的,所以很多库还没有包含它。更新到您的编译器/库的最新版本可能会有帮助(但话说回来,它可能不会-我怀疑支持是否是相当普遍的)。

票数 2
EN

Stack Overflow用户

发布于 2012-10-23 04:43:16

看来filepathstringOpen只接受原始指针。所以这样做- Open(filepath.c_str());

票数 1
EN

Stack Overflow用户

发布于 2012-10-23 04:42:14

它使用char* filename而不是字符串作为参数。

代码语言:javascript
复制
sourceFile.open(filepath.c_str());
代码语言:javascript
复制
The Function is std::ifstream::open
    void open ( const char * filename, ios_base::openmode mode = ios_base::in );

(参考文献)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13023671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档