C++  系统IO流介绍

 更新时间:2021年12月07日 17:17:07   作者:一个热爱学习的深度渣渣  
这篇文章主要介绍了C++系统IO流,大部分人都是从输出"Hello World"开始的,本文会介绍C++中的IO细节,需要的朋友可以参考一下,希望对大家有所帮助

前言:

本次讲解一个小知识点,也是最常见的一个知识点:iostream;不管编写什么程序,必然会使用到IO流交互,从细节上理解简单的IO流;

1、iostream标准库

定义:标准库所提供的IO接口,用于与用户交互;

输入流:cin

输出流:coutcerrclog

输出流三者的一个区别:

  • 1、首先就是输出目标的不同,cerr主要用来输出错误信息,clog主要用来输出日志信息;
  • 2、cerr有个最大的不同,会立即刷新缓冲区,输出比较快,另外两种输出信息可能在程序崩溃时会丢失;

缓冲区刷新还有别的方法:std::flush、std::endl;

2、namespace

主要是为了避免名称冲突,可见如下代码:

namespace People1
{
 void fun(){}
}
namespace People2
{
 void fun(){}
}

上面代码中有两个同名函数,编译是可通过的,这就是命名空间的作用;

在使用fun()这个函数时,需要指定命名空间;

命名空间的使用有以下三种方式:

// 1、域解析符::
People1::fun();

// 2、using语句
using namespace People1;
fun();

// 3、命名空间别名
namespace ns1 = People1;
ns1::fun();

注意:std就是标准库的命名空间,也是最常用的一个命名空间;

3、C和C++输出区别

  • printf:使用直观,但容易出错;
  • cout:不容易出错,但书写冗长;
  • C++20格式化库:新的方案(目前还不常用);

4、总结

本次就讲这么一点知识点,这也是入门C++的很多人疑惑的点,相信大部分人都是从输出"Hello World"开始的,那么C++中的IO细节估计没有弄懂,看完本篇就会有一个清晰的认知;

到此这篇关于C++ 中的IO流介绍的文章就介绍到这了,更多相关C++ IO流内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何实现socket网络编程的多线程

    如何实现socket网络编程的多线程

    首先,学好计算机网络知识真的很重要。虽然,学不好不会影响理解下面这个关于宏观讲解,但是,学好了可以自己打渔吃,学不好就只能知道眼前有鱼吃却打不到渔。在Java中网络程序有2种协议:TCP和UDP,下面可以和小编一起学习下
    2019-05-05
  • 详解C++中stoi/stol/stoll函数的用法

    详解C++中stoi/stol/stoll函数的用法

    这篇文章主要为大家详细介绍了C++中stoi、stol、stoll函数的具体用法,文中的示例代码讲解详细,对我们学校C++有一点的帮助,需要的可以参考一下
    2023-03-03
  • 使用kendynet构建异步redis访问服务

    使用kendynet构建异步redis访问服务

    这篇文章主要介绍了在kendynet上写的一个简单的redis异步访问接口,大家参考使用吧
    2014-01-01
  • C++中delete和delete[]的区别说明

    C++中delete和delete[]的区别说明

    一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。希望本文可以对你有所帮助
    2013-02-02
  • 详解C语言#define预处理宏定义

    详解C语言#define预处理宏定义

    本文主要介绍了C语言#define预处理宏定义,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C语言字符串快速压缩算法代码

    C语言字符串快速压缩算法代码

    这篇文章主要介绍了C语言字符串快速压缩算法代码,将字符串中连续出席的重复字母进行压缩,其主要的压缩字段的格式为”字符重复的次数+字符”。有需要的小伙伴参考下吧。
    2015-03-03
  • 基于Linux系统调用--getrlimit()与setrlimit()函数的方法

    基于Linux系统调用--getrlimit()与setrlimit()函数的方法

    本篇文章是对在Linux系统中调用getrlimit()与setrlimit()函数的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++中函数模板的用法详细解析

    C++中函数模板的用法详细解析

    所谓函数模板实际上是建立一个通用函数,其涵涵素类型额形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板
    2013-10-10
  • 用C++实现DBSCAN聚类算法

    用C++实现DBSCAN聚类算法

    本篇文章是对使用C++实现DBSCAN聚类算法的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • VS2017中配置QT5.12.0的图文教程

    VS2017中配置QT5.12.0的图文教程

    本文主要介绍了VS2017中配置QT5.12.0的图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论