文件IO读写操作

我们打开文件就要对文件进行读写 下面会列出一些C++文件读写的函数
写操作对应的有:<<、put、write 等,我们来看下他们分别都能实现什么样的写文件功能! 文件的写操作 <<可以写入文本文件 支持的类型:https://cplusplus.com/reference/ostream/ostream/operator%3C%3C/ put可以单字符写入文本文件 write我们要写入的不一定是文本文件 也可能是二进制文件所以我们就不能用文本写入应该会write函数 它支持文本和二进制文本 参数1是要写入的地址 参数2是要写入的长度 文件的读操作 读文本类型/ASCII码类型的文件:>>、get、getline
>>可以读入文本文件 >>支持的类型详见:http://www.cplusplus.com/referen … eam/operator%3E%3E/

写文件

文本写文件

>> put(单字符写入) 进行写文本文件的操作,具体操作看代码演示

二进制写文件

write 可以向指定地址写入固定字节的数据 可以是二进制 也可以是文本文件

读文件

文本类读文件

可以用getline get >>进行读文本文件的操作,具体操作看代码演示

二进制文本类读文件

具体 read 函数的定义见:http://www.cplusplus.com/reference/istream/istream/read/
也就是说他从指定的文件中读取数据,读取的数据可以是文本类型的也可以是二进制类型的,其实read也不管你想要读取什么东西,我只管读就是了,把读取到的内容放在第一个参数指针指向的内存中,具体读取的字节数就是靠第二个参数指定。
代码演示:

#include <fstream>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
	ofstream fs("hello.txt");
	ifstream is("hello.txt");
	int data = 12345;
	if (is.is_open()||fs.is_open())
	{
		cout << "file open success" << endl;
	}
	//写文件
	fs << 200<<endl;
	fs << 1.25 << endl;
	fs << "hello" << endl;
	//fs.write((const char*)&data, sizeof(data));
	char sz[] = "cvpotato博客";
	fs.write(sz, sizeof(sz));
	fs.close();
	//读文件
	/*int temp = 0;
	is >> temp;
	float  tempf = 0.0;
	is >> tempf;
	char tempsz[100] = { 0 };
	is >> tempsz;
	char tempbg[100] = { 0 };
	is >> tempbg;
	char c = is.get();*/
	char tempsz[100] = {0};
	is.getline(tempsz, 100);
	cout << tempsz << endl;

	memset(tempsz, 0, 100);
	is.getline(tempsz, 100);
	cout << tempsz << endl;

	memset(tempsz, 0, 100);
	is.getline(tempsz, 100);
	cout << tempsz << endl;

	memset(tempsz, 0, 100);
	is.getline(tempsz, 100);
	cout << tempsz << endl;
	is.close();
}

网站标题:CV鼻祖洋芋

原创文章,作者:locus,如若转载,请注明出处:https://blog.cvpotato.cn/forward-code/c/235/

本博客所发布的内容,部分为原创文章,转载注明来源,网络转载文章如有侵权请联系站长!

(0)
上一篇 6天前
下一篇 6天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注