C-Language/std IO
Input & Output in C language
Soul-Learner
2016. 11. 15. 16:57
C 언어의 Input, Output 다루기
C 언어에서 Input, Output (입/출력)이란 프로그램으로 데이터를 공급하거나 프로그램으로부터 외부장치(디스크, 모니터, 파일, 네트워크, 메모리)로 데이터를 내 보내는 작업을 의미한다
C 언어에서는 모든 장치에 입출력 관련 작업을 할 때 FILE *(파일 포인터)를 이용한다. 파일 포인터란 장치나 파일에 접근하여 데이터를 읽거나 쓸 수있도록 제공하는 수단을 의미한다
아래의 표준 입출력 파일 포인터는 프로그램 시작과 동시에 자동으로 생성되어 사용될 준비가 된다
표준 파일 포인터 (프로그램 시작과 동시에 자동으로 사용할 준비가 됨)
stdin |
표준 입력 |
표준입력장치 (키보드) |
stdout |
표준 출력 |
표준출력장치 (모니터) |
stderr |
표준 에러출력 |
표준출력장치 (모니터) |
한개의 문자를 다루는 표준 입출력 함수
- int getchar(void) : 입력버퍼(키보드)로부터 한개의 문자를 읽어온다
- int putchar(int c) : 아규먼트로 주어진 한개의 문자를 모니터에 출력하낟
문자열을 다루는 표준 입출력 함수
- char *gets(char *s) : 입력버퍼로부터 개행문자나 EOF가 읽어질 때까지 읽어온다
- int puts(const char *s) : 아규먼트로 주어진 문자열과 함께 개행문자를 모니터에 출력한다
서식(formatted) 문자열을 다루는 표준 입출력 함수
- int scanf(const char *format, ...) : 읽어올 데이터의 자료형(%s, %d, %c, %f 등)을 지정하여 해당 형식으로 읽어온다
- int printf(const char *format, ...) : 데이터의 형식을 지정하여 모니터에 출력한다
#include <stdio.h> int main() { printf("한개의 문자을 입력하고 <엔터>키를 누르세요 :"); int ch = getchar(); // 키보드에서 입력된 한개의 문자를 읽어온다 printf("입력된 문자="); putchar(ch); // 모니터에 한개의 문자를 출력한다 printf("\n"); int c; while ((c = getchar()) != '\n' && c != EOF); // 입력버퍼에 저장된 개행문자를 읽는다(버림) printf("문자열을 입력하고 <엔터>키를 누르세요 :"); char str[64]; // 입력버퍼로부터 개행문자를 읽거나 EOF 를 만날 때까지 읽어온다 gets(str); // 문자열을 읽어서 아규먼트로 주어진 str에 저장한다. 한글 혹은 공백포함 가능 printf("입력된 문자열="); puts(str); // 모니터에 문자열과 개행문자를 출력한다 printf("문자열을 입력하세요:"); scanf("%s", str); // 형식(%s, %d, %c, %f 등)을 지정하여 키보드에서 입력. 한글 가능, 공백에서 잘림 printf("입력된 문자열=%s \n", str); // 형식 문자열을 모니터에 출력 while ((c = getchar()) != '\n' && c != EOF); // 입력버퍼 비움 return 0; }