ν€λ³΄λ μ λ ₯ λ°κΈ° (getch, kbhit) ν¨μ μ¬μ©λ² & μμ
κ°μ
ν€λ³΄λ μ λ ₯μ λ°λ λ°©λ² μ€ getchμ kbhit ν¨μμ λν΄ μμλ³΄κ³ , μ€μ λ‘ μ¬μ©νλ λ°©λ²κ³Ό μμ λ₯Ό μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
getch ν¨μ
1. μ μμ μ¬μ©λ²
getch ν¨μλ ν€λ³΄λλ‘λΆν° μ λ ₯λ λ¬Έμλ₯Ό μ¦μ 리ν΄νλ ν¨μμ λλ€. μ΄ ν¨μλ ν€λ³΄λ μ λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°ν©λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯΄λ©΄ ν΄λΉ λ¬Έμκ° μ¦μ 리ν΄λμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
2. μμ μ½λ
λ€μμ getch ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό μ λ ₯ λ°μ μΆλ ₯νλ μμ μ½λμ λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
kbhit ν¨μ
1. μ μμ μ¬μ©λ²
kbhit ν¨μλ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό νμΈνλ ν¨μμ λλ€. μ΄ ν¨μλ ν€λ³΄λλ‘λΆν° μ λ ₯μ΄ λ°μν κ²½μ° 1μ 리ν΄νκ³ , μ λ ₯μ΄ μλ κ²½μ° 0μ 리ν΄ν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨μ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνκ³ , μ λ ₯μ΄ μλ κ²½μ°μλ§ ν΄λΉ μ λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
2. μμ μ½λ
λ€μμ kbhit ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ λ ₯ λ°μμ λ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ½λμ λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
while (1) {
if (kbhit()) {
ch = getch();
printf("\nμ
λ ₯λ ν€: %c\n", ch);
break;
}
}
return 0;
}
getchμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch ν¨μμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄, ν€λ³΄λ μ λ ₯μ΄ λ°μν κ²½μ°μλ§ μ λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ€μ λ‘ ν€λ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
νμ© μμ
getchμ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ λ ₯ κ²μμ λ§λ€μ΄λ³΄λ μμ μ½λμ λλ€. κ²μμ μμμ ν€λ₯Ό μ λ ₯λ°μ ν "μ±κ³΅"μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("κ²μμ μμν©λλ€.\n");
printf("μ무 ν€λ λλ₯΄μΈμ...\n");
while (1) {
if (kbhit()) {
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
printf("μ±κ³΅!\n");
break;
}
}
return 0;
}
ν€λ³΄λ μ λ ₯ λ°κΈ°μ λν μ¬μ©λ²κ³Ό μμ μ½λλ₯Ό μκ°νμ΅λλ€. getchμ kbhit ν¨μλ₯Ό μ μ ν νμ©νμ¬ μ¬μ©μμμ μνΈμμ©μ ν¨κ³Όμ μΌλ‘ ꡬνν μ μμ΅λλ€.
ν€λ³΄λ μ λ ₯ λ°κΈ° (getch, kbhit) ν¨μ μ¬μ©λ² & μμ
κ°μ
ν€λ³΄λ μ λ ₯μ λ°λ λ°©λ² μ€ getchμ kbhit ν¨μμ λν΄ μμλ³΄κ³ , μ€μ λ‘ μ¬μ©νλ λ°©λ²κ³Ό μμ λ₯Ό μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
getch ν¨μ
1. μ μμ μ¬μ©λ²
getch ν¨μλ ν€λ³΄λλ‘λΆν° μ λ ₯λ λ¬Έμλ₯Ό μ¦μ 리ν΄νλ ν¨μμ λλ€. μ΄ ν¨μλ ν€λ³΄λ μ λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°ν©λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯΄λ©΄ ν΄λΉ λ¬Έμκ° μ¦μ 리ν΄λμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
2. μμ μ½λ
λ€μμ getch ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό μ λ ₯ λ°μ μΆλ ₯νλ μμ μ½λμ λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
kbhit ν¨μ
1. μ μμ μ¬μ©λ²
kbhit ν¨μλ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό νμΈνλ ν¨μμ λλ€. μ΄ ν¨μλ ν€λ³΄λλ‘λΆν° μ λ ₯μ΄ λ°μν κ²½μ° 1μ 리ν΄νκ³ , μ λ ₯μ΄ μλ κ²½μ° 0μ 리ν΄ν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨μ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνκ³ , μ λ ₯μ΄ μλ κ²½μ°μλ§ ν΄λΉ μ λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
2. μμ μ½λ
λ€μμ kbhit ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ λ ₯ λ°μμ λ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ½λμ λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
while (1) {
if (kbhit()) {
ch = getch();
printf("\nμ
λ ₯λ ν€: %c\n", ch);
break;
}
}
return 0;
}
getchμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch ν¨μμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄, ν€λ³΄λ μ λ ₯μ΄ λ°μν κ²½μ°μλ§ μ λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ€μ λ‘ ν€λ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
νμ© μμ
getchμ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ λ ₯ κ²μμ λ§λ€μ΄λ³΄λ μμ μ½λμ λλ€. κ²μμ μμμ ν€λ₯Ό μ λ ₯λ°μ ν "μ±κ³΅"μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("κ²μμ μμν©λλ€.\n");
printf("μ무 ν€λ λλ₯΄μΈμ...\n");
while (1) {
if (kbhit()) {
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
printf("μ±κ³΅!\n");
break;
}
}
return 0;
}
ν€λ³΄λ μ λ ₯ λ°κΈ°μ λν μ¬μ©λ²κ³Ό μμ μ½λλ₯Ό μκ°νμ΅λλ€. getchμ kbhit ν¨μλ₯Ό μ μ ν νμ©νμ¬ μ¬μ©μμμ μνΈμμ©μ ν¨κ³Όμ μΌλ‘ ꡬνν μ μμ΅λλ€.
1. κ°μ
ν€λ³΄λ μ
λ ₯μ λ°λ λ°©λ² μ€ getch
μ kbhit
ν¨μμ λν΄ μμλ³΄κ³ , μ€μ λ‘ μ¬μ©νλ λ°©λ²κ³Ό μμ λ₯Ό μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
getch
ν¨μ
1. μ μμ μ¬μ©λ²
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ 리ν΄νλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°ν©λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯΄λ©΄ ν΄λΉ λ¬Έμκ° μ¦μ 리ν΄λμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
2. μμ μ½λ
λ€μμ getch
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό μ
λ ₯ λ°μ μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
kbhit
ν¨μ
1. μ μμ μ¬μ©λ²
kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό νμΈνλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯μ΄ λ°μν κ²½μ° 1μ 리ν΄νκ³ , μ
λ ₯μ΄ μλ κ²½μ° 0μ 리ν΄ν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨μ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνκ³ , μ
λ ₯μ΄ μλ κ²½μ°μλ§ ν΄λΉ μ
λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
2. μμ μ½λ
λ€μμ kbhit
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ
λ ₯ λ°μμ λ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
while (1) {
if (kbhit()) {
ch = getch();
printf("\nμ
λ ₯λ ν€: %c\n", ch);
break;
}
}
return 0;
}
getch
μ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄, ν€λ³΄λ μ
λ ₯μ΄ λ°μν κ²½μ°μλ§ μ
λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ€μ λ‘ ν€λ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
νμ© μμ
getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€μ΄λ³΄λ μμ μ½λμ
λλ€. κ²μμ μμμ ν€λ₯Ό μ
λ ₯λ°μ ν "μ±κ³΅"μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("κ²μμ μμν©λλ€.\n");
printf("μ무 ν€λ λλ₯΄μΈμ...\n");
while (1) {
if (kbhit()) {
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
printf("μ±κ³΅!\n");
break;
}
}
return 0;
}
ν€λ³΄λ μ
λ ₯ λ°κΈ°μ λν μ¬μ©λ²κ³Ό μμ μ½λλ₯Ό μκ°νμ΅λλ€. getch
μ kbhit
ν¨μλ₯Ό μ μ ν νμ©νμ¬ μ¬μ©μμμ μνΈμμ©μ ν¨κ³Όμ μΌλ‘ ꡬνν μ μμ΅λλ€.
- ν€λ³΄λ μ λ ₯μ λ°λ λ°©λ² μ€ getchμ kbhit ν¨μμ λν μκ°
getch ν¨μ
μ μμ μ¬μ©λ²
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ 리ν΄νλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°ν©λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯΄λ©΄ ν΄λΉ λ¬Έμκ° μ¦μ 리ν΄λμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
μμ μ½λ
λ€μμ getch
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό μ
λ ₯ λ°μ μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
kbhit ν¨μ
μ μμ μ¬μ©λ²
kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό νμΈνλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯μ΄ λ°μν κ²½μ° 1μ 리ν΄νκ³ , μ
λ ₯μ΄ μλ κ²½μ° 0μ 리ν΄ν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨μ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνκ³ , μ
λ ₯μ΄ μλ κ²½μ°μλ§ ν΄λΉ μ
λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
μμ μ½λ
λ€μμ kbhit
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ
λ ₯ λ°μμ λ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
while (1) {
if (kbhit()) {
ch = getch();
printf("\nμ
λ ₯λ ν€: %c\n", ch);
break;
}
}
return 0;
}
getchμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄, ν€λ³΄λ μ
λ ₯μ΄ λ°μν κ²½μ°μλ§ μ
λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ€μ λ‘ ν€λ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
νμ© μμ
getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€μ΄λ³΄λ μμ μ½λμ
λλ€. κ²μμ μμμ ν€λ₯Ό μ
λ ₯λ°μ ν "μ±κ³΅"μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("κ²μμ μμν©λλ€.\n");
printf("μ무 ν€λ λλ₯΄μΈμ...\n");
while (1) {
if (kbhit()) {
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
printf("μ±κ³΅!\n");
break;
}
}
return 0;
}
ν€λ³΄λ μ
λ ₯ λ°κΈ°μ λν μ¬μ©λ²κ³Ό μμ μ½λλ₯Ό μκ°νμ΅λλ€. getch
μ kbhit
ν¨μλ₯Ό μ μ ν νμ©νμ¬ μ¬μ©μμμ μνΈμμ©μ ν¨κ³Όμ μΌλ‘ ꡬνν μ μμ΅λλ€.
ν€λ³΄λ μ λ ₯μ λ°λ λ°©λ² μ€ getchμ kbhit ν¨μμ λν μκ°
getch ν¨μ
μ μμ μ¬μ©λ²
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ 리ν΄νλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°ν©λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯΄λ©΄ ν΄λΉ λ¬Έμκ° μ¦μ 리ν΄λμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
μμ μ½λ
λ€μμ getch
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό μ
λ ₯ λ°μ μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
kbhit ν¨μ
μ μμ μ¬μ©λ²
kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό νμΈνλ ν¨μμ
λλ€. μ΄ ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯μ΄ λ°μν κ²½μ° 1μ 리ν΄νκ³ , μ
λ ₯μ΄ μλ κ²½μ° 0μ 리ν΄ν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨μ ν€λ³΄λ μ
λ ₯ μ¬λΆλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνκ³ , μ
λ ₯μ΄ μλ κ²½μ°μλ§ ν΄λΉ μ
λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
μμ μ½λ
λ€μμ kbhit
ν¨μλ₯Ό μ΄μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ
λ ₯ λ°μμ λ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
while (1) {
if (kbhit()) {
ch = getch();
printf("\nμ
λ ₯λ ν€: %c\n", ch);
break;
}
}
return 0;
}
getchμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄, ν€λ³΄λ μ
λ ₯μ΄ λ°μν κ²½μ°μλ§ μ
λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ€μ λ‘ ν€λ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
νμ© μμ
getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€μ΄λ³΄λ μμ μ½λμ
λλ€. κ²μμ μμμ ν€λ₯Ό μ
λ ₯λ°μ ν "μ±κ³΅"μ΄λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("κ²μμ μμν©λλ€.\n");
printf("μ무 ν€λ λλ₯΄μΈμ...\n");
while (1) {
if (kbhit()) {
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
printf("μ±κ³΅!\n");
break;
}
}
return 0;
}
ν€λ³΄λ μ
λ ₯ λ°κΈ°μ λν μ¬μ©λ²κ³Ό μμ μ½λλ₯Ό μκ°νμ΅λλ€. getch
μ kbhit
ν¨μλ₯Ό μ μ ν νμ©νμ¬ μ¬μ©μμμ μνΈμμ©μ ν¨κ³Όμ μΌλ‘ ꡬνν μ μμ΅λλ€.
2. getch ν¨μ
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ κ°μ Έμ€λ ν¨μμ
λλ€. μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νλ©°, λλ₯Έ ν€μ ν΄λΉνλ λ¬Έμλ₯Ό λ°νν©λλ€.
μ¬μ©λ²
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
μμ μμ μ½λμμ getch
ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ λ°μν λκΉμ§ λκΈ°νκ³ , μ
λ ₯λ λ¬Έμλ₯Ό ch
λ³μμ μ μ₯ν©λλ€. μ μ₯λ λ¬Έμλ μ΄ν printf
ν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯λ©λλ€.
μ£Όμμ¬ν
getch
ν¨μλ μ λ ₯λ λ¬Έμλ₯Ό νλ©΄μ νμνμ§ μμ΅λλ€. μ¦, μ¬μ©μκ° μ λ ₯ν ν€λ₯Ό νλ©΄μ 보μ¬μ£Όμ§ μκ³ λ¬΄μν©λλ€.- ν€λ³΄λ μ λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°νλ―λ‘, μ¬μ©μκ° ν€λ₯Ό μ λ ₯νκΈ° μ κΉμ§ λ€λ₯Έ μμ μ μνν μ μμ΅λλ€.
getch
ν¨μλ<conio.h>
ν€λ νμΌμ μ μΈλμ΄ μμΌλ―λ‘ ν΄λΉ ν€λ νμΌμ ν¬ν¨ν΄μΌ ν©λλ€.
νμ© μμ
getch
ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ
λ ₯λ°μ ν΄λΉ ν€λ₯Ό μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
return 0;
}
μμ μμ μ½λμμ getch
ν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° ν€λ³΄λ μ
λ ₯μ λ°κ³ , μ
λ ₯λ ν€λ₯Ό ch
λ³μμ μ μ₯ν ν μΆλ ₯ν©λλ€. νλ©΄μ νμλλ λ©μμ§μμ μ¬μ©μμκ² μ
λ ₯μ μμ²ν ν, μ
λ ₯ν ν€μ ν΄λΉνλ λ¬Έμκ° μΆλ ₯λ©λλ€.
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό κ°μ Έμ€λ κ°νΈνκ³ μ¦κ°μ μΈ λ°©λ²μ μ 곡ν©λλ€. μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄νλ λ± λ€μν μν©μμ νμ©ν μ μμ΅λλ€.
- getch ν¨μμ μ μμ μ¬μ©λ²
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ λ°ννλ ν¨μμ
λλ€. μ΄ ν¨μλ μ¬μ©μκ° ν€λ³΄λλ₯Ό λλ₯Ό λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ μ
λ ₯μ λκΈ°ν©λλ€. μ
λ ₯λ λ¬Έμλ λ°νλμ΄ λ€μ λμμΌλ‘ μ§νλ©λλ€.
μ¬μ©λ²
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch);
return 0;
}
μμ μμ μ½λμμ getch
ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λκΈ°νκ³ , μ
λ ₯λ λ¬Έμλ₯Ό ch
λ³μμ μ μ₯ν©λλ€. μ΄ν printf
ν¨μλ₯Ό μ¬μ©νμ¬ ch
λ³μμ μ μ₯λ λ¬Έμλ₯Ό μΆλ ₯ν©λλ€.
μ£Όμμ¬ν
getch
ν¨μλ μ λ ₯λ λ¬Έμλ₯Ό νλ©΄μ νμνμ§ μμ΅λλ€. μ¬μ©μκ° λλ₯Έ ν€λ₯Ό νλ©΄μ 보μ¬μ£Όμ§ μκ³ λ¬΄μν©λλ€.- ν€λ³΄λ μ λ ₯μ΄ λ°μν λκΉμ§ νλ‘κ·Έλ¨μ΄ λ©μΆκ³ λκΈ°νλ―λ‘, μ¬μ©μκ° ν€λ₯Ό μ λ ₯νκΈ° μ κΉμ§ λ€λ₯Έ μμ μ μνν μ μμ΅λλ€.
<conio.h>
ν€λ νμΌμ μ μΈλμ΄ μμΌλ―λ‘ ν΄λΉ ν€λ νμΌμ ν¬ν¨ν΄μΌ ν©λλ€.
νμ© μμ
getch
ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° νΉμ ν€λ₯Ό μ
λ ₯λ°μ ν ν΄λΉ ν€λ₯Ό μΆλ ₯νλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("νΉμ ν€λ₯Ό μ
λ ₯νμΈμ: ");
ch = getch();
printf("μ
λ ₯λ ν€: %c\n", ch);
return 0;
}
μμ μμ μ½λμμ printf
ν¨μλ₯Ό ν΅ν΄ μ¬μ©μμκ² νΉμ ν€λ₯Ό μ
λ ₯νλλ‘ μμ²ν ν, getch
ν¨μλ₯Ό νΈμΆνμ¬ μ
λ ₯λ ν€λ₯Ό ch
λ³μμ μ μ₯ν©λλ€. μ΄ν ch
λ³μμ μ μ₯λ κ°μ printf
ν¨μλ‘ μΆλ ₯ν©λλ€. μ¬μ©μκ° μ
λ ₯ν ν€μ λν λ¬Έμκ° νλ©΄μ νμλ©λλ€.
getch
ν¨μλ ν€λ³΄λλ‘λΆν° μ¦μ μ
λ ₯μ λ°μμΌ ν λ μ¬μ©νλ νΈλ¦¬ν ν¨μμ
λλ€. μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄νκ±°λ νΉμ ν€ μ
λ ₯μ λν μ μ΄ κ΅¬λ¬Έμ μμ±νλ λ± λ€μν μν©μμ μ μ©νκ² νμ©ν μ μμ΅λλ€.
- getch ν¨μλ₯Ό μ΄μ©νμ¬ ν€λ³΄λ μ λ ₯μ λ°λ μμ μ½λ
μλμ μμ μ½λλ getch
ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° ν€λ³΄λ μ
λ ₯μ λ°λ κ³Όμ μ 보μ¬μ£Όλ μμ μ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: "); // μ¬μ©μμκ² μ
λ ₯ μμ²
ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μ chμ μ μ₯
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch); // μ
λ ₯λ λ¬Έμ μΆλ ₯
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ¨Όμ "λ¬Έμλ₯Ό μ
λ ₯νμΈμ: "λΌλ λ©μμ§λ₯Ό νλ©΄μ νμν©λλ€. μ¬μ©μμκ² μ
λ ₯μ μμ²νλ λ©μμ§μ
λλ€. μ¬μ©μκ° μ΄λ€ λ¬Έμλ₯Ό μ
λ ₯νκΈ° μν΄ ν€λ³΄λλ₯Ό λλ₯΄λ©΄, getch
ν¨μκ° νΈμΆλμ΄ μ
λ ₯λ λ¬Έμλ₯Ό μ¦μ λ°νν©λλ€. κ·Έλ¦¬κ³ λ°νλ λ¬Έμλ₯Ό ch
λ³μμ μ μ₯ν©λλ€.
μ΄νμλ "μ
λ ₯λ λ¬Έμ: "λΌλ λ©μμ§μ ν¨κ» ch
λ³μμ μ μ₯λ λ¬Έμκ° μΆλ ₯λ©λλ€. printf
ν¨μμ %c
νμ μ§μ μλ λ¬Έμλ₯Ό μΆλ ₯νκΈ° μν΄ μ¬μ©λ©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° ν€λ³΄λλ‘ 'A'λ₯Ό μ λ ₯νλ©΄ νλ©΄μ "μ λ ₯λ λ¬Έμ: A"λΌλ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
getch
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ λ°λ μμ μ½λλ μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄νκ±°λ νΉμ ν€ μ
λ ₯μ λ°λ₯Έ μ²λ¦¬λ₯Ό μννλ λ± λ€μν μν©μμ μ μ©νκ² νμ©λ μ μμ΅λλ€.
- getch ν¨μλ₯Ό μ΄μ©νμ¬ ν€λ³΄λ μ λ ₯μ λ°λ μμ μ½λ
μλμ μμ μ½λλ getch
ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° ν€λ³΄λ μ
λ ₯μ λ°λ κ³Όμ μ 보μ¬μ£Όλ μμ μ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("λ¬Έμλ₯Ό μ
λ ₯νμΈμ: "); // μ¬μ©μμκ² μ
λ ₯ μμ²
ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μ chμ μ μ₯
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch); // μ
λ ₯λ λ¬Έμ μΆλ ₯
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€.
"λ¬Έμλ₯Ό μ λ ₯νμΈμ: "λΌλ λ©μμ§κ° νλ©΄μ νμλ©λλ€. μ΄λ μ¬μ©μμκ² μ λ ₯μ μμ²νλ λ©μμ§μ λλ€.
μ¬μ©μκ° μ΄λ€ λ¬Έμλ₯Ό μ λ ₯νκΈ° μν΄ ν€λ³΄λλ₯Ό λλ¦ λλ€. μ΄λ
getch
ν¨μκ° νΈμΆλμ΄ ν€λ³΄λ μ λ ₯μ μ¦μ λ°νν©λλ€.λ°νλ λ¬Έμλ
ch
λ³μμ μ μ₯λ©λλ€. μ΄ λ³μλchar
μλ£νμΌλ‘ μ μΈλμ΄ μμΌλ―λ‘, ν€λ³΄λλ‘λΆν° μ λ ₯λ°μ λ¬Έμλ₯Ό μ μ₯ν μ μμ΅λλ€.λ§μ§λ§μΌλ‘ "μ λ ₯λ λ¬Έμ: "λΌλ λ©μμ§μ ν¨κ»
ch
λ³μμ μ μ₯λ λ¬Έμκ° μΆλ ₯λ©λλ€.printf
ν¨μμ%c
νμ μ§μ μλ λ¬Έμλ₯Ό μΆλ ₯νκΈ° μν΄ μ¬μ©λ©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° ν€λ³΄λλ‘ 'A'λ₯Ό μ λ ₯νλ©΄ νλ©΄μ "μ λ ₯λ λ¬Έμ: A"λΌλ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
getch
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ λ°λ μμ μ½λλ μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄νκ±°λ νΉμ ν€ μ
λ ₯μ λ°λ₯Έ μ²λ¦¬λ₯Ό μννλ λ± λ€μν μν©μμ μ μ©νκ² νμ©λ μ μμ΅λλ€.
3. kbhit ν¨μ
kbhit ν¨μλ ν€λ³΄λ μ
λ ₯μ νμΈνλ ν¨μλ‘, μ¬μ©μκ° μ
λ ₯νλ©΄ 1μ λ°ννκ³ μλλ©΄ 0μ λ°νν©λλ€. μ΄ ν¨μλ Windowsμ <conio.h>
λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμΌλ―λ‘, Windows νκ²½μμλ§ μ¬μ©ν μ μμ΅λλ€.
μλμ μμ μ½λλ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ λ°λ κ³Όμ μ 보μ¬μ£Όλ μμ μ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
char ch;
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (!kbhit()) {} // ν€λ³΄λ μ
λ ₯μ΄ μμ λκΉμ§ λ°λ³΅
ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μ chμ μ μ₯
printf("μ
λ ₯λ λ¬Έμ: %c\n", ch); // μ
λ ₯λ λ¬Έμ μΆλ ₯
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€.
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° νλ©΄μ νμλ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬κ³ μλ€λ λ©μμ§μ λλ€.
kbhit
ν¨μκ° νΈμΆλμ΄ ν€λ³΄λ μ λ ₯μ΄ μμ λκΉμ§ λκΈ°ν©λλ€. μ΄ ν¨μλ ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄ 1μ λ°ννκ³ , μλλ©΄ 0μ λ°νν©λλ€. λ°λΌμkbhit()
μ κ²°κ³Όκ° 0μ΄ μλλ©΄ λ°λ³΅λ¬Έμ μ’ λ£νκ³ λ€μ μ½λλ‘ μ§νν©λλ€.getch
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ λ°μμch
λ³μμ μ μ₯ν©λλ€.getch
ν¨μλconio.h
λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λ ν¨μλ‘, ν€λ³΄λ μ λ ₯μ μ¦μ λ°νν©λλ€.λ§μ§λ§μΌλ‘ "μ λ ₯λ λ¬Έμ: "λΌλ λ©μμ§μ ν¨κ»
ch
λ³μμ μ μ₯λ λ¬Έμκ° μΆλ ₯λ©λλ€.printf
ν¨μμ%c
νμ μ§μ μλ λ¬Έμλ₯Ό μΆλ ₯νκΈ° μν΄ μ¬μ©λ©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° ν€λ³΄λλ‘ 'A'λ₯Ό μ λ ₯νλ©΄ νλ©΄μ "μ λ ₯λ λ¬Έμ: A"λΌλ κ²°κ³Όκ° μΆλ ₯λ©λλ€.
kbhit
ν¨μλ₯Ό μ¬μ©νλ©΄ νλ‘κ·Έλ¨ μ€ν μ€μ ν€λ³΄λ μ
λ ₯μ μ€μκ°μΌλ‘ νμΈν μ μμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ νΉμ ν€ μ
λ ₯μ λ°λ₯Έ μ²λ¦¬λ₯Ό μννκ±°λ μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄ν μ μμ΅λλ€.
- kbhit ν¨μμ μ μμ μ¬μ©λ²
kbhit ν¨μλ ν€λ³΄λ μ
λ ₯μ νμΈνλ ν¨μλ‘, μ¬μ©μκ° ν€λ₯Ό λλ₯΄λ©΄ 1μ λ°ννκ³ μλλ©΄ 0μ λ°νν©λλ€. μ΄ ν¨μλ <conio.h>
λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμΌλ©°, Windows νκ²½μμλ§ μ¬μ©ν μ μμ΅λλ€.
kbhit ν¨μμ μ μ
#include <conio.h>
int kbhit(void);
kbhit ν¨μμ μ¬μ©λ²
- μμ μμ μ½λμμμ²λΌ
<conio.h>
λ₯Ό ν¬ν¨νκ³ kbhit ν¨μλ₯Ό μ¬μ©νλ €λ©΄, ν΄λΉ ν€λ νμΌμ μλ¨μ ν¬ν¨μμΌμΌ ν©λλ€.
#include <conio.h>
kbhit()
ν¨μλ ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄ 1μ λ°ννκ³ , ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄ 0μ λ°νν©λλ€. λ°λΌμ,kbhit()
λ₯Ό 쑰건μΌλ‘ μ¬μ©νμ¬ λ°λ³΅λ¬Έμ μ€ννμ¬ ν€λ³΄λ μ λ ₯μ λκΈ°ν μ μμ΅λλ€.
while (!kbhit()) {
// ν€λ³΄λ μ
λ ₯μ΄ μμ λκΉμ§ λκΈ°
}
- ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄ λ°λ³΅λ¬Έμ λΉ μ Έλμμ λ€μ μ½λλ₯Ό μ€νν μ μμ΅λλ€.
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
getch()
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ λ ₯μ μ¦μ λ°νλ°μ μ μμ΅λλ€. μ΄ ν¨μλconio.h
λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λ ν¨μλ‘, ν€λ³΄λ μ λ ₯μ μ¦μ λ°νν©λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° ν€λ³΄λλ‘ 'A'λ₯Ό μ
λ ₯νλ©΄ getch()
ν¨μλ 'A'λ₯Ό μ¦μ λ°ννκ³ , μ΄λ₯Ό λ³μ ch
μ μ μ₯ν©λλ€.
- kbhit ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ λ ₯μ μ€μκ°μΌλ‘ νμΈν μ μμΌλ―λ‘, μ΄λ₯Ό νμ©νμ¬ νΉμ ν€ μ λ ₯μ λ°λ₯Έ μ²λ¦¬λ₯Ό μννκ±°λ μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄ν μ μμ΅λλ€.
if (kbhit()) {
// ν€λ³΄λ μ
λ ₯μ΄ μμ λμ μ²λ¦¬
char ch = getch();
// ...
}
μμ μμ μ½λμμλ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν ν, μ λ ₯μ΄ μμΌλ©΄ ν΄λΉ ν€λ₯Ό λ°μμ μ²λ¦¬νλ μ½λλ₯Ό μμ±νμμ΅λλ€.
kbhit
ν¨μλ₯Ό μ¬μ©νλ©΄ νλ‘κ·Έλ¨ μ€ν μ€μ ν€λ³΄λ μ
λ ₯μ μ€μκ°μΌλ‘ νμΈν μ μμΌλ©°, ν€λ³΄λ μ
λ ₯μ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν μ μλ κΈ°λ₯μ μ 곡ν©λλ€.
- kbhit ν¨μλ₯Ό μ΄μ©νμ¬ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό νμΈνλ μμ μ½λ
μλμ μμ μ½λλ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ νμΈνκ³ , μ
λ ₯μ΄ μμ κ²½μ° ν΄λΉ ν€λ₯Ό νλ©΄μ μΆλ ₯νλ μμ μ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
break; // μ
λ ₯μ΄ μμΌλ©΄ λ°λ³΅λ¬Έμ μ’
λ£
}
}
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€:
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° νλ©΄μ νμλ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬κ³ μλ€λ λ©μμ§μ λλ€.
while
λ¬Έ μμμ κ³μνμ¬kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄
getch
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ λ³μμ μ μ₯ν©λλ€.μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€.
μ λ ₯μ΄ μμΌλ©΄ λ°λ³΅λ¬Έμ μ’ λ£νκ³ νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ νμΈνλ μμ μ½λλ₯Ό ν΅ν΄, μ¬μ©μκ° ν€λ₯Ό μ
λ ₯νλ©΄ ν΄λΉ ν€λ₯Ό μ¦μ νμΈνκ³ μ²λ¦¬ν μ μλ κΈ°λ₯μ ꡬνν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλ¨ μ€ν μ€μ μ€μκ°μΌλ‘ ν€λ³΄λ μ
λ ₯μ μ²λ¦¬ν μ μμ΅λλ€.
kbhit ν¨μλ₯Ό μ΄μ©νμ¬ ν€λ³΄λ μ λ ₯ μ¬λΆλ₯Ό νμΈνλ μμ μ½λ
μλμ μμ μ½λλ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ νμΈνκ³ , μ
λ ₯μ΄ μμ κ²½μ° ν΄λΉ ν€λ₯Ό νλ©΄μ μΆλ ₯νλ μμ μ
λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
break; // μ
λ ₯μ΄ μμΌλ©΄ λ°λ³΅λ¬Έμ μ’
λ£
}
}
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€:
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° νλ©΄μ νμλ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬κ³ μλ€λ λ©μμ§μ λλ€.
while
λ¬Έ μμμ κ³μνμ¬kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.ν€λ³΄λ μ λ ₯μ΄ μμΌλ©΄
getch
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ λ³μμ μ μ₯ν©λλ€.μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€.
μ λ ₯μ΄ μμΌλ©΄ λ°λ³΅λ¬Έμ μ’ λ£νκ³ νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ ν€λ³΄λ μ
λ ₯μ νμΈνλ©΄, νλ‘κ·Έλ¨ μ€ν μ€μ μ¬μ©μμ ν€ μ
λ ₯μ μ€μκ°μΌλ‘ κ°μ§ν μ μμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ νΉμ ν€ μ
λ ₯μ λν μ²λ¦¬λ₯Ό μννκ±°λ μ¬μ©μμμ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ λμμ μ μ΄ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ ν€λ₯Ό λλ μ λ νλ‘κ·Έλ¨μ μ’
λ£νλ λ±μ λμμ μνν μ μμ΅λλ€.
4. getchμ kbhit ν¨μλ₯Ό ν¨κ» μ¬μ©νκΈ°
getch
ν¨μμ kbhit
ν¨μλ κ°μ΄ μ¬μ©νλ©΄ ν€λ³΄λ μ
λ ₯μ μ€μκ°μΌλ‘ κ°μ§νκ³ μ²λ¦¬ν μ μλ κΈ°λ₯μ μ 곡ν©λλ€. kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ μλμ§ μ¬λΆλ₯Ό νμΈνκ³ , getch
ν¨μλ μ€μ λ‘ ν€λ³΄λ μ
λ ₯μ λ°μ΅λλ€. μλ μμ μ½λλ₯Ό ν΅ν΄ ν¨κ» μ¬μ©νλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
}
}
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€:
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° νλ©΄μ μΆλ ₯λ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬κ³ μλ€λ λ©μμ§μ λλ€.
while
λ¬Έ μμμkbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.kbhit
ν¨μκ°true
λ₯Ό λ°ννλ©΄,getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λ μ λ ₯μ λ°μ΅λλ€.μ λ ₯λ ν€λ₯Ό λ³μ
ch
μ μ μ₯ν©λλ€.λ§μ½ μ λ ₯λ ν€κ° 'q'λΌλ©΄, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ ,
break
λ¬Έμ μ΄μ©νμ¬ λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.μ λ ₯λ ν€κ° 'q'κ° μλλΌλ©΄, μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€.
λ°λ³΅λ¬Έμ΄ λ€μ μμνμ¬ ν€λ³΄λ μ λ ₯μ νμΈνκ³ λ°λ κ³Όμ μ κ³μν©λλ€.
μ΄μ κ°μ΄ getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄ μ¬μ©μκ° νΉμ ν€λ₯Ό μ
λ ₯ν λ μνλ λμμ μννλλ‘ νλ‘κ·Έλ¨μ μ μ΄ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μμ μμ μμλ μ
λ ₯λ ν€κ° 'q'μΌ λ νλ‘κ·Έλ¨μ μ’
λ£νλλ‘ νμμ΅λλ€. λ€μν ν€μ λν μ²λ¦¬λ₯Ό μΆκ°νμ¬ μνλ λμμ μνν μ μμ΅λλ€.
- getch ν¨μμ kbhit ν¨μλ₯Ό μ‘°ν©νμ¬ ν€λ³΄λ μ λ ₯μ λ°λ μμ μ½λ
getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄ ν€λ³΄λ μ
λ ₯μ μ€μκ°μΌλ‘ λ°μ μ μμ΅λλ€. kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈνκ³ , getch
ν¨μλ μ€μ λ‘ ν€λ³΄λ μ
λ ₯μ λ°μ΅λλ€. μ΄ λ ν¨μλ₯Ό μ‘°ν©νμ¬ ν€λ³΄λ μ
λ ₯μ λ°λ μμ μ½λλ₯Ό νμΈν΄λ³΄κ² μ΅λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
}
}
return 0;
}
μμ μμ μ½λλ λ€μκ³Ό κ°μ λ¨κ³λ‘ λμν©λλ€:
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° μΆλ ₯λ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ λ°μ μ€λΉκ° λμ΄μλ€λ λ©μμ§μ λλ€.
while
루νμμkbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.kbhit
ν¨μκ°true
λ₯Ό λ°ννλ©΄,getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λ μ λ ₯μ λ°μ΅λλ€.μ λ ₯λ ν€λ₯Ό λ³μ
ch
μ μ μ₯νκ³ , "μ λ ₯λ ν€: "μ ν¨κ» μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€.λ§μ½ μ λ ₯λ ν€κ° 'q'μ λμΌνλ€λ©΄, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³
break
λ¬Έμ μ¬μ©νμ¬while
루νλ₯Ό μ’ λ£ν©λλ€.μ λ ₯λ ν€κ° 'q'κ° μλλΌλ©΄,
while
루νλ₯Ό κ³μ μ€ννμ¬ λ€μ ν€λ³΄λ μ λ ₯μ λκΈ°ν©λλ€.
μ΄μ κ°μ΄ getch
ν¨μμ kbhit
ν¨μλ₯Ό μ‘°ν©νμ¬ νλ‘κ·Έλ¨μμ μ€μκ°μΌλ‘ ν€λ³΄λ μ
λ ₯μ λ°μ μ μμ΅λλ€. μμ μμ μ½λμμλ μ
λ ₯λ ν€λ₯Ό μΆλ ₯νκ³ 'q' μ
λ ₯ μ νλ‘κ·Έλ¨μ μ’
λ£νλ λμμ ꡬννμμ΅λλ€. μ¬μ©μκ° νΉμ ν€λ₯Ό λλ₯Ό λ μνλ λμμ μννλλ‘ μ½λλ₯Ό μΆκ°ν μ μμ΅λλ€.
- getch ν¨μμ kbhit ν¨μλ₯Ό μ‘°ν©νμ¬ ν€λ³΄λ μ λ ₯μ λ°λ μμ μ½λ
getch
ν¨μμ kbhit
ν¨μλ ν¨κ» μ¬μ©νλ©΄ ν€λ³΄λ μ
λ ₯μ μ€μκ°μΌλ‘ κ°μ§νκ³ μ²λ¦¬ν μ μλ κΈ°λ₯μ μ 곡ν©λλ€. kbhit
ν¨μλ ν€λ³΄λ μ
λ ₯μ΄ μλμ§ μ¬λΆλ₯Ό νμΈνκ³ , getch
ν¨μλ μ€μ λ‘ ν€λ³΄λ μ
λ ₯μ λ°μ΅λλ€. μλ μμ μ½λλ₯Ό ν΅ν΄ ν¨κ» μ¬μ©νλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
#include <stdio.h>
#include <conio.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
}
}
return 0;
}
μμ μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ³Όμ μ΄ μ§νλ©λλ€:
"ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ μ€μ λλ€..."λΌλ λ©μμ§κ° νλ©΄μ μΆλ ₯λ©λλ€. μ΄λ μ¬μ©μμκ² ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬κ³ μλ€λ λ©μμ§μ λλ€.
while
λ¬Έ μμμkbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.kbhit
ν¨μκ°true
λ₯Ό λ°ννλ©΄,getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λ μ λ ₯μ λ°μ΅λλ€.μ λ ₯λ ν€λ₯Ό λ³μ
ch
μ μ μ₯ν©λλ€.λ§μ½ μ λ ₯λ ν€κ° 'q'λΌλ©΄, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ ,
break
λ¬Έμ μ΄μ©νμ¬ λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.μ λ ₯λ ν€κ° 'q'κ° μλλΌλ©΄, μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€.
λ°λ³΅λ¬Έμ΄ λ€μ μμνμ¬ ν€λ³΄λ μ λ ₯μ νμΈνκ³ λ°λ κ³Όμ μ κ³μν©λλ€.
μ΄μ κ°μ΄ getch
ν¨μμ kbhit
ν¨μλ₯Ό ν¨κ» μ¬μ©νλ©΄ μ¬μ©μκ° νΉμ ν€λ₯Ό μ
λ ₯ν λ μνλ λμμ μννλλ‘ νλ‘κ·Έλ¨μ μ μ΄ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μμ μμ μμλ μ
λ ₯λ ν€κ° 'q'μΌ λ νλ‘κ·Έλ¨μ μ’
λ£νλλ‘ νμμ΅λλ€. λ€μν ν€μ λν μ²λ¦¬λ₯Ό μΆκ°νμ¬ μνλ λμμ μνν μ μμ΅λλ€.
- νμ© μμ
getch
ν¨μμ kbhit
ν¨μλ₯Ό μ‘°ν©νμ¬ μ€μκ°μΌλ‘ ν€λ³΄λ μ
λ ₯μ λ°λ κΈ°λ₯μ νμ©ν μ μλ λ€μν μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μμ 1: ν€ μ λ ₯ λκΈ° μκ° μ€μ νκΈ°
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main() {
printf("ν€λ³΄λ μ
λ ₯μ κΈ°λ€λ¦¬λ μ€μ
λλ€...\n");
clock_t start_time = clock(); // νλ‘κ·Έλ¨ μμ μκ° μ μ₯
double wait_time = 3.0; // 3μ΄ λμ ν€λ³΄λ μ
λ ₯μ λκΈ°νλ μκ°
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
printf("μ
λ ₯λ ν€: %c\n", ch); // μ
λ ₯λ ν€ μΆλ ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
}
// ν€ μ
λ ₯ λκΈ° μκ°μ΄ κ²½κ³Όνλ©΄ λ°λ³΅λ¬Έμ μ’
λ£
if ((clock() - start_time) / (double)CLOCKS_PER_SEC >= wait_time) {
printf("μκ°μ΄ μ΄κ³Όλμ΄ νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break;
}
}
return 0;
}
μμ μμ μ½λλ 3μ΄ λμ ν€λ³΄λ μ λ ₯μ κΈ°λ€λ¦¬λ λμμ ꡬνν μμ μ λλ€.
clock
ν¨μλ₯Ό μ¬μ©νμ¬ νλ‘κ·Έλ¨ μμ μκ°μ μ μ₯ν©λλ€.while
λ¬Έμμkbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.λ§μ½ ν€λ³΄λ μ λ ₯μ΄ μλ€λ©΄,
getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ μ λ ₯λ ν€λ₯Ό λ°μ΅λλ€.μ λ ₯λ ν€λ₯Ό νλ©΄μ μΆλ ₯νκ³ , λ§μ½ μ λ ₯λ ν€κ° 'q'λΌλ©΄ νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
ν€ μ λ ₯ λκΈ° μκ°μ΄ κ²½κ³Όνλμ§ νμΈνκΈ° μν΄, νμ¬ μκ°κ³Ό νλ‘κ·Έλ¨ μμ μκ°μ λΉκ΅ν©λλ€.
clock
ν¨μλ νλ‘κ·Έλ¨μ΄ μ€νλ μ΄ν κ²½κ³Όν μκ°μ λ°ννλλ°, μ΄λ₯Ό μ΄ λ¨μλ‘ λ³ννκΈ° μν΄CLOCKS_PER_SEC
μΌλ‘ λλμ΄μ€λλ€.ν€ μ λ ₯ λκΈ° μκ°μ΄ κ²½κ³Ό κ²½μ°, "μκ°μ΄ μ΄κ³Όλμ΄ νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.
μμ 2: νΉμ ν€ μ‘°ν© μ λ ₯ λ°κΈ°
#include <stdio.h>
#include <conio.h>
int main() {
printf("w, a, s, d ν€λ₯Ό μ‘°ν©νμ¬ μ΄λνμΈμ.\n");
int x = 0; // x μ’ν
int y = 0; // y μ’ν
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
switch (ch) {
case 'w':
y--;
break;
case 'a':
x--;
break;
case 's':
y++;
break;
case 'd':
x++;
break;
case 'q':
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
return 0;
}
printf("νμ¬ μμΉ: (%d, %d)\n", x, y);
}
}
return 0;
}
μμ μμ μ½λλ ν€λ³΄λλ‘ 'w', 'a', 's', 'd' μ‘°ν©μ μ λ ₯λ°μ μ’νλ₯Ό μ΄λμν€λ λμμ ꡬνν μμ μ λλ€.
"w, a, s, d ν€λ₯Ό μ‘°ν©νμ¬ μ΄λνμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
x
μy
λ³μλ₯Ό μ¬μ©νμ¬ μ’νλ₯Ό λνλ λλ€.kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ μ λ ₯λ ν€λ₯Ό λ°μ΅λλ€.μ λ ₯λ ν€κ° 'w'μΈ κ²½μ°
y
κ°μ κ°μμν€κ³ , 'a'μΈ κ²½μ°x
κ°μ κ°μμν΅λλ€.μ λ ₯λ ν€κ° 's'μΈ κ²½μ°
y
κ°μ μ¦κ°μν€κ³ , 'd'μΈ κ²½μ°x
κ°μ μ¦κ°μν΅λλ€.μ λ ₯λ ν€κ° 'q'μΈ κ²½μ°, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
νμ¬ μμΉμΈ
x
μy
κ°μ μΆλ ₯ν©λλ€.
μ΄μ κ°μ΄ getch
ν¨μμ kbhit
ν¨μλ₯Ό νμ©νλ©΄ μ¬μ©μκ° μ
λ ₯ν ν€λ₯Ό μ€μκ°μΌλ‘ κ°μ§νκ³ , μ
λ ₯λ ν€μ λ§κ² νλ‘κ·Έλ¨μ μ μ΄νλ κΈ°λ₯μ ꡬνν μ μμ΅λλ€. μμ μ½λμμλ μκ° μ νμ΄λ νΉμ ν€ μ‘°ν©μ λ°λΌ νλ‘κ·Έλ¨μ λμμ μ‘°μ νλ λ κ°μ§ μλ₯Ό μ΄ν΄λ³΄μμ΅λλ€. νμμ λ°λΌ μ΄λ¬ν κΈ°λ₯μ μμ©νμ¬ λ€μν νλ‘κ·Έλ¨μ κ°λ°ν μ μμ΅λλ€.
- getchμ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ λ ₯ κ²μμ λ§λλ μμ μ½λ
μλλ getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int target = rand() % 10; // 0 ~ 9 μ€ λλ€ν μ«μ μ§μ
int count = 0; // μλ νμ
printf("1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό λ§μΆ°λ³΄μΈμ.\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
int guess = ch - '0'; // charλ₯Ό intλ‘ λ³ννμ¬ μΆμΈ‘ κ°μΌλ‘ μ¬μ©
if (guess < 1 || guess > 9) { // μ
λ ₯λ μ«μκ° λ²μλ₯Ό λ²μ΄λ κ²½μ°
printf("μλͺ»λ μ
λ ₯μ
λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ
λ ₯νμΈμ.\n");
continue; // λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λ
}
count++; // μλ νμ μ¦κ°
if (guess == target) { // μ
λ ₯ν μ«μκ° μ λ΅μΈ κ²½μ°
printf("μ λ΅μ
λλ€! μλ νμ: %d\n", count);
break; // λ°λ³΅λ¬Έμ μ’
λ£
} else if (guess < target) {
printf("λ ν° μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
} else {
printf("λ μμ μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
}
}
}
return 0;
}
μμ μμ μ½λλ 1λΆν° 9κΉμ§μ μ«μ μ€ μ¬μ©μκ° μ λ ₯ν μ«μλ₯Ό λ§μΆλ κ²μμ ꡬνν μ½λμ λλ€.
rand
ν¨μμ%
μ°μ°μλ₯Ό μ¬μ©νμ¬ 0λΆν° 9κΉμ§μ λλ€ν μ«μλ₯Ό μμ±νκ³ ,target
λ³μμ μ μ₯ν©λλ€.μ¬μ©μμκ² "1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό λ§μΆ°λ³΄μΈμ."λΌλ μλ΄ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
while
λ¬Έμ μ¬μ©νμ¬ κ²μμ΄ μ§νλλ λμ λ°λ³΅ μμ μ μνν©λλ€.kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λμμ μ λ ₯λ ν€λ₯Ό λ°μ΅λλ€.μ λ ₯λ ν€κ° 'q'μΈ κ²½μ°, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.
μ λ ₯λ ν€λ₯Ό
guess
λ³μμ μ μ₯ν©λλ€. μ΄λ, μ λ ₯λ λ¬Έμλ₯Ό μ«μλ‘ λ³ννκΈ° μν΄'0'
μ λΉΌμ€λλ€.μ λ ₯λ μ«μκ° 1λΆν° 9κΉμ§μ λ²μλ₯Ό λ²μ΄λ κ²½μ°, "μλͺ»λ μ λ ₯μ λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λν©λλ€.
μλ νμλ₯Ό μ¦κ°μν΅λλ€.
μ λ ₯ν μ«μμ
target
λ³μκ° λμΌν κ²½μ°, "μ λ΅μ λλ€! μλ νμ: %d"λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ μμ κ²½μ°, "λ ν° μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ ν΄ κ²½μ°, "λ μμ μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μ΄μ κ°μ΄ getch
ν¨μμ kbhit
ν¨μλ₯Ό νμ©νλ©΄ ν€λ³΄λ μ
λ ₯μ κ°μ§νκ³ , μνλ λμμ μννλ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€ μ μμ΅λλ€. μμ μμ μ½λμμλ μ¬μ©μκ° μ λ΅μ λ§μΆ λκΉμ§ μ«μλ₯Ό μ
λ ₯λ°λ κ²μμ ꡬννμμ΅λλ€. λ€μν κ²μμ λ§λ€κ±°λ λ€λ₯Έ κΈ°λ₯μ μΆκ°νμ¬ μνλ νλ‘κ·Έλ¨μ κ°λ°ν μ μμ΅λλ€. κ²μμ λμ΄λλ₯Ό μ‘°μ νκΈ° μν΄ λ€μν μμλ€μ μΆκ°ν μλ μμ΅λλ€.
- getchμ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ λ ₯ κ²μμ λ§λλ μμ μ½λ
μλλ getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int target = rand() % 10; // 0 ~ 9 μ€ λλ€ν μ«μ μ§μ
int count = 0; // μλ νμ
printf("1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό λ§μΆ°λ³΄μΈμ.\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
int guess = ch - '0'; // charλ₯Ό intλ‘ λ³ννμ¬ μΆμΈ‘ κ°μΌλ‘ μ¬μ©
if (guess < 1 || guess > 9) { // μ
λ ₯λ μ«μκ° λ²μλ₯Ό λ²μ΄λ κ²½μ°
printf("μλͺ»λ μ
λ ₯μ
λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ
λ ₯νμΈμ.\n");
continue; // λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λ
}
count++; // μλ νμ μ¦κ°
if (guess == target) { // μ
λ ₯ν μ«μκ° μ λ΅μΈ κ²½μ°
printf("μ λ΅μ
λλ€! μλ νμ: %d\n", count);
break; // λ°λ³΅λ¬Έμ μ’
λ£
} else if (guess < target) {
printf("λ ν° μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
} else {
printf("λ μμ μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
}
}
}
return 0;
}
μ½λ μ€λͺ
μμ μμ μ½λλ 1λΆν° 9κΉμ§μ μ«μ μ€ μ¬μ©μκ° μ λ ₯ν μ«μλ₯Ό λ§μΆλ κ²μμ ꡬνν μ½λμ λλ€.
target
λ³μμ 0λΆν° 9κΉμ§μ λλ€ν μ«μλ₯Ό μ μ₯ν©λλ€.μ¬μ©μκ° μ«μλ₯Ό λ§μΆλ κ²μμ μμνκΈ° μν μλ΄ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
while
λ¬Έμ μ¬μ©νμ¬ κ²μμ΄ μ§νλλ λμ λ°λ³΅ μμ μ μνν©λλ€.kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λμμ μ λ ₯λ ν€λ₯Ό λ°μ΅λλ€.μ λ ₯λ ν€κ° 'q'μΈ κ²½μ°, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.
μ λ ₯λ ν€λ₯Ό
guess
λ³μμ μ μ₯ν©λλ€. μ΄λ, μ λ ₯λ λ¬Έμλ₯Ό μ«μλ‘ λ³ννκΈ° μν΄'0'
μ λΉΌμ€λλ€.μ λ ₯λ μ«μκ° 1λΆν° 9κΉμ§μ λ²μλ₯Ό λ²μ΄λ κ²½μ°, "μλͺ»λ μ λ ₯μ λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λν©λλ€.
μλ νμλ₯Ό μ¦κ°μν΅λλ€.
μ λ ₯ν μ«μμ
target
λ³μκ° λμΌν κ²½μ°, "μ λ΅μ λλ€! μλ νμ: %d"λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ μμ κ²½μ°, "λ ν° μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ ν΄ κ²½μ°, "λ μμ μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μμ μμ μ½λλ getch
ν¨μμ kbhit
ν¨μλ₯Ό νμ©νμ¬ ν€λ³΄λ μ
λ ₯μ κ°μ§νκ³ , μνλ λμμ μννλ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€ μ μμ΅λλ€. μ¬μ©μλ κ²μμμ μ«μλ₯Ό λ§μΆ λκΉμ§ μ«μλ₯Ό μ
λ ₯νκ² λ©λλ€. κ²μμ λμ΄λλ₯Ό μ‘°μ νκΈ° μν΄ λ€μν μμλ€μ μΆκ°ν μλ μμ΅λλ€.
- getchμ kbhit ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ λ ₯ κ²μμ λ§λλ μμ μ½λ
μλλ getch
μ kbhit
ν¨μλ₯Ό μ¬μ©νμ¬ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λλ μμ μ½λμ
λλ€.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int target = rand() % 10; // 0 ~ 9 μ€ λλ€ν μ«μ μ§μ
int count = 0; // μλ νμ
printf("1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό λ§μΆ°λ³΄μΈμ.\n");
while (1) {
if (kbhit()) { // ν€λ³΄λ μ
λ ₯μ΄ μλμ§ νμΈ
char ch = getch(); // ν€λ³΄λ μ
λ ₯μ λ³μμ μ μ₯
if (ch == 'q') { // λ§μ½ μ
λ ₯λ ν€κ° 'q'λΌλ©΄
printf("νλ‘κ·Έλ¨μ μ’
λ£ν©λλ€.\n");
break; // λ°λ³΅λ¬Έμ μ’
λ£
}
int guess = ch - '0'; // charλ₯Ό intλ‘ λ³ννμ¬ μΆμΈ‘ κ°μΌλ‘ μ¬μ©
if (guess < 1 || guess > 9) { // μ
λ ₯λ μ«μκ° λ²μλ₯Ό λ²μ΄λ κ²½μ°
printf("μλͺ»λ μ
λ ₯μ
λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ
λ ₯νμΈμ.\n");
continue; // λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λ
}
count++; // μλ νμ μ¦κ°
if (guess == target) { // μ
λ ₯ν μ«μκ° μ λ΅μΈ κ²½μ°
printf("μ λ΅μ
λλ€! μλ νμ: %d\n", count);
break; // λ°λ³΅λ¬Έμ μ’
λ£
} else if (guess < target) {
printf("λ ν° μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
} else {
printf("λ μμ μ«μλ₯Ό μ
λ ₯νμΈμ.\n");
}
}
}
return 0;
}
μ½λ μ€λͺ
μμ μμ μ½λλ 1λΆν° 9κΉμ§μ μ«μ μ€ μ¬μ©μκ° μ λ ₯ν μ«μλ₯Ό λ§μΆλ κ²μμ ꡬνν μ½λμ λλ€.
target
λ³μμ 0λΆν° 9κΉμ§μ λλ€ν μ«μλ₯Ό μ μ₯ν©λλ€.μ¬μ©μκ° μ«μλ₯Ό λ§μΆλ κ²μμ μμνκΈ° μν μλ΄ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
while
λ¬Έμ μ¬μ©νμ¬ κ²μμ΄ μ§νλλ λμ λ°λ³΅ μμ μ μνν©λλ€.kbhit
ν¨μλ₯Ό νΈμΆνμ¬ ν€λ³΄λ μ λ ₯μ΄ μλμ§ νμΈν©λλ€.getch
ν¨μλ₯Ό νΈμΆνμ¬ μ€μ λ‘ ν€λ³΄λμμ μ λ ₯λ ν€λ₯Ό λ°μ΅λλ€.μ λ ₯λ ν€κ° 'q'μΈ κ²½μ°, "νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.
μ λ ₯λ ν€λ₯Ό
guess
λ³μμ μ μ₯ν©λλ€. μ΄λ, μ λ ₯λ λ¬Έμλ₯Ό μ«μλ‘ λ³ννκΈ° μν΄'0'
μ λΉΌμ€λλ€.μ λ ₯λ μ«μκ° 1λΆν° 9κΉμ§μ λ²μλ₯Ό λ²μ΄λ κ²½μ°, "μλͺ»λ μ λ ₯μ λλ€. 1λΆν° 9κΉμ§μ μ«μ μ€ νλλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ λ€μ λ°λ³΅μΌλ‘ μ΄λν©λλ€.
μλ νμλ₯Ό μ¦κ°μν΅λλ€.
μ λ ₯ν μ«μμ
target
λ³μκ° λμΌν κ²½μ°, "μ λ΅μ λλ€! μλ νμ: %d"λΌλ λ©μμ§λ₯Ό μΆλ ₯νκ³ , λ°λ³΅λ¬Έμ μ’ λ£ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ μμ κ²½μ°, "λ ν° μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.μ λ ₯ν μ«μκ°
target
λ³μλ³΄λ€ ν΄ κ²½μ°, "λ μμ μ«μλ₯Ό μ λ ₯νμΈμ."λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μμ μμ μ½λλ getch
ν¨μμ kbhit
ν¨μλ₯Ό νμ©νμ¬ ν€λ³΄λ μ
λ ₯μ κ°μ§νκ³ , μνλ λμμ μννλ κ°λ¨ν ν€λ³΄λ μ
λ ₯ κ²μμ λ§λ€ μ μμ΅λλ€. μ¬μ©μλ κ²μμμ μ«μλ₯Ό λ§μΆ λκΉμ§ μ«μλ₯Ό μ
λ ₯νκ² λ©λλ€. κ²μμ λμ΄λλ₯Ό μ‘°μ νκΈ° μν΄ λ€μν μμλ€μ μΆκ°ν μλ μμ΅λλ€.
λκΈ