千家信息网

C++语言中io流如何处理

发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,这篇文章主要介绍了C++语言中io流如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、输入输出流对象cout:标准输出流cer
千家信息网最后更新 2025年02月20日C++语言中io流如何处理

这篇文章主要介绍了C++语言中io流如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    一、输入输出流对象

    cout:标准输出流

    cerr:标准出凑 和cout(只是用于如果是错误时要输出的)

    cin : 标准输入

    流对象常用的处理函数

    输出字符 put()

    输入字符:get()

    输出字符串:write()

    输入字符串getline()

    char ch;        cin.get(ch);        cout << ch<

    流控制字符

    //就是以你制定的要求去输出

    要加上头文件#incude

    boolalpha: bool类型输出true或者false

    setbase(n):设置整数为n的进制进行输出 n只能为8 16 10

    int num = 10;        cout << setbase(8) << num << endl;        cout << setbase(10) << num << endl;        cout << setbase(16) << num << endl;

    setfill('一个字符') : 设置填充字符

    setw(n):设置输出的宽度

    int num = 10;cout<< setfill('s')<

    setprecision :设值有效位数包括整数

     double num = 3.14159;        cout << setprecision(4) << num << endl;        cout << setprecision(4) << num * 10 << endl;

    前面一个是3.141后面一个是31.41

    setiosflags(ios::left)//对齐方式左对齐setiosflagsios(ios:right)右对齐

    二、字符流操作

    头文件 #include

    字符流一般使用stringstream的对象

    sstream

    包括 isringstream ostingstream stringstream

    一般用stringstream(可读可写)

    stringstream的成员函数

    string.str()//获取字符流对象中的字符串

    string.str(const string&str)//改变字符流中的字符串

    stringstream s("sdflk");        cout << s.str() << endl;        s.str("ljsflk");        s.str(string("sdljf"));        //二种都可以 一个是构建一个string的无名对象传字符串        cout << s.str() << endl;

    字符流的一些基本操作

    将数字转换为字符串int num =1234;cout<> str;//stream流出到str这个字符串中cout << str << endl;

    同时使用一个流对象多次转换的时候 必须使用clear清除同时也要二次流入在流出

    不然是空流

    stringstream stream;        stream << num;//将num流入stream这个类中        stream >> str;//stream流出到str这个字符串中        cout << str << endl;        string str2;    //如果没有clear函数就没有把num流入到num2        stream.clear();        stream << num;        stream >> str2;        cout << str2 << endl;

    三. 文件流流类

    头文件 #include//ifstream 和ofstream

    ofstream:打开文件,写文件

    ifstream:打开文件,读操作

    fstream:可读可写

    mode:

    ios::in 读的方式打开文件

    ios::out 写的方式打开文件

    ios::app追加的方式写文件

    ios::ate 在已有的文件,文件指针指向文件末尾

    ios::trunc文件不存在,创建文件

    ios::binary二进制形式打开文件,默认方式是ascii码方式打开

    ios::nocreat不创建的方式

    ios::noreplace 不替换

    组合方式使用

    用的是位或

    ios::in|ios::out 可读写

    ios::out|ios::binary二进制写的方式打开文件

    判断文件是不是打开成功(防御性操作)

    is_open()判断打开是否成功

    !文件对象 判断打开文件是否成功

          fstream File;        File.open("1.tex", ios::in | ios::out | ios::trunc);        if (!File.is_open())        {                cout << "创建文件失败" << endl;        }        if (!File)        {                cout << "创建文件失败" << endl;        }

    文件的读写操作

    fstream Read("1.txt",ios::in);//读的方式打开文件///要有这个文件fstream Write("2.txt",ios::out|ios::trunc);//写的方式打开文件//没有这个文件就创建一个        while (1)        {                char ch;                Read.get(ch);                if (Read.eof())                {                        break;                }                Write.put(ch);        }        Read.close();        Write.close();

    四.文件指针定位

    ifstream://读

    istream&seekg(longt int pos);

    istream&seekg(long int pos,ios_base::seekdir begin)

    ofstream://写

    ostream&seekp(long int pos):

    ostream&seekp(long int pos,ios_base::seekdir begin);

    //ios_base::seekdir//位置

    ios::beg 文件开始

    ios::cur 文件当前

    ios::end 结束位置

    fstream read("1.txt", ios::in);        read.seekg(5);//移动5个字节后        char ch = read.get();//读取5个位置后的第一个        cout << ch << endl;

    空格也算

    文件的一些指向操作

        fstream read("1.txt", ios::in);        read.seekg(5);//移动5个字节后        char ch = read.get();//读取5个位置后的第一个        cout << ch << endl;        read.seekg(0, ios::beg);        ch = read.get();        cout << ch << endl;        read.seekg(-5, ios::end);//最后位置前面5个        ch = read.get();        cout << ch << endl;

    感谢你能够认真阅读完这篇文章,希望小编分享的"C++语言中io流如何处理"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

    0