• 3.流的输入/输出


    在Cpp中,通常使用cin和cout来做一个流的输入和输出,同时也理解一下作用域空间的概念

    当想在控制台输出一句话的时候就要用到输出流.

    1. #includ
    2. int main(){
    3. using namespace std;
    4. cout << "我想吃苹果" << endl;
    5. }

    使用上面代码,就可以在控制台输出"我想吃苹果"这句话了,首先是引入了iosteam头文件,其次声明了cout对象所在的命名空间std,使得cout在全局中可以使用.

    而endl表示清空输出槽,并且换行.

    这里要说明一下endl和\n的区别:

    endl:输出流有一个输出槽,里面存放的待输出的数据,而当我们使用endl的时候就会将输出槽中的所有数据发送到设备(控制台),这就是清槽,然后会换行.

    \n:它是一个转义字符,当被输出时会被转换成\xxxx,然后被一起放入到输出槽中,等待输出.

    这下就很明显了,endl是一条函数指令,当它发送命令的时候就会将输出槽清空并且输出到设备,而\n仅仅只是一个转义字符.

    输出槽的特性,当输出槽没有收到刷新指令或者未满时会继续接收数据,方便一次输出,所以当使用\n的时候并不能一定保证会立马输出到设备.

    std 是 standard 的缩写,意思是“标准命名空间”。

    对于不带.h的头文件,所有的符号都位于命名空间 std 中,使用时需要声明命名空间 std;对于带.h的头文件,没有使用任何命名空间,所有符号都位于全局作用域。

    这里cout是一个输出流的对象(工具),Cpp中引入的iosteam头文件并不包含该函数的原型,而是将其原型放入到了一个叫std的空间中,std中包含了很多头文件中的对象原型,而如果要使用其中的对象原型和其函数就必须声明,最简单的就是上面一种方法.

    1. #includ
    2. int main(){
    3. //使用指定的对象原型
    4. using namespace std::cout;
    5. //或者在使用时指定对象原型
    6. std::cout << "ABCC" << std::endl;
    7. }

    当然不可能频繁使用第一种方法,因为这样会将所有的关键字全部编译为std中原型的变量名,最好是使用下面两种方法,using编译指令去指定要使用的对象,和Java中包的概念非常类似(简单理解).

    有了输出就有输入,cout作为输出流可以输出字符串(不仅仅是字符串),同时就可以有输入流输入.

    通过cin可以从控制台输入数据到输入流,并且读取或者赋值给相应的变量.

    1. #includ
    2. int main(){
    3. using namespace std;
    4. cout << "请输入你的年龄(整数)____\b\b\b\b" << endl;
    5. int age;
    6. //将输入的数据赋给变量
    7. cin >> age;
    8. cout << "您的年龄为:" << age << endl;
    9. return 0;
    10. }

  • 相关阅读:
    C#语法糖系列 —— 第二篇:聊聊 ref,in 修饰符底层玩法
    vulnhub靶机darkhole
    正雅齿科儿童咬合诱导及青少年隐形矫治线上线下融合峰会成功开展
    计算机网络复习笔记——运输层
    【开源】渔具租赁系统 JAVA+Vue.js+SpringBoot+MySQL
    [spring]spring注解开发
    C高级day2
    springboot基于微信小程序的运动软件前端的设计与实现别用设计源码100932
    【PyTorch深度学习项目实战100例】—— 基于Transformer实现人格个性指示 | 第67例
    你知道哪些常用快捷键?电脑快捷键大全,打工人必备!
  • 原文地址:https://blog.csdn.net/waooi/article/details/133617650