함수 기능
한번 문자를 읽은 후 그문자를 다시 스트림에 되돌려 놓는 라이브러리 함수
함수 원형
#include <stdio.h>
int ungetc(int c, FILE *fp);
리턴 값 : 성공시 c 에러시 eof
함수 파라메터
c
다시 넣을 문자
fp
파일 포인터
함수 예제
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(void){
char operator;
FILE *fp;
int character;
int number = 0;
if((fp=fopen("ssu_expr.txt","r"))==NULL){
fprintf(stderr,"fopen error for ssu_expr.txt\n");
exit(1);
}
while(!feof(fp)){
while((character = fgetc(fp))!=EOF && isdigit(character))
number = 10 * number + character -48;
fprintf(stdout," %d\n",number);
number=0;
if(character !=EOF){
ungetc(character,fp);
operator=fgetc(fp);
printf("Operator=>%c\n",operator);
}
}
fclose(fp);
exit(0);
}
함수 결과
리눅스시스템 프로그래밍 - 홍지만 저
교재 내에 있는 예제를 바탕으로 작성한 글 입니다.
'C & LINUX' 카테고리의 다른 글
C / LINUX write() (0) | 2022.05.01 |
---|---|
C / LINUX setbuf(3) setvbuf(3) (0) | 2022.05.01 |
C / LINUX getc(3) fgetc(3) getchar(3) (0) | 2022.05.01 |
C / LINUX fputs(3) puts(3) (0) | 2022.05.01 |
C / LINUX fgets(3) gets(3) (0) | 2022.05.01 |