c++ primer学习笔记ch01

C++ IO流与程序控制
本文介绍C++中iostream库的基本用法,包括输入输出流的概念、常见流对象如cerr和clog的区别,以及表达式链、字符串字面值等基础知识。同时,文中还涉及了如何使用while循环进行简单的程序控制。

访问main的返回值。
linux下 echo $?
window下 echo %ERRORLEVEL%

iostream库 输入输出流,一个流就是字符序列,是从IO设备中读取或写入IO设备。流表达的是随着时间推移,字符是顺序产生和消耗的。

cerr用来警告和错误消息,clog用来输出程序运行中的一般性消息。

一个表达式产生一个计算结果,它是由一个或者多个运算对象和(通常)一个运算符组成。
(std::cout << "Enter two number") << std::endl表达式链。
链中每个运算符左侧的运算对象都是相同的。

字符串字面值常量string literal,由一对双引号引起的字符序列。

endl操纵符(manipulator)写入endl的效果结束当前行,并将与设备相关联的缓冲区中的内容刷入相应设备。缓冲刷新操作保证到目前为止程序产生的输出都真正的写入输出流中,而不是仅停留在内存中等待写入流。

注释界定符不能嵌套。

while(condition)
{
statement;
}
while(n <= 10)
{
int a = n;
n++;
}
在执行了statement后,判断条件后再次执行statement时, a这个临时对象会被重新定义吗。

当我们使用一个istream对象作为条件时,其效果是检测流的状态。当流是有效的,那么检测成功,若遇到文件结束符EOF,遇到无效输入时, istream对象的状态会变为无效。

从键盘输入文件结束符
window ctrl+z + enter
linux ctrl + d

使用文件重定向
a.out <infile >outfile

术语概念
buffer缓冲区,一个存储区域,用于保存数据。IO设备通常将输入输出的数据保存一个缓冲区中,读写缓冲区的动作与应用程序中的动作无关,我们可以显示刷新输出缓冲,以便我们强制的将缓冲区中的数据写入输出设备默认情况下,cin会刷新cout,程序非正常结束也会刷新cout。

cerr 一个ostream对象,与标准错误关联,通常写入到与标准输出流相同的设备。默认情况下,写到cerr中的数据是不缓冲的

clog一个ostream对象,与标准错误关联,默认情况,写到clog中的数据是被缓冲的,clog通常用于报告一个程序中的执行信息,存入一个执行文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值