暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C++基础学习:第十二节-基本输入输出

Cpp入门到精通 2024-01-22
63

点击蓝字 关注我们


c++基础学习

第十二节 基本输入输出



C++ 标准库提供了丰富的输入输出功能,这节我们讨论最基本的输入输出。

C++中的基本输入输出通常使用 iostream 库来实现,其中包括 iostream, istream, ostream,以及相应的派生类如cin, cout,cerr 和 clog。


iostream(输出输出流)

iostream包含的主要类如下:

istream(输入流):用于从输入设备读取数据,是输入操作的基类。常用的派生类包括 cin(标准输入流)和 ifstream(文件输入流)等。

ostream(输出流):用于向输出设备写入数据,是输出操作的基类。常用的派生类包括 cout(标准输出流)和 ofstream(文件输出流)等。

iostream(输入输出流):包含了同时进行输入和输出的功能,是 istream 和 ostream 的组合。

我们这节只讨论标准输入输出流。


    #include<iostream>
    using namespace std;
    int main()
    {
    // 输出到标准输出流(通常是控制台)
      cout << "hello C++" << endl;
    system("pause");
    return 0;
    }

    结果如下:

      hello C++

      cout 用于输出文本到标准输出流,并使用 << 运算符将文本插入到输出流中。


        #include<iostream>
        using namespace std;
        int main()
        {
        string name;
          cout << "请输入你的名字:" << endl;
        cin >> name;// 从标准输入流(通常是键盘)读取字符串
          cout << "hello "<<name<<"!" << endl;
        system("pause");
        return 0;
        }
          请输入你的名字:
          韦一敏
          hello 韦一敏!

          cin 用于从标准输入流读取用户输入的数据。cin >> name 表示将输入的字符串存储到 name 变量中。


             #include<iostream>
            using namespace std;
            int main()
            {
            // 输出错误信息到标准错误流
              cerr << "this is a fault message!" << endl;
            system("pause");
            return 0;
            }

            结果如下:

              this is a fault message!

              cerr 用于输出错误信息到标准错误流,cerr 对象是非缓冲的,且每个流插入到 cerr 都会立即输出。


              在 C++ 中,输出流可以是缓冲的或非缓冲的。缓冲意味着数据首先存储在内存中,然后在适当的时候才被发送到目标设备。非缓冲则意味着每次写入都立即发送到目标设备。

              特别是对于 cerr(标准错误流),其默认情况下是非缓冲的,这意味着每次写入 cerr 都会立即刷新到标准错误流中。这是为了确保错误消息尽可能快地被输出,即使程序崩溃或异常退出时也能得到记录。

                #include<iostream>
                using namespace std;
                int main()
                {
                clog << "this is a log message!" << endl;
                system("pause");
                return 0;
                }

                结果如下:

                  this is a log message!

                  clog 用于输出日志信息到标准错误流。clog 对象是缓冲的。这意味着每个流插入到 clog 都会先存储在缓冲区,直到缓冲填满或者缓冲区刷新时才会输出。

                  我们无法区分 cout、cerr 和 clog 的差异,但在编写和执行大型程序时,它们之间的差异就变得非常明显。

                  这些是 C++ 中基本的输入输出操作,通常用于控制台应用程序。



                  END

                  往期推荐

                  C++基础学习:第十一节-结构体基础

                  C++基础学习:第十节-指针与函数

                  C++基础学习:第九节-指针与数组

                  C++基础学习:第八节-指针基础


                  文章转载自Cpp入门到精通,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论