C++开发基础——IO操作与文件流

一,基础概念

C++的IO操作是基于字节流,并且IO操作与设备无关,同一种IO操作可以在不同类型的设备上使用。

C++的流是指流入/流出程序的字节序列,在输入操作中数据从外部设备(键盘,文件,网络等)流入程序,在输出操作中数据从程序流向外部设备(控制台,文件,网络等)。

流充当了程序与外部设备之间的管道,使程序中的具体操作独立于各种外部设备。

常用的流:基础输入输出流,文件流,字符串流。

流的实例不仅包含普通的数据,还包含表示当前位置的数据。

在C++编程中,流的使用步骤如下:

1.实例化一个流对象。

2.将流对象关联到实际的外部设备(键盘,控制台,文件,网络等)。

3.调用流对象中提供的成员函数,完成数据的转换、传输等操作。

4.断开流对象与外部设备的关联,比如关闭文件。

5.释放流对象占用的内存资源。

流具有缓冲区,大部分时候,往流中写入数据后,流并不会马上把数据输出到指定目的地,为了提高性能,流先用缓冲区将数据存储起来,缓冲区达到一定大小后再输出到指定目的地。

刷新缓冲区的条件:

遇到触发的函数,如endl。

流对象离开作用域,被析构时。

流的缓冲区被写满。

显式调用flush()函数。

流对应的头文件有<ostream>, <fstream>等。

流支持的数据类型:数值类型,指针,char类型,std::string类,C风格字符串等。

std标准库包含预定义的流的实例,有cout,cin,cerr,clog等。

二,输出流

1.输出流的定义

对应运算符:operator<<            

含义:流中的数据输出到外部设备,"设备  <<  程序"。

<<运算符返回的是对一个流的引用,因此,可以连续调用多次<<运算符,来连续输出多段数据。

C++流遇到C风格的转义字符,比如“\n”,可以自动做解析。

“\n”和end都可以实现换行,但是“\n”只是换行,而end还会刷新缓存。

2.输出流的原始方法

(1).输出

put():写入单个字符。

write():写入字符数组。

代码样例,输出到控制台打印:

const char* test = "hello there";
cout.write(test, strlen(test));
cout.put('a');

(2).刷新缓冲区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员与背包客_CoderZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值