C++基本的输入输出
C++ 基本的输入输出
C++ 标准库提供了一组丰富的输入/输出功能,我们将在后续的章节进行介绍。本章将讨论 C++ 编程中最基本和最常见的 I/O 操作。
C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。
在C++中,有一些专门用来处理输入输出的头文件,它们让我们能够与用户交互,或处理文件。以下是最常用的输入输出头文件以及它们的用途:
头文件及作用
<iostream>
提供 标准输入输出功能,例如用cin从键盘输入数据,cout在屏幕输出数据。<iomanip>
提供 格式化输出功能,比如设置小数点精度、对齐输出等操作,常用函数有setw和setprecision。<fstream>
提供 文件读写功能,用于从文件中读取数据或向文件写入数据。
标准输出流(cout)
cout用来在屏幕输出内容,通常和<<(流插入运算符)一起使用。示例代码:
1
2
3
4
5
6
7
8
using namespace std;
int main() {
char str[] = "Hello C++";
cout << "输出内容是:" << str << endl;
return 0;
}运行结果:
1
输出内容是:Hello C++
特点:
<<操作符会根据变量类型自动选择适合的输出格式。endl用于换行,相当于\n,并且刷新输出缓冲区。
标准输入流(cin)
cin用来从键盘输入数据,通常和>>(流提取运算符)一起使用。示例代码:
1
2
3
4
5
6
7
8
9
10
using namespace std;
int main() {
char name[50];
cout << "请输入您的名称: ";
cin >> name;
cout << "您的名称是:" << name << endl;
return 0;
}运行过程:
1
2请输入您的名称: cplusplus
您的名称是: cplusplus特点:
>>会根据变量的类型读取输入数据。- 如果需要输入多个数据,可以像这样使用:
1
cin >> name >> age;
标准错误流(cerr)
cerr用来输出错误消息,特点是 不经过缓冲,直接输出,适合需要立即显示的错误信息。- 示例代码:运行结果:
1
2
3
4
5
6
7
8
using namespace std;
int main() {
char str[] = "Unable to read...";
cerr << "错误信息:" << str << endl;
return 0;
}1
错误信息:Unable to read...
标准日志流(clog)
clog用来输出日志信息,和cerr不同的是,它是缓冲的,日志信息会先存入缓冲区,等缓冲区满了或刷新时才会输出。- 示例代码:运行结果:
1
2
3
4
5
6
7
8
using namespace std;
int main() {
char str[] = "Unable to read...";
clog << "日志信息:" << str << endl;
return 0;
}1
日志信息:Unable to read...
小总结
cout: 用于正常输出,比如结果或普通信息。cin: 用于从键盘输入数据。cerr: 用于立即输出错误信息,适合显示错误日志。clog: 用于输出普通日志信息,会经过缓冲区,适合较少实时性的消息。
尽管在小程序中 cout、cerr 和 clog 的区别不明显,但在复杂系统中,合理区分这些流有助于调试和维护代码。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matou🚢!
评论








