파일을 사용하여 데이터베이스를 만들었습니다. 파일에 레코드가 이미있는 경우 파일에 레코드를 삽입하면 결국 중복됩니다. 그러나 저는 그것을 피하고 싶습니다. 레코드 복제 방지 (예 : 레코드가 파일에 이미 있는지 확인하는 방법 및 사용자가 파일에 다시 입력 한 동일한 데이터를 중지하는 방법)를 설계하려면 어떻게해야합니까?C 언어로 파일 작업을 사용하여 데이터베이스 만들기
/* vehicle record program */
#include <stdio.h>
#include <string.h>
typedef struct vehicle
{
char name[100];
int lice_no;
int vehicle_type;
char cmpny_name[100];
int menu_year;
}record;
int main(void)
{
int i , choice;
FILE *fp1,*fp2;
char oname[100];
record det;
int recsize;
char c;
fp1 = fopen("record.dat" , "r+");
if(fp1 == NULL)
{
fp1 = fopen("record.dat" , "w+");
if(fp1 == NULL)
{
printf("error in opening file : \n");
return -1;
}
}
recsize = sizeof(det);
fseek(fp1 , 0 ,SEEK_END);
printf("Enter owner Name : ");
scanf("%[^\n]" , det.name);
printf("Enter licence number : ");
scanf("%d" , &det.lice_no);
printf("Enter the vehicle type : ");
scanf("%d" , &det.vehicle_type);
scanf("%c" , &c);
printf("Enter company name : ");
scanf("%[^\n]" , det.cmpny_name);
printf("Enter menufecture year : ");
scanf("%d" , &det.menu_year);
fwrite(&det,recsize,1,fp1);
}
실제로 입력 한 내 기록이 파일에 있는지 확인하고 싶습니다. –
간단한 예를 만들 수 있습니까? 그것은 너무 많은 코드입니다. 더 정확한 질문을하면 좋을 것입니다. 그것은 분명하지 않습니다. – betabandido
'main()'에 모든 것을 넣는 대신에 몇 가지 함수를 만들 수도 있습니다. – betabandido