반응형

https://gun-ny.tistory.com/17

시작하기에 앞서 문자열로 예를 든 것일 뿐 조건만 맞는다면 다른 자료형도 출력이 가능하다.

그리고 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

 

반응형

+ Recent posts