ifstream的open函数问题

标签: C++
1953人阅读 评论(1) 收藏 举报
分类:
在VC6.0上编写某个读取文件的控制台程序时,出现这样一个错误。
cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::

而我的代码非常简单,我感觉完全不存在错误。

bool ReadFile(string path)  
{  
    ifstream istream;   //读文件流  
    istream.open(path);  
}


在网上找了很多解决方法,最后得出的方法是:在路径字符串后面加上.c_str()。

因为open()成员函数的参数是一个char *类型的量,要通过调用 string类的c_str()函数返回一个C风格的字符串(也就是一个字符数组的首地址,即char *值)才可以调用open()函数。

我照着上面的方法改了,问题解决了。但我有一点疑问的是,有时候使用ifstream的open函数不存在这个问题,但有时候怎么有出现这个问题。我个人估计与VC6.0编译器有问题,感觉是这个编译器在字符串的支持上没有做好。




查看评论

超详细ofstream和ifstream详细用法

ofstream和ifstream详细用法 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间(文章最末尾附上了MSDN中关于这两个函数的解释)...
  • Carvin_Zh
  • Carvin_Zh
  • 2015-05-18 11:44:46
  • 6299

C++中ifstream使用笔记(一)(常用方法和注意事项)

ifstream简介: C++平台用来文件操作的库 std::ifstream 常用方法: open() : ifstream关联文件的方式有两种,通过ifstream构造函数以及通过open来打开一...
  • sunear0
  • sunear0
  • 2016-06-02 16:12:44
  • 6101

ifstream打开含中文路径名文件失败的原因

(源自:http://blog.csdn.net/suhuaiqiang_janlay/article/details/5963867) 首先,用一个简单的例子来重现一下我所遇到的问题: (1)在...
  • harvey2008
  • harvey2008
  • 2014-11-08 11:09:34
  • 841

c++文件操作std::ifstream

C++对文件操作相关: ifs.is_open()     判断文件是否打开 ifs.get()              获取文件的一个字符 ifs.good()          判断文件是...
  • zhangxxxww
  • zhangxxxww
  • 2015-02-04 20:51:54
  • 9009

C++ifstream出错感悟

编写OpenGL中一个示例程序,将顶点着色器和片段着色器放入txt文件,通过ifstream的open函数,打开文件路径来调用,但是一直报错: Microsoft C++ 异常: std::io...
  • xubaoquan33
  • xubaoquan33
  • 2017-08-19 10:53:44
  • 170

关于ifstream打开windows文件失败的问题

今天测试ifstream,老是打不开windows下的文件。 代码如下: #include #include #include #include using namespace std; ...
  • nemo2011
  • nemo2011
  • 2012-08-14 17:17:37
  • 3084

四种读写文件的方式:系统调用(open/read/write),C语言(fopen,fgets, fputs),C++(ifstream, ofstream getline,)泛型算法

第一种方法是系统调用 (1)open系统调用    原型:        #include        #include        #include        int ...
  • chenjieyujiayou
  • chenjieyujiayou
  • 2017-08-07 20:30:19
  • 548

c++中fstream的成员函数

本篇文章引用 C++中对文本文件的读写(iostream方法)[zz]http://www.cnitblog.com/wufajiaru/archive/2009/04/15/56390.html ...
  • Femalewolf
  • Femalewolf
  • 2016-10-07 18:36:47
  • 1751

使用ifstream::get()方法从文本文件中读取数据

这是我的一个练习.与写数据到文本文件的实现之一>配合使用.写数据到文本文件的实现之一产生一个1.txt文件.这里要用到. // 包含文件#include #include #include // 名字...
  • limitedlove
  • limitedlove
  • 2007-05-04 13:06:00
  • 3655

ifstream(ofstream) 打开中文路径失败

用 ifstream 或 ofstream 打开带有中文路径的文件会失败。 主要问题在于系统语言环境,解决办法如下: std::locale loc = std::locale::global(st...
  • hellokandy
  • hellokandy
  • 2017-04-19 17:50:27
  • 577
    个人资料
    等级:
    访问量: 9万+
    积分: 1497
    排名: 3万+
    最新评论