Ocean_
꾸준한 프로그래밍
Ocean_
전체 방문자
오늘
어제
  • 분류 전체보기 (174)
    • About Me (4)
    • 우아한테크코스 (27)
    • C & LINUX (50)
    • Operating System (12)
    • Database (25)
    • Computer Vision (0)
    • Problem Solving (0)
      • Programmers (0)
      • BOJ (0)
    • 코코코딩공부 (44)
      • Spring (12)
      • JAVA (14)
      • 디자인 패턴 (4)
      • 책 읽기 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 우테코 체스
  • C
  • BOJ
  • 정규화
  • Linux
  • signal
  • 원시값 포장
  • 트랜잭션
  • C++
  • 프로세스
  • 우아한형제들
  • 리눅스
  • 백준
  • 우테코5기
  • DB
  • bean
  • 우아한테크코스
  • 자바
  • SIGINT
  • OperatingSystem
  • OS
  • 운영체제
  • 데이터 조작어
  • 인덱스
  • Spring
  • 1259
  • 우아한테크코스5기
  • 우테코
  • Operating System
  • 블랙잭

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Ocean_

꾸준한 프로그래밍

C / LINUX  fgets(3) gets(3)
C & LINUX

C / LINUX fgets(3) gets(3)

2022. 5. 1. 16:55

함수 기능

줄단위 입력에 사용되는 라이브러리

fgets 는 개행문자 포함 n-1개 문자 읽음.

gets 는 개행문자 만날 때까지 읽음. 개행문자는 널문자가 됨.

함수 원형

#include <stdio.h>
char *gets(char *buf);
char *fgets(char *buf, int n, FILE *fp)

리턴 값 : 성공시 buf, 파일 끝이나 에러시 NULL

함수 파라메터

buf

버퍼

 

fp

파일포인터

함수 예제

fgets1

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#define BUFFER_SIZE 1024

int main(void){
    char buf[BUFFER_SIZE];
    while(fgets(buf,BUFFER_SIZE,stdin)!=NULL)
        if(fputs(buf,stdout)==EOF){
            fprintf(stderr,"standard output error\n");
            exit(1);
        }
    if(ferror(stdin)){
        fprintf(stderr,"standard input error\n");
        exit(1);
    }
    exit(0);
}

fgets2

#include<stdio.h>
#include<stdlib.h>

#define BUFFER_MAX 256

int main(void){
    char command[BUFFER_MAX];
    char *prompt = "Prompt>>";

    while(1){
        fputs(prompt,stdout);
        if(fgets(command,sizeof(command),stdin) == NULL)
            break;
        system(command);
    }   
    fprintf(stdout,"Good bye\n");
    fflush(stdout);
    exit(0);
}

함수 결과

fgets1

fgets2

 

리눅스시스템 프로그래밍 - 홍지만 저

교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

'C & LINUX' 카테고리의 다른 글

C / LINUX getc(3) fgetc(3) getchar(3)  (0) 2022.05.01
C / LINUX fputs(3) puts(3)  (0) 2022.05.01
C / LINUX ferror(3) feof(3) clearerr(3)  (0) 2022.05.01
C / LINUX read()  (0) 2022.05.01
C / LINUX lseek()  (0) 2022.05.01
    'C & LINUX' 카테고리의 다른 글
    • C / LINUX getc(3) fgetc(3) getchar(3)
    • C / LINUX fputs(3) puts(3)
    • C / LINUX ferror(3) feof(3) clearerr(3)
    • C / LINUX read()
    Ocean_
    Ocean_
    dongVeloper

    티스토리툴바