C++(十三):文件 *** 作

C++(十三):文件 *** 作,第1张

文件 *** 作

文件 *** 作的话得先包含头文件。

*** 作文件的三个流:

ofstream:写 *** 作ifstream:读 *** 作fstream:读写 *** 作 1. 文本文件 1.1 写文件

步骤如下:

包含头文件创建流对象 ofstream ofs;打开文件 ofs.open(“文件路径”,打开方式);写数据 ofs << “data”;关闭文件 ofs.close();

文件打开方式:

打开方式解释
ios::in为了读文件而打开文件
ios::out为了写文件而打开文件
ios::ate定位在文件尾
ios::app追加的方式写文件
ios::trunc如果文件存在先删除再创建
ios::binary二进制方式

打开方式可以配合使用的。

ios::binary | ios::out//以二进制方式写文件
1.2 读文件
//创建文件流对象
ifstream file(Filename.ios::in);
//判断文件是否打开,一般是判断文件是否存在的一个步骤
if(!file.is_open())
{
	class="superseo">cout << "未找到文件!" << endl;
	return;
}
//读取文件内容
string buf;
while(file >> buf)
{
	cout << buf << endl;
}

//关闭文件
file.close();

关于读文件内容这一块,它按照什么方式读,是与我们一开始定义的数据类型有关的。

比如说,在这里变量 buf 的数据类型是 string ,因此它会在读到出现空格、换行、缩进等标志位的时候停止。

如果换成C风格字符串 char[] 的话,就有可能会出现乱码,因为char是一个字节一个字节读取的,我们需要根据编码的不同去设计C风格字符串的容量。

想要读取一行的内容还有getline函数可以使用:

string buf;
while(getline(file,buf))
{
	cout << buf << endl;//在这里buf就是文件内一行的内容
}
2.二进制文件

待续

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/996762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存