C++文件的操作

学习目的:要实现从磁盘读取数据,并将处理后的数据存到磁盘上。

文件分类:ASCII文件(text文件、字符文件)、二进制文件。

文件流:文件流是以外存文件(例:某磁盘上的txt文件)为输入输出对象的数据流。
输出:内存->外存(C++编译器->文本文件)
输入:外存->内存(文本文件->C++编译器)

文件类:文件类用于文件操作
ifstream类,用来支持从磁盘文件的输入;
ofstream类,用来支持从磁盘文件的输出;
fstream类,用来支持磁盘文件的输入和输出。

好了,正式进入完成从磁盘读写信息的环节!
第一步、我们要通过文件流类定义文件流对象。(这句话有点拗口,但是类比于咱们熟悉的cin与cout,cin、cout就是通过iostream类来定义的,这里类似于这个过程)

ofstream outfile;

会发现虽然已经定义了文件流对象outfile,但是没有指定文件的位置是不行的,所以下一步我们就做这个工作。
第二步、指定文件的路径以及I/O模式

ofstream outfile;//定义ofstream类(输出文件流类)对象outfile
outfile.open("f1.dat",ios::out);//使文件流与f1.dat文件建立关联

注意:
f1.dat文件通常要包含其具体路径,例如c:/new/1.txt,如果缺省路径,则默认在当前目录下。
ios::out是I/O模式中的一种,表示以输出方式打开一个文件。I/O模式还有很多种,这里就不赘述。

上面两句代码也可以合二为一,即在定义时就指定参数:

ostream outfile("f1.dat",ios::out);

第三步、对ASCII文件的读写
已经知道创建了文件流,且知道了文件的路径以及I/O模式,是时候进行读写了,实现对ASCII文件的读写有两种方式,分别是:
1、
流插入运算符“<<”、流提取运算符”>>”
2、
文件流的成员函数,如put、get、getline

程序代码:

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int a[10];
    ofstream outfile("D:/best.txt",ios::out);
    if(!outfile)
    {cerr<<"OPEN ERROR!"<<endl;
    exit(1);
    }
    cout<<"enter 10 integer numbers"<<endl;
    for(int i=0;i<10;i++)
    {cin>>a[i];
    outfile<<a[i]<<" ";}
    outfile.close();
    return 0;
}

注意:
若路径不正确,比如将”D:/best.txt”写成”D:\best.txt”,则打开失败,执行exit(0),强制终止程序(不会执行之后的代码了);
若该路径上找不到该文件,则创建文件;
输入时,数字与数字之间要按空格或换行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值