C++输入输出通过iostream流机制实现,核心为cin、cout等流对象及操作符;支持字符串读取(getline)、格式控制(setw、setprecision)和文件流(ifstream/ofstream)。
在C++中,输入输出主要通过标准库中的 iostream 实现,核心是流(st
ream)机制——用 cin 读入、cout 输出,配合 和 >> 操作符,简洁又灵活。
C++预定义了几个常用流对象:
cin:标准输入流(通常对应键盘),使用 >> 提取数据cout:标准输出流(通常对应屏幕),使用 插入数据
cerr:标准错误流(不带缓冲,常用于报错信息)clog:标准日志流(带缓冲,适合记录)例如:
int x; double y;
cin >> x >> y; // 一次读两个,空格/换行分隔
cout << "x=" << x << ", y=" << y << endl;
cin >> 默认跳过开头空白,并在遇到空白(空格、制表、换行)时停止读取,不适合读整行含空格的字符串。
std::getline(cin, str)
>> 和 getline 后):cin.ignore() 或 cin.ignore(1000, '\n')
示例:
string name;
cin >> x;
cin.ignore(); // 跳过换行符
getline(cin, name); // 读取完整姓名(如 "Zhang San")
可以用 ios 相关函数或操纵符调整输出格式:
setw(n):设置下一次输出宽度(需 )setprecision(n):控制浮点数精度fixed / scientific:固定小数位或科学计数法if (cin >> x) { ... } 或 if (cin.fail()) { ... }
例如:cout
用 fstream 系列类可对文件操作:
ifstream:输入文件流(类似 cin)ofstream:输出文件流(类似 cout)fstream:同时读写示例:
ifstream fin("data.txt");
if (fin.is_open()) {
int a; fin >> a;
fin.close();
}
基本上就这些。C++流式I/O逻辑清晰、扩展性强,掌握好 cin/cout、getline、格式控制和错误检查,日常开发已足够扎实。