前言
在 C++ 中,输入输出(I/O)是最基础的交互方式。无论是简单的字符读取还是复杂的数据格式化,掌握标准库提供的工具对于编写高效、规范的代码至关重要。本文将重点讲解字符级 I/O、流对象 cin/cout 的使用细节,以及利用 iomanip 进行格式控制的技巧。
一、getchar 和 putchar
这两个函数源自 C 语言标准库,但在 C++ 中依然常用,特别是在需要精细控制字符输入时。
1. getchar()(读取)
功能 返回用户从键盘输入的一个字符。调用时不带参数,程序会暂停等待输入。它等同于使用 cin 或 scanf 读取一个字符,但更底层。
头文件
需包含 <cstdio>。
返回值 成功时返回读取字符的 ASCII 码值(int 类型)。如果读取失败(例如遇到文件结束符),返回常量 EOF(通常为 -1)。因此接收变量应定义为 int 而非 char。
注意 getchar() 不会忽略开头的空白字符(如空格、换行),总是返回当前读取的第一个字符。
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int ch;
ch = getchar();
// 读取成功返回的是 ASCII 值,输出时需转换为 char
cout << (char)ch << endl;
return 0;
}
2. putchar()(输出)
功能 接收一个整数参数,将其作为 ASCII 码输出对应的字符。如果传入的是字符变量,则直接输出该字符。
头文件
同样需要 <cstdio>。
返回值 操作成功时返回输出的字符,否则返回 EOF。
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
char c = 'b';
putchar();
(c);
();
;
}


