1. fputs() 함수로 파일 쓰기
fopen()
파일에서 데이터를 읽고 쓸 때는 먼저 fopen() 함수로 파일을 열어서 파일 포인터를 얻어야 하는데
파일 포인터는 fopen() 함수를 통해 무슨 파일을 열었는지, 어디까지 읽었는지 등의 정보를 담는다.
FILE * 포인터명 = fopen(파일명, 파일모드); |
파일 모드 | 기능 | 설명 |
r | 읽기 전용 | 읽기 전용 파일 열기 파일이 반드시 있어야 함 |
w | 쓰기 전용 | 새 파일 생성 기존 파일이 있으면 덮어 씀 |
a | 추가 | 파일을 열어 기존 파일 끝에 이어 쓰기 파일이 없으면 새로 생성함 |
r+ | 읽기/쓰기 | 읽기/쓰기용으로 파이 열기 파일이 반드시 있어야 하고, 없으면 NULL을 반환함 |
w+ | 읽기/쓰기 | 읽기/쓰기용으로 파일 열기 파일이 없으면 새로 생성하고, 있으면 덮어 씀 |
a+ | 추가(읽기/쓰기) | 파일을 열어 기존 파일 끝에 이어 쓰기 파일이 없으면 새로 생성함 읽기는 파일의 모든 구간에서, 쓰기는 파일 끝에서만 가능함 |
t | 텍스트 모드 | 파일을 읽고 쓸 때 줄바꿈 문자 \n과 \r\n을 서로 변환함 ^Z(Ctrl+Z)를 파일 끝으로 인식하므로 ^Z까지만 파일을 읽음 |
b | 바이너리 모드 | 파일 내용을 그대로 읽고 씀 |
- 텍스트 : 사람이 읽을 수 있는 문자열
- 바이너리 데이터 : 컴퓨터가 읽을 수 있는 0과 1로 된 데이터
fputs() 파일에 데이터 저장
test1.txt 파일이 잘 만들어졌다면 파일 포인터 값이 NULL이 아니다.
fputs()함수를 써서 test1.txt에 텍스트를 써보자.
fputs()함수는 파일에 데이터를 문자열 단위로 저장한다.
fputs(문자열, 파일포인터) |
fclose()
fclose() 함수를 호출할 때 전달값으로 파일포인터를 넣으면 파일 포인터가 가리키는 파일을 저장하고 닫는다.
만약 파일을 연 후 닫지 않은 상태에서 프로그램에 문제가 생기면 ?
데이터 손실 발생 가능 !
따라서, fopen() 함수로 파일을 열었다면 반드시 fclose() 함수로 닫아야한다!
fclose(파일포인터); |
fgets() 파일에 저장된 데이터 불러오기
fgets(변수명, 문자열최대크기, 파일포인터) |
2. 형식을 지정해 파일 입출력하기
printf("서식지정자", 변수명); scanf("서식지정자", &변수명); |
fprintf(파일포인터, "서식지정자", 값); fscanf(파일포인터, "서식지정자", 변수주소); |
셀프체크
'Programming Language > C' 카테고리의 다른 글
[나도코딩] 9장.다양한 자료형 하나로 묶기 : 구조체 (0) | 2023.04.01 |
---|---|
[나도코딩] 8장. 배열에 배열 더하기 : 다차원 배열 (0) | 2023.04.01 |
[나도코딩] 7장.메모리 주소 관리하기 : 포인터 (0) | 2023.03.19 |
[나도코딩] 6장.여러 데이터 한번에 저장하기 : 배열과 문자열 (0) | 2023.03.14 |
[나도코딩] 5장.같은 일 한곳에서 처리하기 : 함수 (0) | 2023.03.13 |