독학으로 배우는 C언어 017 다양한 입력 함수
Contents

1. getcher() 에 의한 입력
한 개의 문자만을 입력받아 변수에 저장한다.
실습 1: getcher() 입력
다음의 프로그램을 작성하여 ex056.c 저장하고 실행해 보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char a;
a = getchar();
putchar(a);
putchar('\n');
return 0;
}
◉ 설명 : 행 설명
- scanf() 에 의한 입력은 서식이 있는 입력문으로 문자, 수치, 문자열 등의 데이터를 모두 취급할 수 있지만, getcher()는 한 개의 문자만 입력이 가능하다.
- 여러 문자를 입력해도 첫 번째 글자만 저장된다.
- getchar() 의 형식은 ‘변수=getchar()’ 이다.
- 프로그램을 실행하여 문자를 입력하면 입력된 문자가 변수에 기억되고 다음 명령을 실행한다.
putchar()는 하나의 문자를 출력해 주는 함수이다.
- putchar('\n')는 개행을 해준다.
2. getche() 에 의한 입력
getche() 함수는 키보드에서 한 문자가 입력되면 곧바로 입력이 실행되므로 엔터키를 누르지 않아도 된다.
getche() 함수를 사용하려면 반드시 #include <conio.h>를 선행처리기에 포함해야 한다.
실습 1: getche() 입력
다음의 프로그램을 작성하여 ex057.c 저장하고 실행해 보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
int main(void)
{
char a;
printf("한문자를 입력해 보세요");
a =_getche();
printf("\n");
printf("입력된 문자 : %c", a);
return 0;
}
◉ 설명 : 행 설명
8: 비주얼 스튜디오에서는 getche()를 사용할 수 없고 _getche()으로 사용해야 한다.
3. getch() 에 의한 입력
getch() 함수는 getche() 함수와 동일한 함수이지만 문자를 입력하면 입력된 문자가 화면에 표시되지 않는다.
getch() 또한 #include <conio.h>를 선행처리기에 포함해야 한다.
실습 1: getch() 입력
다음의 프로그램을 작성하여 ex058.c 저장하고 실행해 보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
int main(void)
{
char a;
printf("한문자를 입력해 보세요");
a = _getch();
printf("\n");
printf("입력된 문자 : %c", a);
return 0;
}
◉ 설명 : 행 설명
8: 비주얼 스튜디오에서는 getch()를 사용할 수 없고 _getch()으로 사용해야 한다.
4. gets() 에 의한 입력
gets() 함수는 문자열을 입력받을때 많이 사용한다.
puts() 와 함께 사용하면 프로그램이 실행속도를 증가시킬 수 있다.
실습 1: gets() 입력
다음의 프로그램을 작성하여 ex059.c 저장하고 실행해 보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char str[100];
printf("문자열 입력");
gets(str);
printf("\n");
puts(str);
return 0;
}
5. sscanf() 에 의한 입력
사용할 자료를 변수에 저장하고 지정된 자료형에 맞추어 변경하여 입력 자료로 사용한다.
실습 1: sscanf() 입력
다음의 프로그램을 작성하여 ex060.c 저장하고 실행해 보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char str[50] = "홍길동 340 88.5";
char name[10];
int tot;
float avg;
sscanf(str,"%s %d %f",name, &tot, &avg);
printf("%s %d %f\n", name, tot, avg);
return 0;
}
◉ 설명 : 행 설명
5: str이란 변수에 이름과 총점, 평균이 공백으로 구분되어 저장된다.
6: str의 첫 번째 ‘홍길동’은 문자열 형태로 name 변수로 사용할 것을 선언한다.
7: str의 두 번째 ‘340’은 정수형 형태로 tot 변수로 사용할 것을 선언한다.
8: str의 세 번째 ‘88.5’는 실수형 형태로 avgt 변수로 사용할 것을 선언한다.
9: sscanf() 함수는 str 값을 순서대로 name, tot, avg에 할당한다. 이때 수치형 자료의 변수앞에는 &를 사용해야 한다.

'C 프로그래밍' 카테고리의 다른 글
독학으로 배우는 C언어 019 대입 연산자 (0) | 2024.08.28 |
---|---|
독학으로 배우는 C언어 018 8진수와 16진수의 표시 (0) | 2024.08.15 |
독학으로 배우는 C언어 016 문자 자료의 입력 (0) | 2024.07.21 |
독학으로 배우는 C언어 015 숫자 자료의 입력 (2) | 2024.07.14 |
독학으로 배우는 C언어 014 문자와 문자열 출력함수 (0) | 2024.07.07 |
댓글