zoukankan      html  css  js  c++  java
  • [C++基本语法:从菜鸟变成大佬系列,就像1,2,3那么简单](五):C++的输入输出

    怎样输入输出?

    C++标准库提供了一组广泛的输入/输出功能,我们将在后续章节中看到。本章将讨论C++编程所需的非常基本和最常见的I / O操作。

    C++ I / O发生在流中,这是字节序列。如果字节从键盘,磁盘驱动器或网络连接等设备流向主存储器,则称为输入操作,如果字节从主存储器流向显示屏,打印机,磁盘驱动器等设备或者网络连接等,这称为输出操作。

    I / O的头文件

    以下头文件对C++程序很重要

    类型 描述
    <iostream> 此文件定义分别对应于标准输入流、标准输出流、未缓冲标准错误流和缓冲标准错误流的 cincoutcerrclog
    <iomanip> 此文件声明服务可用于使用所谓的参数化流操纵器(如 setwsetprecision)执行格式化的 I/O。
    <fstream> 此文件声明用于用户控制的文件处理的服务。

    标准输出流(cout)

    预定义对象coutostream的实例cout对象被称为“连接”标准输出设备,通常是显示屏。cout用于在结合流插入操作员,其被写为'<<'其比迹象少两个如示于下述的例子。

    1 #include <iostream>
    2 using namespace std;
    3 int main() {
    4    char str[] = "Hello C++";
    5    cout << "Value of str is : " << str << endl;
    6 }
    View Code

    编译并执行上述代码时,会产生以下结果

    1 Value of str is : Hello C++
    View Code

    C++编译器还确定要输出的变量的数据类型,并选择适当的流插入运算符来显示该值。<<运算符被重载以输出内置类型的数据项integer,float,double,strings和pointer值。

    插入运算符<<可以在单个语句中多次使用,如上所示,endl用于在行的末尾添加换行符。

    标准输入流(cin)

    预定义对象 cinistream 类的实例。cin 对象表示连接到标准输入设备,通常为键盘。cin 与流提取运算符结合使用,该运算符被写入 '>>',这比以下示例所示的符号大于两个符号。

    1 #include <iostream>
    2 using namespace std;
    3 int main() {
    4    char name[50];
    5    cout << "Please enter your name: ";
    6    cin >> name;
    7    cout << "Your name is: " << name << endl;
    8 }
    View Code

    编译并执行上述代码时,将提示您输入名称。输入一个值,然后按Enter键以查看以下结果

    1 Please enter your name: cplusplus
    2 Your name is: cplusplus
    View Code

    C++编译器还确定输入值的数据类型,并选择适当的流提取运算符以提取值并将其存储在给定变量中。

    流提取运算符>>可以在单个语句中使用多次。要请求多个数据,您可以使用以下内容

    1 cin >> name >> age;
    View Code

    这相当于以下两个陈述

    1 cin >> name;
    2 cin >> age;
    View Code

    标准错误流(cerr)

    预定义对象cerrostream的实例cerr对象被称为附加到标准错误设备,它也是一个显示屏,但是对象cerr是非缓冲的,每个流插入到cerr会导致其输出立即出现。

    所述CERR也与流插入操作一起使用如示于下述的例子。

    1 #include <iostream>
    2 using namespace std;
    3 int main() {
    4    char str[] = "Unable to read....";
    5    cerr << "Error message : " << str << endl;
    6 }
    View Code

    编译并执行上述代码时,会产生以下结果

    1 Error message : Unable to read....
    View Code

    标准日志流(clog)

    预定义对象clogostream的实例据说clog对象附加到标准错误设备,标准错误设备也是显示屏,但缓冲了对象clog这意味着每次插入clog都可能导致其输出保持在缓冲区中,直到填充缓冲区或刷新缓冲区为止。

    堵塞也与流插入操作一起使用如示于下述的例子。

    1 #include <iostream>
    2 using namespace std;
    3 int main()
    4 {
    5    char str[] = "Unable to read....";
    6    clog << "Error message : " << str << endl;
    7 }
    View Code

    编译并执行上述代码时,会产生以下结果

    1 Error message : Unable to read....
    View Code

    你可能无法看到cout,cerr和clog与这些小例子有任何区别,但在编写和执行大程序时,差异变得明显。因此,最好使用cerr流显示错误消息,并在显示其他日志消息时应使用clog。

    For English visitors, please click here

  • 相关阅读:
    05.九个内置对象
    04.线程面试题-01
    03.反射杂谈
    02.Java动态代理实现与原理分析之静态代理
    01.JDBC技术摘要
    异步请求二
    表单验证(添加数据)
    异步请求(删除json数据)
    异步请求(解析json数据)
    异步请求(获取json数据)
  • 原文地址:https://www.cnblogs.com/ssf-lrk/p/11231044.html
Copyright © 2011-2022 走看看