Zychen

导航

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

posted on 2016-02-12 10:48  Zychen  阅读(201)  评论(0编辑  收藏  举报