C++-14-IO流类库

从零开始学C++IO流类库(三):文件的读写、二进制文件的读写、文件随机读写 一、文件的读写 如前面所提,流的读写主要有>, get, put, read, write 等操作,ofstream 继承自ostream, ifstream 继承自 istream,故操作函数都是一致的。  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 阅读详情

输入输出流(I/O stream)

#include <iostream>
using namespace std;
class cincout
{
public:
    cincout(int a = 0, int b = 0)
    {
        c1 = a;
        c2 = b;
    }
    void showc1c2(void)
    {
        cout << "c1=" << c1 << '\t' << "c2=" << c2 << endl;
    }
    friend istream& operator>>(istream&,cincout&);//在类中原型说明,创建一个友元函数,重载cincout类对象的>>输入运算符.

private:
    int c1, c2;
};
istream& operator>>(istream& is, cincout& cc)//类外定义函数
{
    is >> cc.c1 >> cc.c2;//重新定义输入流
    return is;//返回输入流
}
int main()
{
    cincout o1, o2;
    o1.showc1c2();
    o2.showc1c2();

    cin >> o1;//从键盘输入
    cin >> o2;
    o1.showc1c2();
    o2.showc1c2();
    return 0;
}
#include <iostream>
using namespace std;
class incout
{
public:
    incout(int a = 0, int b = 0)
    {
        c1 = a;
        c2 = b;
    }
    void show(void)
    {
        cout << "c1=" << c1 << '\t' << "c2=" << c2 << endl;
    }
    friend istream& operator>>(istream&, incout&);//在类中原型说明,创建一个友元函数,重载cincout类对象的>>输入(提取)运算符.
    friend ostream& operator<<(ostream&, incout&);//重载cincout类对象的<<输出(插入)运算符.
private:
    int c1, c2;
};
istream& operator>>(istream& is, incout& cc)//类外定义函数
{
    is >> cc.c1 >> cc.c2;//重新定义输入流
    return is;//返回输入流
}
ostream& operator<<(ostream& os, incout& cc)
{
    os << "c1=" << cc.c1 << '\t' << "c2=" << cc.c2 << endl;
    return os;
}
int main()
{
    incout obj1, obj2;
    cout << obj1 << obj2 << endl;//调用输出函数
    cin >> obj1;
    cin >> obj2;
    cout << obj1 << obj2;
 
    return 0;
}

文件流

C++标准库提供了3各类用于实现文件操作,统称为文件流类
ifstream:专门用于从文件读取数据
ofstream:专门用于向文件写入数据
fstream:既可以从文件读取数据,又可用于向文件写入数据

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    const char* str = "http://www.163.com";
    fstream fs;//创建一个fstream类的对象
    fs.open("demo.text", ios::out);//将demo.text文件和fs文件流建立关联
    fs.write(str, 100);
    fs.close();

    return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    //ifstream infile;
    //infile.open(".\\demo.txt", ios::in);
    //if (infile)//条件成立,说明文件打开成功
    //{
    //    cout << "\ndemo.txt文件打开成功." << endl;
    //    infile.close();
    //}
    //else
    //{
    //    cout << "\ndemo.txt文件打开失败." << endl;
    //    return 1;
    //}

    //ofstream outfile;
    //outfile.open(".\\outdemo.text", ios::out);
    //if (outfile)//条件成立,说明文件打开成功
    //{
    //    cout << "\noutdemo.txt文件打开成功." << endl;
    //    outfile.close();
    //}
    //else
    //{
    //    cout << "\noutdemo.txt文件打开失败." << endl;
    //}
    fstream iofile;
    iofile.open(".\\iodemo.text", ios::in|ios::out|ios::trunc);
    if (iofile)//条件成立,说明文件打开成功
    {
        cout << "\niodemo.txt文件打开成功." << endl;
        iofile.close();
    }
    else
    {
        cout << "\niodemo.txt文件打开失败." << endl;
    }
    return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
