C언어에서 표준으로 지정된 입력스트림, 출력스트림이 있다.
보통 "키보드"의 입력을 통해 받으니 입력스트림이다. (stdin)
보통 "모니터"로 결과를 확인하니 출력스트림이다. (stdout)
그 외 default로 "모니터"출력으로 설정된 에러스트림이 있다. (stderr) -> (필요에 따라 출력을 파일로 스트림을 변경가능)
문자(character)를 1개만 입력받는 함수 getchar
- 함수 원형: int getchar(void)
- 반환형이 int인 이유? char형은 컴파일러마다 unsigned, signed가 다른데, int는 모든 컴파일러가 signed int로 처리함.
- int형 이므로 어떤 컴파일러든 -1값을 반환하는데 무리가 없다.
문자(character)를 1개만 출력하는 함수 putchar
#include <stdio.h>
int main()
{
int ch1;
// 문자(character) 1개만 입력받아 저장
ch1 = getchar();
// 1개의 문자만을 출력
putchar(ch1);
return 0;
}
(결과)
어떤 문자들을 넣어도, 제일 처음에 입력된 문자만 ch1에 저장되며, 해당 문자 1개만 출력된다.
#include <stdio.h>
int main()
{
int ch2;
// fgetc는 뒤에 인자로 stdin을 택하면 키보드, 그 외 다른 파일을 읽는 것과 같은 입력 인자를 넣을 수 있다.
ch2 = fgetc(stdin);
// fputc는 뒤에 인자로 stdout을 택하면 모니터, 그 외 파일으로 출력인자를 선택할 수 있다.
fputc(ch2, stdout);
return 0;
}
(결과) 위와 마찬가지다.
getchar, putchar는 특정 설정없이 자동으로 표준입출력 stdout, stdin이 설정되어있음을 알 수 있고,
fgetc, fputc는 stdin, stdout으로 입출력을 프로그래머가 작성하고, 또한 파일같은 다른 형태로 변경이 가능하다.
단, 공통적으로 하나의 문자(character)를 입력받고 또는 출력한다.
'C언어 \ C++' 카테고리의 다른 글
[C언어] 파일 읽기 쓰기(read, write) 추가하기 모드 종류 (wt, rb, a+t) (0) | 2022.02.22 |
---|---|
[C언어] C언어에서 EOF란? (C언어 파일 종료 코드) (2) | 2022.02.22 |
[C언어] main함수로 인자 전달 (argc, argv [ ]) (0) | 2022.02.21 |
[C언어] C언어 재귀함수의 활용, 사용 용도, 예제 (재귀함수 팩토리얼 Factorial 계산, n!) (0) | 2022.02.01 |
[C언어] 재귀함수란? 재귀함수 예시, 쉬운 설명 (0) | 2022.02.01 |