期末考查:肯定是最基本的
1)how to 读;how to 写;
2)文本文件;二进制文件
ps:生成二进制文件来读写,往一个二进制文件里读写东西。
1. 基本知识
1.1 I/O类库中常用流类
iostream:通用输入输出流和其他输入输出流的基类
fstream:输入输出文件流类
1.2 输入输出单个字符的函数:get函数和put函数
- get函数
用处:输入单个字符
参数:可以是字符或字符的ASCII代码
char ch //定义一个字符型变量ch
cin.get(ch)
从输入流中读取一个字符,赋给字符变量ch
- put函数
用处:输出单个字符
参数:可以是字符或字符的ASCII代码
cout.put('a')
cout.put(97)
cout.put(65+32)
在屏幕上显示一个字符a,上面三条语句等价
1.3 eof函数
定义:eof是end of file的缩写,表示“文件结束”。
从输入流读数据,如遇到文件结束符,eof函数值返回真(非0),否则为假 (0)。
while (!cin.eof())
2. 文件读写
读用in,写用out!!
2.1 文本文件 (ASCII码文件) 的操作
1) 读 <=> 从文件中读取数据
// step1: 以读的形式打开文件(读一个现成已有的文件)
ifstream infile ("f1.dat",iOS::in|ios::nocreate);
// step2: check
if (!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
// step3:具体读取内容的时候
infile>>a[i];
// step4:关闭文件
outfile.close();
2) 写<=> 数据输出到文件
// step1: 以写的形式打开文件
ofstream outfile ("f1.dat",iOS::out);
// step2: check
if (!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
// step3:具体写入内容的时候
outfile<<a[i]<<" ";
// step4:关闭文件
infile.close();
2.1 二进制文件的操作
对二进制只介绍一种情况:既作为输入,也作为输出
1) 读 <=> 从文件中读取数据
// step1: 以读文件形式打开文件
ifstream infile ("f1.dat",ios::binary);
// step2:check
if (!infile)
{
cerr<<"open error!"<<endl;
abort();
}
// step3: 具体读取内容的时候
infile.read((char *); 字符串首地址,输出字节数)
// step4: 关闭文件
infile.close();
2) 写<=> 数据输出到文件
// step1: 以写文件形式打开文件
ofstream outfile ("f1.dat",ios::binary);
// step2:check
if (!outfile)
{
cerr<<"open error!"<<endl;
abort();
}
// step3: 具体写入内容的时候
outfile.write((char *) 字符串首地址,输出字节数)
// step4: 关闭文件
outfile.close();
3. 例子
输入:3 2 1 6 5 4 9 8 7 0
输出:max=9
order=6
ps:例3、例5待检查
例1: (写文本型文件)从键盘输入10个整数给一个整数数组,将此数组送到磁盘文件中存放
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int a[10];
// step1: 以写文件形式打开文件
ofstream outfile("f1.dat",ios::out);
// step2:check
if(!outfile)
{
cerr<<&