C++标准IO

cin(标准输入),cout(标准输出),cerr(不带缓存的标准错误输出),clog(带缓存的标准错误输出)。

文件读写操作,分别为:ifstream(读文件),ofstream(写文件),fstream(读写文件)

字符串作为输入输出流进行处理,分别为:istringstream(字符串输入流),ostringstream(字符串输出流),stringstream(字符串输入输出流)。

每种流对应一个缓冲区类(filebuf,stringbuf)。

#include <iostream>
using namespace std;

int main(void){
    cout.put(A);
    cout << endl;
    /*向流中插入一个字符串*/
    char *str = "Hello World !";
    cout.write(str, strlen(str));
    cout << endl;
    cout.write(str + 6, strlen(str));
    cout << endl;
    /*向流中提取字符,
    getline()遇输入流中的停止符,并提取停止符,把‘\0’加至最后*/
    char str2[20];
    cout << "input str:";
    cin.getline(str2, sizeof(str2));
    cout << str2 << endl;
    /*get()遇输入流中的停止符,但不提取停止符*/
    char str1[5];
    cout << "input str:";
    cin.get(str1, sizeof(str1));
    cout << str1 << endl;
    return 0;
}

文件读写处理:

#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

void main(){
    /*将信息写入test.txt*/
    ofstream outfile("d:\\test.txt", ios::out); //以写方式打开文件
    if (!outfile)
    {
        cerr << "打开文件错误" << endl;           //标准错误输出
        abort();                               //终止进程,使所有的流被关闭和冲洗
    }
    else{
        outfile << "1.Hangzhou" << endl;  
        outfile << "\n" << endl;
        outfile << "2.Shanghai" << endl;
    }
    outfile.close();
    /*读test.txt信息*/
    char s[20];
    ifstream infile("d:\\test.txt", ios::in);  //以读方式打开文件
    if (!infile)
        cerr << "打开文件错误" << endl;          //标准错误输出
    else{
        infile.getline(s, 20);                 //提取一行字符
        cout << s << endl;
        while (!infile.eof())                  //文件不结束执行
        {
            infile.getline(s, 20);     
            cout << s << endl;
        }
    }
    infile.close();   
}

文件复制:

    ifstream infile("d:\\test.txt", ios::in);            
    if (!infile)
    {
        cerr << "文件test.txt打开错误" << endl;
        abort();                
    }
    ofstream outfile("d:\\test1.txt", ios::out);
    if (!outfile)
    {
        cerr << "文件test1.txt打开错误" << endl;
        abort();                
    }
    char ch;
    while (infile.get(ch))            //文件流中逐个读出字符,直到文件结束
        outfile.put(ch);
    infile.close();
    outfile.close();    

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。