fstream 几种打开文件的方式,方便以后用

fstream fout;
//(1)以输出的方式打开文件,若文件不存在建立文件,若文件存在将文件长度置为0
fout.open("D:/1.txt",ofstream::out|ofstream::trunc);//不能用||
if (!fout.is_open())
{
return;
}


//(2)以输出的方式打开文件,如果没有文件,那么生成空文件;如果有文件,那么清空该文件,写文件的时候是文件指针指向文件末尾
fout.open("D:/1.txt",ofstream::out|ofstream::ate);//不能用||
if (!fout.is_open())
{
return;
}


//(3)以输出方式打开文件,如果没有文件,那么生成空文件;如果有文件,那么在文件尾追加。写文件的时候是文件指针指向文件末尾
fout.open("D:/1.txt",ofstream::out|ofstream::app);//不能用||
if (!fout.is_open())
{
return;

}


//C语言版


FILE *pf=NULL;
pf=fopen("D:/1.txt","r+");  //r+ 打开读写文件,若文件不存在打开失败,若文件存在打开文件成功
if (pf==NULL)
{
//cout<}
if (pf==NULL)
{
pf=fopen(m_sFilePath.c_str(),"w+");//w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
//cout<<"重新创建文件"<if (pf==NULL)
{
return;
}
}

r 以只读方式打开文件,该文件必须存在。
    r+ 以可读写方式打开文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

你可能感兴趣的:(C++)