C++ 标准输入输出 -- <iostream>
<iostream>
库是 C++ 标准库中用于输入输出操作的头文件。
<iostream> 定义了几个常用的流类和操作符,允许程序与标准输入输出设备(如键盘和屏幕)进行交互。
以下是
<iostream>
库的详细使用说明,包括其主要类和常见用法示例。
主要类
-
std::istream:用于输入操作的抽象基类。 -
std::ostream:用于输出操作的抽象基类。 -
std::iostream:继承自std::istream和std::ostream,用于同时进行输入和输出操作。 -
std::cin:标准输入流对象,通常与键盘关联。 -
std::cout:标准输出流对象,通常与屏幕关联。 -
std::cerr:标准错误输出流对象,不带缓冲,通常与屏幕关联。 -
std::clog:标准日志流对象,带缓冲,通常与屏幕关联。
常用操作符
-
>>:输入操作符,从输入流读取数据。 -
<<:输出操作符,将数据写入输出流。
基本用法
标准输入和输出:
#include <iostream>intmain(){intage;std::stringname;// 使用 std::cout 输出到屏幕std::cout<<"Enter your name: ";// 使用 std::cin 从键盘读取输入std::cin>>name;std::cout<<"Enter your age: ";std::cin>>age;// 输出读取到的数据std::cout<<"Hello, "<<name<<"! You are "<<age<<" years old."<<std::endl;return0;}
标准错误输出:
#include <iostream>intmain(){std::cerr<<"An error occurred!"<<std::endl;return0;}
标准日志输出:
#include <iostream>intmain(){std::clog<<"This is a log message."<<std::endl;return0;}
格式化输出:
使用
<iomanip>
库可以对输出进行格式化,例如设置宽度、精度和对齐方式。
#include <iostream>#include <iomanip>intmain(){doublepi=3.14159;// 设置输出精度std::cout<<std::setprecision(3)<<pi<<std::endl;// 设置输出宽度和对齐方式std::cout<<std::setw(10)<<std::left<<pi<<std::endl;std::cout<<std::setw(10)<<std::right<<pi<<std::endl;return0;}
流的状态检查:
可以检查输入输出流的状态,以确定操作是否成功。
#include <iostream>intmain(){intnum;std::cout<<"Enter a number: ";std::cin>>num;// 检查输入操作是否成功if(std::cin.fail()){std::cerr<<"Invalid input!"<<std::endl;}else{std::cout<<"You entered: "<<num<<std::endl;}return0;}
处理字符串输入
使用
std::getline
函数可以读取包含空格的整行输入。
#include <iostream>#include <string>intmain(){std::stringfullName;std::cout<<"Enter your full name: ";std::getline(std::cin, fullName);std::cout<<"Hello, "<<fullName<<"!"<<std::endl;return0;}
以上示例展示了
<iostream>
库的基本用法和常见操作,帮助你在C++程序中进行输入输出处理。