class student
{
public:
    int no;
    char name[10];
    int age;
};
int main()
{
    student stu;
    ofstream outfile("student.dat", ios::out | ios::binary);
    if (!outfile)
    {
        cout << "\n打开文件student.dat失败" << endl;
    }
    else
    {
        cout << "\n打开文件student.dat成功" << endl;
    }
    while (cin >> stu.no >> stu.name >> stu.age)//从键盘输入
        outfile.write((char*)&stu, sizeof(stu));
    outfile.close();

    return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
class student
{
public:
    int no;
    char name[10];
    int age;
};
int main()
{
    student stu;
    ifstream infile("student.dat", ios::in | ios::binary);//以二进制方式打开文件
    if (!infile)
    {
        cout << "\n打开文件student.dat失败" << endl;
        return 0;
    }
    else
    {
        cout << "\n打开文件student.dat成功" << endl;
    }
    while (infile.read((char*)&stu, sizeof(stu)))
    {
        cout << stu.no << "," << stu.name << "," << stu.age << endl;
    }
    infile.close();

    return 0;
}
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char ch;
    ofstream outfile("outdemo.txt", ios::out | ios::binary);
    if (!outfile)
    {
        cout << "\noutdemo.txt文件打开失败." << endl;
        return 0;
    }
    else
        cout<< "\noutdemo.txt文件打开成功." << endl;
    while (cin >> ch)
    {
        outfile.put(ch);
    }
    outfile.close();
    return 0;
}
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char ch;
    ifstream infile("outdemo.txt", ios::out | ios::binary);
    if (!infile)
    {
        cout << "\noutdemo.txt文件打开失败." << endl;
        return 0;
    }
    else
        cout << "\noutdemo.txt文件打开成功." << endl;
    while ((ch = infile.get()) && ch != EOF)
    {
        cout << ch;
    }
    
    infile.close();
    return 0;
}
//文件指针
//随机读取二进制文件
//infile.seekg(int);//将文件指针移动到由参数指定的字节处
//infile.seekg(100);//将文件指针移动到距离文件头100个字节处
//infile.seekg(int,ios::_dir);
//_dir
//beg:文件头
//cur:当前位置
//end:文件尾
//infile.seekg(100,ios::beg);移动到距文件头100个字节
//infile.seekg(-100,ios::cur);移动到距当前位置前100个字节
//infile.seekg(-500,ios::end);移动到距文件尾前500个字节

【网络】PFC背景和原理 、文档(DCB=PFC + ETS,DCBX=DCB扩展) 目录 零、背景 一、PFC 1.概述 2.报文格式 3.工作机制 二、ETS 产生原因 基本原理 优先级组的调度 优先级的调度 三、DCBX 产生原因 基本原理 DCBX TLV介绍 五、PFC 拥塞研究(文档收集) 六、DC-QCN算法 (网络工程师必会) 7.1 α更新 7.2 降速 7.3 提速 8.总结 ... 阅读详情

相关推荐

差分运放实战:如何快速计算带直流偏置的电路(附详细推导步骤)

本文详细解析了差分运放电路在带直流偏置设计中的核心计算方法和实战技巧。通过可视化参数关系和分步拆解,帮助工程师快速掌握电路设计精髓,包括虚短虚断原理、偏置电压计算及非理想因素处理,提升信号调理和传感器接口设计的效率与精度。

o4p5q6r7s的博客 326

C++知识点 -- C++IO

如果将SeverInfo中的address从char* 换成string,就会出错,关系到c++的string的设计问题;C++标准IO流提供了4个全局流对象,cin、cout、cerr、clog,其中最常用的就是cin和cout;C++系统实现了一个庞大的类库,其中以ios为基类,其他类都是直接或间接派生自ios类;这是使用write和read进行读写,更加方便地方式是使用。c语言可以使用scanf()!

kissland96166的博客 728

智慧方案虚拟电厂概念关键技术及市场发展现状(57页PPT).pptx

智慧方案虚拟电厂概念关键技术及市场发展现状(57页PPT).pptx

c++IO库详细介绍

简单分享一下c++ IO相关的一些知识点,希望对大家有用C++IO类是标准库的一部分,主要用于输入和输出操作。这些类提供了读写数据的接口,无论是从标准输入输出(如键盘和屏幕)还是从文件。IO这块还有很多可以深入研究的地方,同步/异步,阻塞/非阻塞等,今天简单介绍一下,后续补充详细的知识。

shopeeai的博客 1882

C++】I/O流类库

数据的输入和输出(input/output简写为I/O),对标准输入设备和标准输出设备的输入输出简称为标准I/O。对在外存磁盘上的文件输入输出简称为文件I/O。对内存中指定的字符串存储空间的输入输出简称为串I/O。

fakerth的博客 856

C++学习21:C++I/O流和标准I/O流

C++I/O流和标准I/O流

1373

C++IO

