로컬 PC 범위내에서 파일을 직접 입력, 출력할 수 있다. C에서 제공하는 FILE 데이터 타입 변수는 close, write, delete, rename, open. read 같은 다양한 기능을 가지고 있다.
fp = fopen 은 포인벼 변수fp에게 output.txt 파일을 열으라는 의미이며 w는 write 쓰기 모드를 의미한다.
fp=NULL 즉 파일을 찾지 못했다면 실패 문구를 띄우며 그게 아니라면 성공 문구를 띄우고 fputc는 한글자씩 출력할 수 있다. fclose로 프로그램 종료시엔 해당 FILE변수를 반드시 닫아줄 수 있도록 한다.
출력후엔 위와 같이 output.txt 파일에 HELLO 문구가 출력된 것을 볼 수 있다.
읽기 모드로 실행하기 위해선 input.txt 파일이 사전에 존재해야 한다.
while((c = fgetc(fp)) != EOF) 지금 열려있는 파일에서 문자 하나를 읽어서 C에 저장한다는 의미이며 이것이 END OF FILE 파일의 끝이 아니라면 putchar(c) 우리의 콘솔창에 해당 문자를 출력해주는 것이다. 지금 열려있는 파일이 끝날때까지 모든 내용을 출력한다는 의미이다.
input.txt 파일을 만들어주고 실행해보면 콘솔창에서 파일을 읽을 수 있다.
텍스트 파일에서 특정 단어를 탐색할 수 있는 프로그램이다. 사용자 입력 값으로 파일명을 받고 탐색한 단어를 받은 다음 fopen 읽기 모드로 해당파일을 열수있도록 한다. while 즉 파일을 읽었다면 buffer에 256길이 만큼 파일에서 읽어서 버퍼에 담을 수 있도록 하는 것이다.
line++는 지금 한줄을 읽었으며 다음 반복시에 한줄추가하여 다음줄을 읽게 된다. buffer에 들어있는 문자열에 입력된 word가 포함되어 있는지 조건을 묻는 것이며 충족 시 발견 문구를 띄우게 된다.
이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.