c++文件输入输出流fstream,对输入>>和输出<<重载

1. fstream 继承自iostream --> 要包含头文件#include<fstream>

2. 建立文件流对象

3. 打开文件夹

4. 测试是否打开成功

5. 进行读写操作

6. 关闭文件

#include<iostream>
#include<fstream>

using namespace std;

int main(){
    ifstream ifile;
    ofstream ofile;

    ifile.open("d:\\fileIn.txt");
    ofile.open("d:\\fileOut.txt");

    if (ifile.fail() || ofile.fail()){
        cerr << "open file fail\n";
        return EXIT_FAILURE;
    }

    char ch;
    ch = ifile.get();
    cout << ch << endl;
    while (!ifile.eof()){
        ofile.put(ch);
        ch = ifile.get();
    }

    ifile.close();
    ofile.close();

    int i;
    cin >> i;
    return 0;
}

输入三个学生的姓名,学好,年龄和住址,并存入文件中,再从文件中读出来:

 1 #include<iostream>
 2 #include<fstream>
 3 using namespace std;
 4
 5 class student{
 6 public:
 7     char name[10];
 8     int num;
 9     int age;
10     char addr[20];
11     friend ostream & operator<<(ostream &out, student &s);
12     friend istream & operator>>(istream &in, student &s);
13 };
14 ostream & operator<<(ostream &out, student &s){
15     out << s.name << " " << s.num << " " << s.age << " " << s.addr << endl;
16     return out;
17 }
18 istream & operator>>(istream &in, student &s){
19     in >> s.name >> s.num  >> s.age >> s.addr;
20     return in;
21 }
22 int main(){
23     ifstream ifile;
24     ofstream ofile;
25     ofile.open("d:\\s.txt");
26
27     student s;
28     for (int i = 1; i <= 3; i++){
29         cout << "请输入第" << i << "个学生的姓名 学号 年龄 地址" << endl;
30         cin >> s;   //调用>>运算符重载函数,输入学生信息
31         ofile << s; //调用<<运算符重载函数,将学生信息写入到文件中
32     }
33     ofile.close();
34
35     cout << "\n读出文件内容" << endl;
36     ifile.open("d:\\s.txt");
37     ifile >> s;
38     while (!ifile.eof()){
39         cout << s;
40         ifile >> s;
41     }
42     ifile.close();
43     int i;
44     cin >> i;
45     return 0;
46 }

结果:

c++文件输入输出流fstream,对输入>>和输出<<重载,布布扣,bubuko.com

时间: 2024-09-29 00:32:47

c++文件输入输出流fstream,对输入>>和输出<<重载的相关文章

Java实现文件写入——IO流(输入输出流详解)

输入输出的重要性:     输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据.Java是面向对象的程序语言,每一个数据流都是一个对象,它们提供了各种支持“读入”与“写入”操作的流类. Java的输入输出功能来自java.io 包中的InputStream类.OutputStream类.Reader类和Writer类以及继承它们的各种子类. (一)解析文件处理的奥秘 1

C++笔记(9):IO输入输出流

输入输出流 C++的输入输出流是IO系统向用户提供一个统一的接口,它隔离了具体的设备差异.包括标准输入输出流和文件流.标准输入输出流 istream是输入流类,cin就是istream类型的对象.ostream是输出流类,cout是ostream类型的对象. 在C++中允许用户重载运算符"<<"和">>",实现对象的输入和输出. 重载这二个运算符时,在对象所在的类中,将重载这二个运算符的函数说明该类的友元函数. C++在头文件fstream.

iostream/fstream中的输入输出流指针的绑定,tie函数的使用。

为了兼容c语言的输入输出,c++里面采用tie将输入输出流经行绑定,所以cin/cout并不是独立的.当执行cin时,cout同时会被执行.反之亦然. by defalut,cin is tied to cout,and wcin is tied to wcout. 默认情况下,cin和cout是绑定在一起的,wcin和wcout是绑定在一起的. 也就是说默认情况下,我们执行 int a; cin>>a; 用户输入abcd'Enter' 执行的过程是,先将abcd输入到流缓冲区中,然后从缓冲区

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

字符流;字节流;带缓冲的输入输出流;以及用scanner读文件

概念: InputStream类是字节输入流的抽象类,是所有字节输入流的父类. OutputStream类是字节输入流的抽象类,是所有字节输出流的父类. In(可以理解为读)Out(可以理解为写) 一.字节流的读与写 FileInputStream类与FileOutStream类都是用来操作磁盘文件的. 1. FileInputStream(String name); 填String类型的路径名 FileInputStream(File file); 填入File对象 2. FileOutStr

JAVA文件读写输入输出流关闭问题、JAVA垃圾回收

切记: 读写文件一定要及时关闭输入输出流 项目中,用到将rtf文档上传后修改一个更新标记为0未更新,另外一个程序将文档上传到LED屏上面,LED程序检测到更新标记为未更新时将状态投到LED上面,并将状态更新为1已更新. 现象:上传文件时使用输入输出流,上传成功后LED屏不显示更新文档,为空. 部分代码: public void save(){ upload(); save(XXXXX); } public void upload() throws Exception{ //以服务器的文件保存地址

2013级C++第15周(春)项目——输入输出流及文件文件操作

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759.内有完整教学方案及资源链接 本周程序阅读及程序调试中须要的文件,请到http://pan.baidu.com/s/1qW59HTi下载. 第一部分 阅读程序(执行程序时,由上面的链接下载源码)1.阅读教材例13.1到例13.7的程序,依据所用到的函数在功能上的限制,自己设计输入的測试数据,执行程序.(1)与自己的期望结果相对比,理解各个函数的使用方法:(2)深入理解数据流

java输入输出流及文件操作

*Author:Yuanhonglong *Date:2013-11-29 *1948281915package mine.file.Read_Write;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java

JAVA输入/输出流程序例题(文件和目录、字节流、字符流)

一.文件和目录 1.显示文件的基本信息. 2.显示目录的基本信息. 3.在指定目录下创建单个文件. 4.指定目录下创建多个临时文件. 二.字节流 1.生成ZIP压缩文件 2.解压缩zip文件 3.生成Excel文件 4.读取excel文件 5.生成PDF文件 6.读取PDF文件中的内容 7.利用poi读取Word文件中的内容. 三.字符流 1.追加文件内容 2.读取jar包内容 3文件的加密/解密操作 JAVA加包+++右键项目+BuildPath+Add External Achievees.