[C언어] - 파일입출력 관련 여러 함수들
안녕! 다들 잘 지내고 있는가? 너무 여러개의 함수를 알아버려서 머리가 터질 것 같아 기록하러 왔다!
이번 포스팅에서는 텍스트 파일 입출력에서 사용하는 여러 함수들을 알아볼게!
1. fopen / fclose
fopen("filename", "mode");
fopen은 file을 열어준다는 의미!
filename에 읽어 들일 file 이름을 작성하고, mode에는 r, w, a와 같은것들이 있어.
r은 read의 약자로 파일에 있는 내용을 읽어들일 떄 사용.
w는 write모드로 파일을 열어 파일에 새롭게 내용을 작성. (원래 내용이 있다면 다 없어지고 새로 작성해!)
a도 write모드와 비슷한데 이건 w처럼 새로운 내용을 작성하는게 아닌 기존에 있는 내용에 이어서 작성.
그러므로 윗줄은 input.txt를 r모드로 open!
밑줄은 output.txt를 w모드로 open! (파일이 없다면 새로운 파일을 자동으로 생성해줘! 프로젝트가 있는 위치 or 설정해 주는 경로)
fclose(file의 주소값);
파일을 열었으면 닫아야겠지?
위의 예시에 있는 file 중에 닫고 싶은 file의 주소값을 괄호안에 작성!
까먹을 수도 있으니 open과 동시에 close함수도 작성해 주는게 좋을거야!
2. fscanf / fprintf
fscanf와 fprintf는 뭘까?
아주 쉬우니까 편하게 읽어봐
scanf가 from 키보드라면 fscanf는 from 파일!
printf가 터미널에 출력을 해 준다면 fprintf는 내가 지정한 파일에 변수에 저장한 값을 출력해준다고 생각해!
예시를 살펴보면,
fscanf구문 -> in에 저장된 파일의 주소 값을 통해 파일에 접근
%c %d %d의 형식 지정자로 ch, num1, num2의 변수에 값을 저장!
fprintf구문 -> out에 저장된 파일의 주소 값을 통해 파일에 접근
%d %c %d의 형식 지정자로 num2, ch, num2에 저장된 값을 파일에 출력!
3. fgets / fputs
fgets는 입력 받은 문자열을 저장해주는 함수야. 문자열의 '\0'까지 입력받고 '\0'까지 저장해줘!
첫 번째 parameter에는 입력 받은 문자열을 저장해 줄 array!
두 번째 parameter에는 입력 받은 문자열의 크기인 size!
세 번째 parameter에는 어디로부터 입력 받을지 파일이면 파일의 주소값! 키보드라면 stdin!
fputs는 반대로 array에 저장돼 있는 문자열을 출력해 주는 녀석이지! puts함수는 개행까지 해 주는데 이녀석은 안해줘!
첫 번째 parameterd에는 출력할 문자열이 저장돼 있는 array!
두 번째 parameter에는 문자열을 출력할 파일의 주소값 or 표준출력화면 stdout!
*주의사항* fputs
4. getc / putc
getc(입력받을 파일의 주소값);
putc(변수, 출력할 파일의 주소값);
getc는 char 자료형 하나를 저장해 주는 함수!
putc는 반대로 char 자료형 하나를 출력해 주는 함수!
아싸 끝~
'C \ C++' 카테고리의 다른 글
[C언어] 헤더파일이란? (0) | 2020.06.26 |
---|---|
[C언어] - 구조체의 정의 (Structure Definition in C) (0) | 2020.06.12 |
GCC (GNU Compiler Collection)에 대하여 (0) | 2020.05.29 |