C언어 파일 내용 삭제 와 수정
#include
#include
void Infoadd(); // 사용자 추가
void Infofind(); // 사용자 검색
void Infodel(); // 사용자 삭제
void Infocha(); // 사용자 변경
int main()
{
int sel;
printf("1. 추가 2. 검색 3. 삭제 4. 변경 : ");
scanf("%d", &sel);
switch(sel)
{
case 1:
Infoadd();
break;
case 2:
Infofind();
break;
case 3:
Infodel();
break;
case 4:
Infocha();
}
return 0;
}
void Infoadd()
{
int age;
int birth;
char name[20];
FILE *fp=fopen("bio.txt", "a+");
printf("이름:");
scanf("%s",name);
printf("나이:");
scanf("%d", &age);
printf("생년월일:");
scanf("%d", &birth);
getchar();
fprintf(fp,"%s %d %d", name, age, birth);
fputc('\n',fp);
}
void Infofind()
{
int age;
int birth;
char findname[20];
char comparename[20];
FILE *fp=fopen("bio.txt", "r+");
printf("이름 검색:");
scanf("%s", findname);
while(1)
{
fscanf(fp,"%s %d %d", comparename, &age, &birth);
if(feof(fp))
break;
if(!strcmp(comparename,findname))
{
printf("이름:%s\n", comparename);
printf("나이:%d\n", age);
printf("생년월일:%d\n", birth);
break;
}
}
}
void Infodel()
{
int age;
int birth;
char delname[20];
char comparename[20];
FILE *fp=fopen("bio.txt", "a+");
printf("삭제하고 싶은 이름:");
scanf("%s", delname);
while(1)
{
fscanf(fp,"%s %d %d", comparename, &age, &birth);
if(feof(fp))
break;
if(!strcmp(comparename,delname))
{
fputs(" ", fp);
}
}
printf("삭제가 완료되었습니다.");
}
void Infocha()
{
}
이런 코드인데
삭제 함수가 작동되지 않습니다.ㅠㅠ
그리고 저게 작동된다면 공백과 개행문자를 삭제하여 삭제한 티가 안나게 하고싶은데 어떡해야 할까요..
파일 내용을 수정하는 함수는 손을 못대겠습니다..ㅠㅠ
fseek fread fwrite
fseek fread fwrite
세벌 https://sebuls.blogspot.kr/
댓글 달기