水从水龙头流出,通过水管流向水槽。在这个过程中,水龙头是水的源头,水槽是水的目的地,水管则是水流动的通道。类似地,在计算机科学中,流可以看作是数据从一个源头(如键盘、文件、网络)流向一个目的地(如屏幕、文件、网络)的通道。​连续性:数据像水流一样连续不断地传输。​方向性:数据有明确的流动方向,从源头流向目的地。​缓冲:流通常会使用缓冲区来临时存储数据,以提高传输效率。在计算机中,流是一种抽象的数据通道,用于处理输入和输出操作。流可以处理各种类型的数据,包括字符、字节、文件等。

azaz_plus的博客 1227

c++IO之标准设备操作流

每种语言系统都会提供IO操作的类库,用于对预定义类型数据进行输入输出的操作。C++也是如此,它是以字节流的形式实现的。在输入操作时,字节流从输入设备(键盘、磁盘)流向内存;在输出操作时,字节流由内存流向输出设备(显示器、打印机);字节流可以是ASCII字符、二进制数据、图形图像、音频视频等信息。文件和字符串也可以看成是有序的字节流,又称为文件流和字符串流。C++的编译系统自带一个面向对象的输入输出

1302

C++之标准设备IO操作流

每种语言系统都会提供IO操作的类库,用于对预定义类型数据进行输入输出的操作。C++也是如此,它是以字节流的形式实现的。在输入操作时,字节流从输入设备(键盘、磁盘)流向内存;在输出操作时,字节流由内存流向输出设备(显示器、打印机);字节流可以是ASCII字符、二进制数据、图形图像、音频视频等信息。文件和字符串也可以看成是有序的字节流,又称为文件流和字符串流。C++的编译系统自带一个面向对象的输入输出

SzMing 643

从零开始学C++IO流类库(一):流类库继承体系(IO流,文件流,串流)和 字符串流的基本操作

一、IO、流 数据的输入和输出(input/output简写为I/O) 对标准输入设备和标准输出设备的输入输出简称为标准I/O 对在外存磁盘上文件的输入输出简称为文件I/O 对内存中指定的字符串存储空间的输入输出简称为串I/O 数据输入输出的过程,可以形象地看成流 从流中获取数据的操作称为“提取”(输入)操作 向流中添加数据的操作称为“插入”(输出)操作 标准输入输出流

Meditation 8302

C++——流类库和输入/输出

前言 数据是怎么写道磁盘的? 代码里面我们一个读写调用似乎就能将数据从磁盘读写。仿佛代码是直接和磁盘打交道。以我们最常见的笔记本、或台式机的磁盘SATA盘为例,其受南桥上ATA控制器支配,这里面传输的ATA指令。至少我们代码里面是没有处理这部分的,所以我们代码直接操控磁盘说不通。现实情况是,C++通过IO流库和磁盘打交道。 IO流库 C++语言中并没有输入/输出语句,而是在标准库里包含...

weixin_33738982的博客 788

C++IO之文件操作

前两节介绍了C++IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制。那今天我将继续介绍关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何对文件进行操作的。   文件指存放在外部介质上的数据的集合。大家都知道操作系统是以文件为单位来对数据进行管理的。因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要

927

C++之文件IO操作流

  前两节介绍了C++IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制。那今天我将继续介绍关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何

a13036139941的博客 153

C++ io操作

原文:http://www.cnblogs.com/CaiNiaoZJ/archive/2011/08/18/2144247.html C++之文件IO操作流   前两节介绍了C++IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制。那今天我将继续介绍关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何对文

hao448609471的专栏 682

从零开始学C++IO流类库(四):输出流格式化(以操纵子方式格式化,以ios类成员函数方式格式化)

一、以操作子方式格式化 数据输入输出的格式控制使用系统头文件中提供的操纵符。把它们作为插入操作符 (一)、常用的流操纵算子: (二)、ios类的枚举常量  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Meditation 4541

C++ 极简总结—— I/O 流类库(三)

C++输入输出常用成员函数 1、输入流常用成员函数 (1)、read() 函数 原型:istream& read(char *pch, int nCount); 说明:从输入流中读取nCount个字符并放入pch 所指的缓冲区。 例子: #include <iostream> using namespace std; int main() { char ch1[10];...

FlyDremever 327
上一篇: C++-13-命名空间与模板
下一篇: C++-15-STL(vector_deque_stack)
jiezai66
博客等级 码龄5年 0粉丝 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值