Hi,您好,欢迎来到西安盛图软件科技有限公司!

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)文件打开函数

ofstreamifstreamfstream都有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文件处理 删除文件和文件夹目录