C ++和字符串中的文件

时间:2017-06-05 04:41:20

标签: c++ string file ifstream

我已经学习了基本的C但是我必须用C ++编写一个代码,所以我遇到了困难。这里有代码

ifstream file(filename.c_str()); 
if (! file.is_open())
{ return -1; }

我已经搜索了关于字符串然后在C ++中的文件处理ifstream是C ++中的一个类,它需要一个对象来访问这个类函数和变量而c_str()是一个用来返回C类的函数char数组。但我无法理解在这种情况下对象在哪里?文件是对象还是功能?并且在第二行它调用一个函数is_open,它接缝返回true或false,但为什么我们在打开文件之前在这里调用它?

1 个答案:

答案 0 :(得分:0)

filename i' m presuming是一个std :: string,它是一个具有函数c_str的类 http://www.cplusplus.com/reference/string/string/c_str/

文件正在使用ifstream,这是一个用(const char *)构造函数中的任何代码构造的类。 ifstream的类构造函数在类构造上打开文件,因此您可以检查它是否成功。

http://www.cplusplus.com/reference/fstream/ifstream/ifstream/