C 프로그래밍에서 getchar(), fgetc() 및 getc() 함수에 대한 자세한 내용은 다음과 같습니다. -
getchar() 함수
getchar() 함수는 stdin에서 문자를 가져옵니다. 읽은 문자를 정수 또는 오류가 발생하면 EOF 형태로 반환합니다.
이를 보여주는 프로그램은 다음과 같습니다 -
예시
#include <stdio.h> int main (){ int i; printf("Enter a character: "); i = getchar(); printf("\nThe character entered is: "); putchar(i); return(0); }
출력
위 프로그램의 출력은 다음과 같습니다 -
Enter a character: G The character entered is: G
이제 위의 프로그램을 이해합시다.
getchar() 함수를 사용하여 얻은 값은 정수 변수인 i에 저장됩니다. 그런 다음 putchar()를 사용하여 문자 값을 표시합니다. 이것을 보여주는 코드 조각은 다음과 같습니다 -
int i; printf("Enter a character: "); i = getchar(); printf("\nThe character entered is: "); putchar(i);
fgetc() 함수
fgetc() 함수는 FILE 객체에 대한 포인터인 파일 스트림에서 문자를 얻습니다. 이 함수는 읽은 문자를 정수 또는 오류가 발생하면 EOF의 형태로 반환합니다.
이를 보여주는 프로그램은 다음과 같습니다 -
예시
#include <stdio.h> int main (){ FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "Apple"); fclose(fp); int i; fp = fopen("file.txt","r"); if(fp == NULL){ perror("Error in opening file"); return(-1); } while((i=fgetc(fp))!=EOF){ printf("%c",i); } fclose(fp); return(0); }
출력
위 프로그램의 출력은 다음과 같습니다 -
Apple
이제 위의 프로그램을 이해합시다.
먼저 파일이 생성되고 "Apple" 데이터가 그 안에 저장됩니다. 그런 다음 파일이 닫힙니다. 이것을 보여주는 코드 조각은 다음과 같습니다 -
FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "Apple"); fclose(fp);
파일이 읽기 모드에서 다시 열립니다. fp가 NULL이면 오류 메시지가 표시됩니다. 그렇지 않으면 파일의 내용이 fgetc() 함수를 사용하여 표시됩니다. 이것을 보여주는 코드 조각은 다음과 같습니다 -
fp = fopen("file.txt","r"); if(fp == NULL){ perror("Error in opening file"); return(-1); } while((i=fgetc(fp))!=EOF){ printf("%c",i); } fclose(fp);
getc() 함수
getc() 함수는 지정된 스트림에서 문자를 가져옵니다. 읽은 문자를 정수 또는 오류가 발생하면 EOF 형태로 반환합니다.
이를 보여주는 프로그램은 다음과 같습니다 -
예시
#include <stdio.h> int main (){ int i; printf("Enter a character: "); i = getc(stdin); printf("\nThe character entered is: "); putchar(i); return(0); }
출력
위 프로그램의 출력은 다음과 같습니다 -
Enter a character: K The character entered is: K
이제 위의 프로그램을 이해합시다.
getc() 함수는 지정된 대로 스트림 stdin에서 문자를 가져옵니다. 이 값은 int 변수 i에 저장됩니다. 그런 다음 putchar()를 사용하여 문자 값을 표시합니다. 이것을 보여주는 코드 조각은 다음과 같습니다 -
int i; printf("Enter a character: "); i = getc(stdin); printf("\nThe character entered is: "); putchar(i);