열린 파일(:12) 스트림으로 부터 문자열을 입력받는다.
#include <stdio.h> char *fgets(char *s, int size, FILE *stream);
fgets 는 최대크기가 size 이하의 문자를 stream 으로 부터 읽어서 s 에 저장한다. 이때 stream 은 fopen(3)으로 만든 파일스트림이 될것이다.
fgets 는 비록 최대크기 size 이하 만큼을 stream 으로 부터 읽지만, 중간에 EOF 혹은 개행문자("\n") 를 만나면 읽기를 멈춘다.
버퍼에 대한 쓰기를 다했다면 fgets 는 buf 의 마지막 다음문자를 '\0'로 변경한다.
성공할경우 문자열의 포인터(:12) s 를 반환한다. 에러가 발생하거나 파일의 마지막에 도달했을경우, 또는 아무런 문자를 입력받지 못한경우에는 NULL(:12) 을 반환한다.
#include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc, char **argv) { FILE *fp_stdin; FILE *fp_out; char buf_in[255]; if (argc != 2) { printf("Usage : ./line_edit [저장파일이름]\n"); exit(0); } if (access(argv[1], F_OK) == 0) { printf("이미 파일이 존재하고 있음 : %s\n", argv[1]); exit(0); } fp_out = fopen(argv[1], "w"); if (fp_out == NULL) { perror("file open error 1 : "); exit(0); } while(fgets(buf_in, 255, stdin) != NULL) { if ( strncmp(buf_in,"quit\n", 5) == 0) break; fputs(buf_in, fp_out); } fclose(fp_out); }
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. fgets(3)
열린 파일(:12) 스트림으로 부터 문자열을 입력받는다.
1.1절. 사용법
1.2절. 설명
fgets 는 최대크기가 size 이하의 문자를 stream 으로 부터 읽어서 s 에 저장한다. 이때 stream 은 fopen(3)으로 만든 파일스트림이 될것이다.
fgets 는 비록 최대크기 size 이하 만큼을 stream 으로 부터 읽지만, 중간에 EOF 혹은 개행문자("\n") 를 만나면 읽기를 멈춘다.
버퍼에 대한 쓰기를 다했다면 fgets 는 buf 의 마지막 다음문자를 '\0'로 변경한다.
1.3절. 반환값
성공할경우 문자열의 포인터(:12) s 를 반환한다. 에러가 발생하거나 파일의 마지막에 도달했을경우, 또는 아무런 문자를 입력받지 못한경우에는 NULL(:12) 을 반환한다.
1.4절. 예제
Recent Posts
Archive Posts
Tags