0
点赞
收藏
分享

微信扫一扫

【第10节 C++IO流】

Just_Esme 2022-04-15 阅读 70
c++
  • 流:若干字节数据从一端到另一端我们叫做流

流类体系

  • ​ 流对象
  • ​ 流运算符 >> <<

输入输出流

  • ​ ostream类
    cout
    cerr
    clog
    ciin
    字符类的处理

​ 正常的操作

​ 调用成员函数的方式

格式控制字符

  • 包含头文件iomanip

  • 常用的格式控制,一种是调用成员函数方式,一种是流控制字符去做

    设置有效位数:setpreecision(n)

    设置精度:fixed结合setprecision使用

istream 类 cin

#include <iostream>
#include <cstdio>
#include<iomanip>
using namespace std;
void testostream()//output
{
	cout << "标准输出" << endl;//重定向
	cerr << "标准错误输出" << endl;//不能重定向
	clog << "标准错误输出" << endl;//重定向为文件

	//字符类的处理
	cout.put('a');
	cout << 'a' << endl; 
	char c = 'C';
	cout.put(c);
	cout << c << endl;
	cout.write("Iloveyou", 4);//指定长度,超过长度不做输出
	//输入
	cout.put(cin.get());
	//字符串
	while (cin.get() != '\n');
	char str[20] = "";
	cin.getline(str, 20);
	cout.write(str, 20);

	


}
void testiomanip()
{
	//格式控制
	//设置格式
	double pi = 34.12343;
	cout << "设置有效位数是:" << setprecision(4) <<pi<< endl;
	cout <<"有效小数位:"<< fixed << setprecision(4) << pi << endl;
	//cout.precision(4);所有的流控制符都会对应一个成员函数的 方式
	//进制输出
	cout << hex << 32 << endl;//十六进制
	cout << oct << 15 << endl;//8进制
	cout << setbase(16) << 15 << endl;//8-16-
	//默认右对齐
	//cout.sync_with(8);
	cout << setiosflags(ios::left);//ios::right
	cout << setw(8) << "123" << setw(8) << "1234" << setw(8) << "3444" << endl;
	cout << setw(8) << "123" << setw(8) << "1234" << setw(8) << "3444" << endl;

}


int main()
{
	//testostream();
	//freopen("1.txt","r",stdin);
	//int a, b;
	//scanf("%d%d", &a, &b);//输入由文件完成
	1 2 回车
	//freopen("2.txt", "w", stdout);
	//printf("%d",a+b);
	testiomanip();

	return 0;
}

字符流

文件流

举报

相关推荐

0 条评论