C语言文件操作,增删改查

C语言版文件操作,对文件里的数据进行增删改查后写回到文件。
功能有:
列出文件内容
创建文件
添加记录
更新记录
删除文件
删除指定记录

#include <iostream>
#define maxlen 50
const char* filename = "new.bin";

//学生结构体
typedef struct Record {
   
	char name[maxlen]; //姓名
	int age; //年龄
}record;

Record* get_person(Record* precord);
void get_name(char* pname, size_t size);
void write_record(const Record* precord, FILE* pfile);
Record* read_record(Record* Record, FILE* pfile);
void write_file(const char* mode);
void list_file(void);
void update_file(void);
int find_record(Record* Record, FILE* pfile);
void duplicate_file(const Record* pnewrecord, int index, FILE* pfile);
void deleteName(void);


int main()
{
   
	char answer = 'q';

	while (true) {
   

		printf_s("\n选择操作:\n"
			"列出文件内容,输入 L\n"
			"创建文件,输入 C\n"
			"添加记录,输入 A\n"
			"更新记录,输入 U\n"
			"删除文件,输入 D\n"
			"删除指定记录,输入 J\n"
			"退出程序,输入 Q\n");
		scanf_s(" %c", &answer, sizeof(answer));

		switch (toupper(answer)) {
    //转成大写
		case'L':
			list_file(); //查询数据
			break;
		case 'C':
			(void)getchar();
			write_file("wb+"); //创建文件
			printf("\n文件创建完成!!\n");
			break;
		case 'Q':
			printf("程序结束!");
			exit(0);
		case 'A':
			(void)getchar();
			write_file("ab+"); //添加数据
			printf("\n数据写入成功\n");
			break;
		case 'U': 
			(void)getchar();
			update_file(); //更新数据
			break;
		case 'D':
			printf("确定要删除文件:%s  y/n :",filename);
			scanf_s("\n %c", &answer, sizeof(answer));
			if (tolower(answer) == 'y') {
   
				remove(filename);
				printf("\n文件删除成功!!\n");
			}
			break;
		case 'J':
			(void)getchar();
			deleteName(); //删除文件中指定记录
			break;
		default:
			printf("\n无效选择项\n");
			break;
  • 16
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值