C++使用流进行输入输出

首先应用

#include <iostream>
#include <iomanip>

1.进制读写

int val=10;//十进制数
cout<<"输出8进制"<<oct<<val<<endl;
cout<<"输出16进制"<<hex<<val<<endl;
cout<<"输出10进制"<<dec<<val<<endl;

2.精度

double pi=3.141592658;
cout<<setprecision(4);//设置小数精确度,影响以下所有输出
cout<<pi<<endl;
//out:3.142
cout<<fixed<<pi<<endl;//流的定点表示法
//out:3.1416
cout<<scientific<<pi;//流的科学表示法
//out:3.1416e+000

3.对齐文本和设置字符宽度

cout<<"abcde"<<endl;
cout<<setw(10);//设置字段宽度
cout<<"abcde"<<endl;
cout<<setw(10)<<setfill('*');//指定填充字符
cout<<"abcde"<<endl;
cout<<"abcde"<<endl;

//
out:
abcde
     abcde
*****abcde
abcde

4.字符串读写
(1)使用std::cin::get将输入读取到char数组

char list[10]={0};
cin.get(list,3);
cout<<list<<endl;
///
input:i am a boy
out:i a

(2)使用std::cin将输入读取到std::string中

string list;
cin>>list;//cin遇到空白后停止插入
cout<<list;
getline(cin,list);//确保不跳过空白字符
cout<<list;
///
input:abcde f
out:abcde
input:abcde f
out:abcde f

5.文件读写

#include <fstream>
//开关
fstream myfile;
myfile.open("E:/file.txt",ios_base::in|ios_base::out|ios_base::trunc);//in:可读文件,out:可写入文件,trunc:即使文件存在也重新创建
myfile.close();

//写入
ofstream mywfile;
mywfile.open("E:/file.txt",ios_base::out);//新建文本
if(mywfile.is_open()){
mywfile<<"hello";//写入
mywfile.close();
}

//读取
ifstream myrfile;
myrfile.open("E:/file.txt",ios_base::in);//读取文本
string filecontents;
if(myrfile.is_open()){
    while(myrfile.good()){//判定读文件循环的结束
        getline(myrfile,filecontents);
        cout<<filecontents<<endl;
    }
myrfile.close();
}

//读写二进制(有问题,待完善,请读者跳过不要看)
ofstream mywfile;
mywfile.open("E:/file.bin",ios_base::out|ios_base::binary);//新建文本
if(mywfile.is_open()){
mywfile.write(*input,sizeof(input);//写入
mywfile.read();
mywfile.close();
}

6.使用std::stringstream在整型和字符串间转换

#include<sstream>

int input=10;
//整型转为字符串
stringstream sss;
sss<<input;//将整型值给了stringstream
string strinput;
sss>>strinput;//将stringstream的值给了字符串
//字符串转为整型
stringstream iii;
iii<<strinput;//将字符串值给了stringstream
int copy=0;
iii>>copy;将stringstream的值给了整型

cout<<strinput<<":"<<copy;
///out:10:10
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiFool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值