输入输出流 (文件读写)

期末考查:肯定是最基本的

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<<&
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值