시작하기에 앞서 문자열로 예를 든 것일 뿐 조건만 맞는다면 다른 자료형도 출력이 가능하다.
그리고 scanf_s 같이 표준 입력 함수 이름 뒤에 _s가 붙은 이름들의 배경은 위의 글을 참고하면 된다.
입력 함수 및 객체 목차
문자 및 문자열 입력 함수 및 객체(띄어쓰기 입력 불가)
- scanf
- fscanf
- cin(C++)
문자열 입력 함수(띄어쓰기 입력 가능)
- gets
- fgets
문자 입력 함수
- getchar
- getc
- getch(conio.h 선언 필요)
- fgetchar
- fgetc
입력 함수 및 객체 요약
출력 함수 때보다 더 간단히 요약하면
띄어쓰기가 포함된 문자열을 입력할 때에는 gets, fgets
아니면 인수를 여러개 받을 수 있는 scanf, fscanf, cin을 사용하자
문자를 입력받을 경우
getch 이외 다 비슷하게 기능을 수행하지만 대중적(?)으로 사용하는 getchar을 쓰자
getch는 conio.h 헤더 포함을 선언해 주고 키를 누르는 순간 반응하길 원할 때 쓰자
스트림을 지정 해야할 경우
문자열의 경우 fscanf, fgets
문자의 경우 getc, fgetc 중 하나를 사용하면 된다.
문자열의 경우 띄어쓰기가 없다면 scanf(fscanf) 띄어쓰기가 있다면 gets(fgets)
문자의 경우 getchar(fgetc), getch를 주로 사용한다고 생각하자( ()은 스트림 지정시)
cin도 많이 사용하나 출력 함수 설명 때와 마찬가지로 scanf에 비해 느리다.
문자 및 문자열 입력 함수 및 객체(띄어쓰기 입력 불가)
특징
- 문자와 문자열 입력 가능('a', "a", "abc")
- 띄어쓰기 입력 불가
scanf
scanf 예제
char ch;
char let;
char str[5];
// 문자 변수, 문자열 변수 상관없이 섞어서 입력 가능
// 인수(argument) 여러개 호출 가능
scanf("%c %c", &ch, &let);
scanf("%s", str);
// 대입 불가
//scanf('a', &let);
//scanf("abc", str);
printf("%c %c %s", ch, let, str);
scanf 출력
a b abc a b abc |
fscanf
fscanf 예제(띄어쓰기 입력 시)
char ch;
char let;
char str[5];
// 문자 변수, 문자열 변수 상관없이 섞어서 입력 가능
// 인수(argument) 여러개 호출 가능
fscanf(stdin, "%c %c", &ch, &let);
fscanf(stdin, "%s", str);
// 대입 불가
//scanf('a', let);
//scanf("abc", string);
printf("%c %c %s", ch, let, str);
fscanf 출력(띄어쓰기 입력 시)
a b ab c a b ab |
cin
cin 예제
using namespace std;
char ch;
char let;
char str[5];
// 문자 변수, 문자열 변수 상관없이 섞어서 입력 가능
// 인수(argument) 여러개 호출 가능
cin >> ch >> let >> str;
printf("%c %c %s", ch, let, str);
cin 출력
a b abc a b abc |
문자열 입력 함수(띄어쓰기 입력 가능)
특징
- 문자열만 입력 가능("a", "abc")
- 띄어쓰기 입력 가능
gets
gets 예제
char ch;
char let;
char str[5];
// 문자 변수 입력 불가
//gets(let);
// 인수(argument) 1개로만 호출 가능
//gets(ch, let, str);
gets(str);
printf("%s", str);
gets 출력
abc abc |
fgets
fgets 예제(띄어쓰기 입력 시)
char ch;
char let;
char str[5];
// 문자 변수 입력 불가
//fgets(let, 1, stdin);
// 인수(argument) 1개로만 호출 가능
//fgets(ch, let, str, 5, stdin);
fgets(str, 5, stdin);
printf("%s", str);
fgets 출력(띄어쓰기 입력 시)
ab c ab c |
문자 입력 함수
특징
- 문자만 입력 가능('a')
getchar
getchar 예제
char ch = getchar();
printf("%c", ch);
getchar 출력
a a |
getc
getc 예제
char ch = getc(stdin);
printf("%c", ch);
getc 출력
a a |
getch
(conio.h 선언 필요)
(입력시 바로 반응)
(a 한개만 출력)
getch 예제
char ch = getch();
printf("%c", ch);
getch 출력
a |
fgetchar
fgetchar 예제
char ch = fgetchar();
printf("%c", ch);
fgetchar 출력
a a |
fgetc
fgetc 예제
char ch = fgetc(stdin);
printf("%c", ch);
fgetc 출력
a a |