C++ File文件处理 相关函数方法
发布时间:2023-12-07 13:35:01
在C++程序开发中,也会遇到很多文件上传,文件写入等对于文件的操作业务需要开发,文件处理也是任何应用程序的重要组成部分。C++有几种创建,读取,更新和删除文件的方法。本文主要介绍C++ File文件操作常用的函数方法。
1、常用的文件打开方式(打开模式标记)
模式标记 | 适用对象 | 作用 |
ios::in | ifstream fstream | 打开文件用于读取数据。如果 文件不存在,则打开出错。 |
ios::out | ofstream fstream | 打开文件用于写入数据。如果 文件不存在,则新建该 文件;如果文件原来就存在,则 打开时清除原来的内容。 |
ios::app | ofstream fstream | 打开文件,用于在其尾部添加数据。 如果文件不存在,则新建该文件。 |
ios::ate | ifstream | 打开一个已有的文件 ,并将文件读指针指向 文件末尾(读写指 的概念后面解释)。 如果文件不存在,则打开出错。 |
ios:: trunc | ofstream | 打开文件时会清空内部存储的所有数据, 单独使用时与 ios::out 相同。 |
ios::binary | ifstream ofstream fstream | 以二进制方式 打开文件。若不指定此模式, 则以文本模式打开。 |
ios::in | ios::out | fstream | 打开已存在的文件 ,既可读取其内容,也可向其写入数据。 文件刚打开时,原有内容保持不变。 如果文件不存在,则打开出错。 |
ios::in | ios::out | ofstream | 打开已存在的文件 ,可以向其写入数据。文件 刚打开时,原有内容保持不变。如果 文件不存在,则打开出错。 |
ios::in | ios::out | ios::trunc | fstream | 打开文件,既可读取其内容, 也可向其写入数据。如果 文件本来就存在,则打开 时清除原来的内容;如果 文件不存在,则新建该文件。 |
注意:可以用“或”把以上属性连接起来,如,ios::out|ios::binary
。文件的打开模式标记代表了文件的使用方式,这些标记可以单独使用,也可以组合使用。
2、C++ 文件支持文件的输入输出的类
1)ofstream:写操作,输出文件类。
2)ifstream:读操作,输入文件类
3)fstream:可同时读写的文件类。
3、文件打开与关闭相关函数方法
1)文件打开函数
ofstream
、ifstream
、fstream
都有open
成员函数:
void open(const char* szFileName, int mode)
szFileName
参数是指向文件名的指针,mode
参数是文件的打开模式标记。
例如,
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile;
inFile.open("c:\\tmp\\test.txt", ios::in);
if (inFile) //true说明文件打开成功
inFile.close();
else
cout << "test.txt doesn't exist" << endl;
ofstream oFile;
oFile.open("test1.txt", ios::out);
if (!oFile) //true说明文件打开出错
cout << "error 1" << endl;
else
oFile.close();
oFile.open("tmp\\test2.txt", ios::out | ios::in);
if (oFile) //true说明文件打开成功
oFile.close();
else
cout << "error 2" << endl;
fstream ioFile;
ioFile.open("..\\test3.txt", ios::out | ios::in | ios::trunc);
if (!ioFile)
cout << "error 3" << endl;
else
ioFile.close();
return 0;
}
2)文件关闭函数
调用 open()
方法打开文件,是文件流对象和文件之间建立关联的过程。调用 close()
方法关闭已打开的文件,该文件流并会被销毁,其后续还可用于关联其它的文件。
语法:
void close( )
例如,
#include <fstream>
using namespace std;
int main()
{
const char *url="www.cjavapy.com";
ofstream outFile("site.txt", ios::out);
//向 url.txt 文件中写入字符串
outFile.write(url, 30);
//关闭已打开的文件
outFile.close();
return 0;
}
- 上一篇:C++ 预处理命令
- 下一篇:C++ File文件处理 删除文件和文件夹目录