感谢内容提供者:金牛区吴迪软件开发工作室
接上一篇:C++程序设计【六】之 多态与虚函数
第七章:输入/输出流
一、流类简介
二、标准流对象
#include<iostream>
using namespace std;
int main() {
int x, y;
cin >> x >> y;
freopen("test.txt", "w", stdout); // 将标准输出重定向到文件test.txt
if (y == 0) {
// 除数为0则输出错误信息
cerr << "error." << endl;
} else {
cout << x << "/" << y << "=" << x / y << endl;
}
return 0;
}
#include<iostream>
using namespace std;
int main() {
int x, count, sum = 0;
freopen("input.txt", "r", stdin); // 将标准输入重定向到文件input.txt
for (count = 0; count < 10; count++) {
// 从输入流中读入10个整数进行处理
cin >> x;
if (cin.eof()) {
// 到了文件的结尾的话
break; // 若输入流已经结束则退出
} else {
sum += x;
}
}
cout << "前10个整数的平均值= " << 1.0 * sum / 10 << endl;
return 0;
}
三、控制I / O格式
1.流操纵符
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
int n = 65535, m = 20;
// 1。分别输出一个整数的十进制、十六进制和八进制表示
cout << "1)" << n << "=" << hex << n << "=" << oct << n << endl;
// 2.使用setbase分别输出一个整数的十进制、十六进制和八进制表示
cout << "2)" << setbase(10) << m << "=" << setbase(16) << m << "=" << setbase(8) << m << endl;
// 3.使用showbase和setbase分别输出一个整数的十进制、十六进制和八进制表示
cout << "3)" << showbase; // 输出表示数值进制的前缀
cout << setbase(10) << m << "=" << setbase(16) << m << "=" << setbase(8) << m << endl;
return 0;
}
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
double x = 12.34;
cout << "1." << setiosflags(ios::scientific | ios::showpos) << x << endl;
cout << "2." << setiosflags(ios::fixed) << x << endl;
cout << "3." << resetiosflags(ios::fixed) << setiosflags(ios::scientific | ios::showpos) << x << endl;
cout << "4." << resetiosflags(ios::showpos) << x << endl; // 清楚要输出正号的标志
return 0;
}
2.标志字
四、调用cout的成员函数
#include<iostream>
using namespace std;
int main() {
double values[] = {
1.23, 20.3456, 300.4567, 4000.45678, 50000.1234567};
cout.fill('*'); // 设置填充字符为星号*
for (int i = 0; i < sizeof(values) / sizeof(double); i++) {
cout << "values[" << i << "]=(";
cout.width(10); // 设置输出宽度
cout << values[i] << ")" << endl;
}
cout.fill(' '); // 设置填充字符为空格
int j;
for (j = 0; j < sizeof(values) / sizeof(double); j++) {
cout << "values[" << j << "]=(";
cout.width(10); // 设置输出宽度
cout.precision(j + 3); // 设置保留有效数字
cout << values[j] << ")" << endl;
}
return 0;
}
#include<iostream>
using namespace std;
int main() {
char str[30] = "0123456789";
cout.write(str, 5); // 将str的前5个字节写入到输出流中
return 0;
}
五、调用cin的成员函数
1.get() 函数
2.getline()函数
#include<iostream>
using namespace std;
int main() {
char buf[10];
int i = 0;
// 若输入流的一行超过9个字符,则后面的会被抛弃且退出循环
while(cin.getline(buf, 10)) {
cout << ++i << ":" << buf << endl;
}
cout << "last:" << buf << endl;
return 0;
}
3.eof() 函数
4.ignore() 函数
#include<iostream>
using namespace std;
int main() {
char str[30];
while(!cin.eof()) {
cin.ignore(10, ':');
if (!cin.eof()) {
cin >> str;
cout << str << endl;
}
}
return 0;
}
5.peek() 函数
下一篇:C++程序设计【八】之 文件操作
转载:https://blog.csdn.net/weixin_43606158/article/details/114240364
查看评论