温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中怎么利用std::fstream处理文件

发布时间:2021-08-05 17:48:28 来源:亿速云 阅读:396 作者:Leah 栏目:大数据

这篇文章将为大家详细讲解有关C++中怎么利用std::fstream处理文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1.使用open()和close()打开和关闭文件

(1)要使用fstream类,需要使用open()打开文件

fstream myFile; //实例化一个文件对象myFile.open("firstFile.txt", ios_base::in | ios_base::out | ios_base::trunc); //打开文件firstFile.txt,可选择三种模式if(mfFile.is_open()) //检测open()是否成功{
   
   
   Dosomething();   //读或写操作
	myFile.close();  //关闭文件流以保存其内容,这一步不能忘}

open(“文件名的路径和名称”, ios_base::in | ios_base::out | ios_base::trunc)
第一个参数:是要打开文件的路径和名称(若没有提供路径,默认为应用程序的当前目录)
第二个参数:是文件的打开模式。ios_base::in(可读取文件)、ios_base::out(可写入文件)、ios_base::trunc(即便指定的文件存在,也重新创建它)
(2)除了使用open()打开文件,还可以使用fstream类的构造函数打开文件

//使用构造函数打开文件fstream myFile("firstFile.txt", ios_base::in | ios_base::out | ios_base::trunc); //如果只想打开文件进行写入ofstream myFile("firstFile.txt", ios_base::out);//如果只想打开文件进行读取ifstream myFile("firstFile.txt", ios_base::in);

注意:无论是使用成员方法open()还是构造函数来打开文件流,都建议在使用文件流对象前,使用is_open()检查文件打开操作是否成功。

2.使用open()创建文本文件并使用运算符<<写入文件

下面将演示使用ofstream新建一个文本文件并向其中写入文本:

#include <fstream>#include <iostream>using namespace std;int main(){
   
   
   
	ofstream myFile;
	myFile.open("firstFile.txt", ios_base::out); //以只写模式打开文件if(myFile.is_open()){
   
   
   
		cout<<"File open successful"<<endl;//使用运算符<<写入文件
		myFile<<"Hello File!"<<endl;
		myFile<<"Writing in file";
		myFile.close(); //关闭文件以保存其内容}return 0;}

注:程序表明写入文件的方式与使用cout写入到标准输出的方式相同,都采用运算符<<。

3.使用open()和运算符>>读取文本文件

要读取文件,使用fstream或者ifstream,并使用标志ios_base::in打开它。下面将演示如何从已有的文件firstFile中读取文本:

#include <fstream>#include <iostream>#include <string>using namespace std;int main(){
   
   
   
	ifstream myFile;
	myFile.open("firstFile", ios_base::in);if(myFile.is_open()){
   
   
   
		cout<<"文件打开成功!文件中包含以下内容:"<<endl;
		string fileContents;while(myFile.good())  //判断当前流的状态是否正常。即当读到文件末尾时,自动跳出循环。{
   
   
   getline(myFile, fileContents);  //每次从文件中读取一行
			cout<<fileContents<<endl;}
		myFile.close();}else
		cout<<"打开文件失败,检查文件是否在正确的目录下!"<<endl;return 0;}

关于C++中怎么利用std::fstream处理文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI