c++中文件操作

#include

打开文件:open(“D:\\test.txt”,mode);

mode

ios::in,读文件

ios::out,写文件,重写,没有,就新建

ios::app,写文件,添加到后面

关闭文件:close();

例如:

fstream fin,fout;

fin.open("D:\\test.txt",ios::in); //读

fout.open("D:\\test.txt",ios::out); //写

fin.close();

fout.close();

判断是否打开成功:is_open();

fin.is_open()     fout.is_open();

判断是否是文件结尾:  eof();  //结尾返回true,否则返回false

fin.eof()  

注意:c++中读完文件之后,无论是否成功都会在读取最后一个数据,其实最后一个数据是读取失败的,所有需要判断一下读取是否成功,失败则退出,如果不加这个判断,就会多读出一个数据

if(!fin){  //按字符读取的时候

break;

}

读取文件的方式:

1,按行读取

getline(fin,str);

2,按单词读取

fin>>str;

3,按字符读取

fin.get(ch);

写文件的方式:

fout<<"adf";

例子:

#include

#include

#include

using namespace std;

int main()

{

    char ch;

    string s2;

    string s1("This is a line");

    fstream fout; //写入文件

    fout.open("D:\\test1.txt",ios::out);

    if(fout.is_open()){

        fout<

        fout<<"This is another line";

    }

    fout.close();

    fstream fin; //读取文件

    fin.open("D:\\test1.txt",ios::in);

    if(fin.is_open()){  //判断是否打开成功

        while(!fin.eof()){  //判断是否读到文件结尾

            //按行读取

            //getline(fin,s2);

            //按单词读取

            //fin>>s2;

            //cout<

            //按字符读取

            fin.get(ch);

            if(!fin){

                break;

            }

            cout<

        }

    }

    return 0;

}

你可能感兴趣的:(c++中文件操作)