【c语言】文件的读写

文件读写使用二进制读写比较方便,分别使用fread和fwrite函数进行。

一、函数定义

【c语言】文件的读写_第1张图片

以二进制形式读取文件,从stream流中读取内容,读到ptr指向的空间中,读取size大小的count个内存单元。

返回值为读取到的字符个数。


【c语言】文件的读写_第2张图片 以二进制形式读取文件,从stream流开始,,从ptr指向的空间开始,写入size大小的count个内存单元。

二、代码示例

// 读文件
void ReadContact(Contact* pc)
{
	FILE* pf = fopen("Contact.dat", "rb");
	if (pf == NULL)
	{
		perror("ReadContact::fopen:");
		return -1;
	}

	PeoInfo tmp = { 0 };
	while (fread(&tmp, sizeof(PeoInfo), 1, pf))
	{
		AddContact(pc, tmp.name, tmp.tel, tmp.sex);
	}

	fclose(pf);
}
// 保存到文件
void SaveContact(Contact* pc)
{
	FILE* pf = fopen("Contact.dat", "wb");

	if (pf == NULL)
	{
		perror("SaveContact::fopen:");
		return -1;
	}
	for (int i = 0; i < pc->length; i++)
	{
		fwrite(pc->arr+i, sizeof(PeoInfo), 1, pf);
	}

	fclose(pf);
}

你可能感兴趣的:(c语言,开发语言)