c++ iostream & fstream

http://www.cplusplus.com/reference/iolibrary/

提供C++的输入/输出设施
头文件:
#include
using namespace std;

iostream

< iostream > 库包含了两个基本的类:istream, ostream。

cin>>x;
cout<

fstream

file stream
在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream。(fstream 包含iostream头文件。)

定义

< fstream > 库包含了三个基本的类:ifstream, ofstream和fstream。

打开

1.把一个文件名当成构造函数的变量,并能够自动的打开文件。

std::ofstream fout("myfile.txt"); 

< fstream > 类的析构函数自动地添加清除文件内容并关闭文件,所以当你忘记关闭文件时也无大碍;
也可以显式close();

2.open() 需要显式close()

std::ofstream file1;  // 输出
file1.open("myfile.txt"); 
... ...
file1.close(); //explicit 

3.fstream 对象只接受常量字符串作为文件名。string 转 char

string s;
cout<<"enter dictionary file: ";
cin>>s;
fstream dict (s.c_str());

4.输出模式打开一个已经存在的文件,该文件中的数据都将被丢弃。

文件打开模式

成员函数open()原型是:
void open(const char* filename,int mode,int access);

参数:

filename:  要打开的文件名
mode:    要打开文件的方式
access:   打开文件的属性

打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下:

ios::app:   以追加的方式打开文件
ios::ate:   文件打开后定位到文件尾,ios:app就包含有此属性
ios::binary:  以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
ios::in:    文件以输入方式打开
ios::out:   文件以输出方式打开
ios::nocreate: 不建立文件,所以文件不存在时打开失败 
ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
ios::trunc:  如果文件存在,把文件长度设为0
可以用“或”把以上属性连接起来,如ios::out|ios::binary

打开文件的属性取值是:

0:普通文件,打开访问
1:只读文件
2:隐含文件
4:系统文件
  
可以用“或”或者“+”把以上属性连接起来 ,如3或1|2就是以只读和隐含属性打开文件。

文件定位

seekg()是设置读位置
seekp()是设置写位置

文件读取

get()

//1
char c = fin.get(); // 可以接收空格

//2
char c;
fin>>c; // 不能接收空格

getline();
头文件:< string >
string ss;
fstream fin1( “fin1.txt”) ;
getline(fin1, ss);

C++中文件流(fstream)的使用方法及示例:
http://blog.csdn.net/seadplus/article/details/7802346

你可能感兴趣的:(C/C++,编程笔试面试相关)