컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post PHP 문자, 문자열 대소문자 변환 함수, 대문자로 소문자로; Uppercase Lower...Java 자바, while 예제, while문으로 루프 만들기Python 파이썬, 리스트(배열) 요소 순서 거꾸로 뒤집기; Reverse List, A...Python 파이썬, 문자열 뒤집기 함수, 거꾸로 출력하기; Reverse String스내그잇 한글판 다운로드 주소, 다운받기 설치 방법; SnagIt Korean Versio...스내그잇 사용법; SnagIt 간단한 한글 매뉴얼; Snag-It Manual엑셀 숫자 앞에 0 넣기 방법; Excel 숫자 앞에 0 (영; 제로) 붙이기IE6 에서 주소창이 나타나지 않아요, 익스플로러 6 주소 표시줄 문제; Explore 6...한국시간, 미국시간, 중국시간 등 세계시간 알아보기 사이트 주소; World Clock, ...확장자 lnk 파일 읽는 방법; LNK File 열기, 편집 프로그램은?

PHP CLI, Y/N, Yes/No/Cancel(예,아니오,취소) 키보드 입력 받기; getc, Get A Key

Sunday, June 03, 2007

키보드로부터 딱 1글자만 입력받는 예제입니다. 아래 예제에서는 Yes/No/Cancel 을 y,n,c 한 글자만 입력받아 처리합니다. 위험한 작업에 앞서 사용자로부터 선택 사항을 입력 받거나 허락을 받는 용도입니다. C언어의 getch() 함수에 해당하는 함수가 없어서, 아래와 같이 직접 만들어 주었습니다. 아래의 getch() 함수는 편의상, 모든 글자를 소문자로 변환하여 반환합니다. 그런데 Enter키를 꼭 쳐주어야 한다는 불편함이 있습니다. 이것은 해결할 방법이 없더군요.

사용자가 엉뚱한 키를 입력했을 때에는 다시 입력받습니다.

getch: 사용자로부터, 알파벳 한 글자만 입력 받기 예제


소스 파일명: getch.php
<?php


print "예/아니오/취소 선택 (Y/N/C) ? ";


for (;;) {
  $c = getch();

  if ($c == 'y') { print "YES\n"; break; }
  if ($c == 'n') { print "NO\n"; break; }
  if ($c == 'c') { print "CANCEL\n"; break; }
}



// 키보드로부터 직접, 영문 한 글자만 입력받는 함수
function getch() {
  $fp = fopen("con", "rb");
  $c = fread($fp, 1);
  fclose($fp);

  // 소문자로 변환 후 반환
  return strtolower($c);
}


?>



위의 예제 소스 실행 결과 화면:
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? y
YES
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? n
NO
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? c
CANCEL
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? Y
YES
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? N
NO
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? C
CANCEL
D:\Z>php getch.php
예/아니오/취소 선택 (Y/N/C) ? uuu
eee
u
t
y
YES
D:\Z>



0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top