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流内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(C++ 系统IO流介绍)