C 파일 입출력을 이용하여 간단한 코드를 짜고있는데, 문자열을 찾아 수정, 삭제 하는 부분에서 막혔습니다.

0
간단한 가계부를 만들고있는데 다른 입력, 찾기 함수는 만들었는데 삭제와, 수정에서 막혔습니다. char buffer[SIZE]; char word[1024]; FILE* ab; // 가계부를 열기위한 파일 포인터 int add(FILE* ab) / printf("종료:ctrl + z\n")..
간단한 가계부를 만들고있는데
다른 입력, 찾기 함수는 만들었는데 삭제와, 수정에서 막혔습니다.
char buffer[SIZE];
char word[1024];

FILE* ab; // 가계부를 열기위한 파일 포인터

int add(FILE* ab) /

	printf("종료:ctrl + z\n");

	fseek(ab, 0, SEEK_SET);

	while (fgets(buffer, SIZE, stdin) != 0)
		fputs(buffer, ab);

이와같이 add 함수를 사용하여 텍스트 파일에 입력을 합니다.

void change(FILE* ab)
{
	char name[SIZE], fname[SIZE], tmp[SIZE];
	struct Product P;

}
일단 어느정도의 틀은 짰는데 여기서 텍스트 파일을 문자열을 읽어서 원하는 부분을 수정하는 코드입니다.

삭제는 
void delete(FILE* ab)
{
	char delname[SIZE];
	char fname[SIZE];
	char buffer[SIZE];
	FILE* fp;

	printf("파일 이름을 입력하세요 :");// d:\\test\\baby.txt
	scanf("%s", fname);

	printf("삭제할 내용: ");
	gets_s(delname, SIZE);

	while (1)
	{
		fscanf(ab, "%s %d", buffer, fname);
		if (feof(ab))
			break;
			if (!strcmp(buffer, delname))
			{	
				fputs(" ", ab);
			}
	}
	printf("삭제 완료");
}
이렇게 짰는데 정상 작동이 안됩니다.

 

왕왕왕왈왈왈 님께서 2021-04-06에 C/C++에 올린 질문
0
 
윈비 2021-04-08
어떻게 안되시는지 증상이나 오류를 알려주시면 한번 확인해보겠습니다. 전체 코드로 수정해서 올려주시면 직접 확인해볼께요.🙂

댓글

조회수 243
답글 0
URL