admin管理员组文章数量:1660065
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;
版权声明:本文标题:C语言文件操作,增删改查 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729844212a1214941.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论