C++语言基础——文件

本文详细介绍了C++中‘iostream’库用于文件读写和格式控制的方法,包括流的分类如文本流和二进制流,以及如何使用‘flags()’、‘width()’、‘setf()’等函数进行进制转换、对齐方式、宽度和填充的设定。同时,讨论了整数和浮点数的输出格式,如科学记数法和定点数,并展示了布尔类型的输出和字符串与数字之间的转换。最后,提到了文件的打开、读写和关闭操作,以及文件指针的使用。
摘要由CSDN通过智能技术生成

目录

对齐方式

‘stream’流文件读写


文件操作

  • 流系体系
  • 流:数据从一个对象到另一个对象的传输。
  • 功能:标准输入输出+文件处理
    分类 含义
    文本流 一串ASCII子符
    二进制流 一串二进制
  • ‘ios’是抽象类
  • ‘ostream’是‘cout’、‘clog’、‘cerr’的类
  • ‘istream’是‘cin’的类
    全局流变量 名称 缓存
    ‘cout’ 标准输出流 带缓存
    ‘cin’ 标准输入流 带缓存
    ‘clog’标准日志流 带缓存
    ‘cerr’ 标准错误流 无缓存
  • 输出流默认设置 
    类型 进制 宽度 对齐 填充 精度
    整数 十进制 0 右对齐 空格 1
    实数 十进制 0 右对齐 空格 6位数
    字符串 - 0 右对齐 空格 字符串实际长度
  • 格式控制

    • 格式控制成员函数

      流对象.格式控制成员函数(实参)
      • 1
    • 预定义格式控制函数

      预定义格式控制函数(实参)
      • 1
  • 流的输出控制格式

进制 ‘flags()’、‘setf()’、‘unsetf()’ ‘setiosflags()’ ‘dec’、‘oct’、‘hex’、‘showbase’ 能继续使用
宽度 ‘width(n)’ ‘setw(n)’ - 不能连续
对齐 ‘flags()’、‘setf()’、‘unsetf’ ‘setiosflags()’ ‘right’、‘left’、‘internal’ 能连续使用
填充 ‘fill(c)’ ‘setfill(c)’ - 能连续使用
  • 流的输出控制格式:‘dec’、‘oct’、‘hex’
  • 数据输入成员函数
    1. 子符输入成员函数:‘get()’
    2. 子符串输入成员函数:‘getline()’
  • 数据输出成员函数:‘put() ’

    对齐方式

    flag manipulator 作用
    ‘ios::left’ ‘left’ 居左
    ‘ios::right’ ‘right’ 居右
    ‘ios::internal’ ‘internal’ 输出符号或进制后填充
#include <iostream>
using namespace std;

int main(){
    int n = -11;
    cout.width(6);
    cout.flags(ios::right);
    cout << n << endl;

    cout.width(6);
    cout.flags(ios::left);
    cout << n << endl;

    cout.width(6);
    cout.flags(ios::internal);
    cout << n << endl;
}
#include <iostream>
#include <iomanip>
using namespace std;

int main(){
    int n = -11;
    cout << setw(6) << right << n << endl;
    cout << setw(6) << left << n << endl;
    cout << setw(6) << internal << n << endl;
}
#include <iostream>
using namespace std;
int main(){
int n = -11;
    cout.width(6); cout << left << n << endl;
    cout.width(6); cout << right << n << endl;
    cout.width(6); cout << internal << n << endl;
}

整数输出格式

flag manipulator 作用 是否默认
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值