프로그래밍/C
[혼공C]_파일 개방과 입출력_ 18-7_a+ 모드로 파일의 내용을 확인하며 출력
MG_세대
2023. 12. 4. 11:13
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>
int main(void)
{
FILE* fp;
char str[20];
fp = fopen("a.txt", "a+");
if (fp == NULL) {
printf("파일을 만들지 못했습니다. \n");
return 1;
}
while (1)
{
printf("과일 이름 : ");
scanf("%s", str);
if (strcmp(str, "end") == 0)
{
break;
}
else if (strcmp(str, "list") == 0)
{
fseek(fp, 0, SEEK_SET);
while (1)
{
fgets(str, sizeof(str), fp);
if (feof(fp))
{
break;
}
printf("%s", str);
}
}
else
{
fprintf(fp, "%s\n", str);
}
}
fclose(fp);
return 0;
}
위 코드에서
과일 이름 : apple
과일 이름 : banana
과일 이름 : list
"list"를 입력하게되면
apple
banana
이렇게 출력이 되며
과일 이름 : end
end를 입력하면 프로그램이 종료된다.
a.txt 파일에는 아래와 같이 입력이 되어있다
다음 다시 빌드해서 실행 시켜
과일 이름 : strawberry
과일 이름 : list
입력하게 되면
리스트에 strawberry가 추가 되어 출력이된다.
그리고 a.txt 파일에도 추가가 된 것을 볼 수 있다.
이는 개방모드를 어떻게 쓰냐에 따라 읽고 쓰고의 차이가 조금씩 나타난다
fopen("파일경로", 개방모드);