zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    BZOJ1057:[ZJOI2007]棋盘制作——题解
    洛谷4147:玉蟾宫——题解
    洛谷1578:[WC2002]奶牛浴场——题解
    BZOJ1926:[SDOI2010]粟粟的书架——题解
    BZOJ3123:[SDOI2013]森林——题解
    BZOJ1834:[ZJOI2010]网络扩容——题解
    BZOJ2668:[CQOI2012]交换棋子——题解
    BZOJ1070:[SCOI2007]修车——题解
    BZOJ1877:[SDOI2009]晨跑——题解
    在阿里,我们如何管理测试环境
  • 原文地址:https://www.cnblogs.com/zychen/p/7384766.html
Copyright © 2011-2022 走看看