|
분류 함수(Classification Routines) 아래의 함수들은 ASCII 문자(character)의 종류를 구하는데 유용하게 사용 할 수 있다. isalnum(ctype.h) Is AlphaNumeric Character; 알파벳 혹은 숫자 문자3)인지를 검사 3) ASCII 48번에서 57번까지의 문자, '0', '1', ... ,'9'를 말한다. 한다. isalpha(ctype.h) Is Alphabet Character; 알파벳 문자인지를 검사한다. isascii(ctype.h) Is ASCII Character; 아스키 문자인지를 검사한다. iscntrl(ctype.h) Is Control Character; 컨트롤 문자(0-31)인지를 검사한다. isdigit(ctype.h) Is Digit Character; 숫자 문자인지를 검사한다. isgraph(ctype.h) Is Graphic Character; 아스키 그래픽 문자인지를 검사한다. islower(ctype.h) Is Lower Character; 소문자인지를 검사한다. isprint(ctype.h) Is Printable Character; 프린트 가능한 문자인지를 검사한다. ispunct(ctype.h) Is Punctuation Character; 구두점 문자인지를 검사한다. isspace(ctype.h) Is White Space4) Character; space, tab, carriage return, new line, 4) 흰 공백(white space)은 컴파일러가 컴파일 과정에서 토큰과 토큰의 분리자 (separator)로써 무시하는 문자를 의미한다. 일반적으로 텍스트 에디터 상에서는 사용 자가 입력할 수 있는, space, enter(carriage return+line feed), tab을 의미한다. vertical tab, formfeed (0x09 to 0x0D, 0x20)인지를 검사한다. isupper(ctype.h) Is Upper Character; 대문자인지를 검사한다. isxdigit(ctype.h) Is HexaDigit; 16진 문자인지를 검사한다. 콘솔 입출력 함수(Console5) I/O Routines) 5) 콘솔(console)은 고전적으로 표준 입출력장치(standard I/O device)를 의미한다. 개인 용 컴퓨터가 일반화되기 전에, 사람들은 중앙 컴퓨터에 연결된 단말기(terminal) 장치를 사용했는데, 이것에 붙인 고유 이름이 콘솔이었다. 즉, 콘솔은 화면(screen)과 키보드가 붙은 단말기 장치를 의미한다. 그러므로 '콘솔 입출력=화면 출력과 키보드 입력=표 준 입출력'을 의미하게 되었다. cgets6)(conio.h) 6) gets는 stdio.h에 지정된 ANSI 표준 함수인 반면에, cgets는 gets와 역할이 같지만, 표준 함수가 아니라는 점에 주목하라. 입출력 함수들 중, 표준 함수가 아닌 모든 콘솔 입출력 함수는 conio.h에 지정되어 있다. 이것은 IBM의 콘솔 기능(색,윈도우 등)이 업 계의 표준이 아니기 때문이다. 즉 원래의 콘솔에는 글자의 색을 지정할 수 없었다. 하 지만, IBM 의 컬러 모니터에는 글자의 색 지정이 가능하다. 그러므로 색을 지정하는 함수나 색이 있는 문자열을 입력 받는 cgets 같은 함수를 ANSI에서 표준으로 정할 수 없었다. 하지만, 대부분의 상용 컴파일러에서는 conio.h를 포함하고 있다. 이것이 printf 와 cprintf가 stdio.h와 conio.h에 각각 분리되어 있는 이유이다. printf로는 색이 있는 문 자열을 출력할 수 없다. Console Get String; 문자열을 입력 받는다. clreol(conio.h) Clear To End Of Line; 줄의 끝까지 지운다. clrscr(conio.h) Clear Screen; 화면을 현재의 바탕색으로 모두 지운다. cprintf(conio.h) Console Print Formatted String; 형식화된 문자열을 출력한다. cputs(conio.h) Console Put String; 문자열을 출력한다. delline(conio.h) Delete Line; 한 줄을 지운다. getpass(conio.h) Get Password; 비밀번호를 입력 받는다. gettext(conio.h) Get Text; 화면의 일부를 메모리로 복사한다. gettextinfo(conio.h) Get Text Mode Information; 텍스트 모드의 비디오 정보를 얻는다. gotoxy(conio.h) Goto (X,Y); 커서를 특정한 곳에 위치시킨다. highvideo(conio.h) High-Intensity Video; 밝기가 높은 문자로 설정한다. insline(conio.h) Insert Line; 한 줄을 입력한다. lowvideo(conio.h) Low-Intensity Video; 밝기가 낮은 문자로 설정한다. movetext(conio.h) Move Text; 화면에 있는 텍스트를 옮긴다. normvideo(conio.h) Normal Video; 정상 상태의 문자로 설정한다. putch(conio.h) Put Character; 문자를 출력한다. puttext(conio.h) Put Text; 메모리에 복사된 문자들을 화면에 출력한다. _setcursortype(conio.h)7) 7) 함수의 이름 앞에 언더스코어(underscore: _)가 있는 함수는 표준함수가 아니다는 것 을 컴파일러 제조 업체(vendor)가 강조한 것이다. 미리 정의된 매크로나 전역 변수 대 부분은 한 개 혹은 두 개의 언더스코어를 포함하고 있는데, 이것은 표준이 아니며 또 한 사용자가 정의하는 전역 변수와의 충돌을 피하기 위해 붙여졌다. 커서의 모양을 설정한다. textattr(conio.h) Text Attribute; 문자의 속성을 설정한다. textbackground(conio.h) 문자의 배경색을 설정한다. textcolor(conio.h) 문자의 전경색(foreground color)을 설정한다. textmode(conio.h) 텍스트 모드를 설정한다. ungetc(stdio.h) 입력 스트림(stream8))에 문자를 거꾸로 갖다 놓는다. 8) 스트림은 데이터의 연속적인 흐름(stream)을 의미한다. 예를 들면, 키보드에서 연속 적인 데이터의 입력이 일어 날 수 있으므로, 키보드는 입력 스트림이다. 일반적으로 스트림은 파일(file)과 같은 개념이다. 운영체제는 키보드를 표준 입력 파일로 취급한 다. 파일은 사용 전에 열어야 하는데, 운영체제가 부팅(booting)할 때, 표준 입출력 파 일은 자동으로 열린다. wherex(conio.h) 커서의 x위치를 구한다. wherey(conio.h) 커서의 y위치를 구한다. window(conio.h) 텍스트 윈도우를 생성한다. 변환 함수(Conversion Routines) atof(stdlib.h) ASCII string to Float; 문자열을 부동소수형으로 바꾼다. atoi(stdlib.h) ASCII string to Integer; 문자열을 정수형으로 바꾼다. atol(stdlib.h) ASCII string to long integer; 문자열을 긴 정수형으로 바꾼다. ecvt(stdlib.h) Exponential Convert to string; 지수형의 실수를 문자열로 바꾼다. fcvt(stdlib.h) Floating Convert; 실수를 문자열로 바꾼다. gcvt(stdlib.h) General Convert; 일반형의 실수를 문자열로 바꾼다. itoa(stdlib.h) Integer to ASCII; 정수를 문자열로 바꾼다. ltoa(stdlib.h) Long integer to ASCII; 긴 정수를 문자열로 바꾼다. strtod(stdlib.h) String to Double; 스트링을 더블형으로 바꾼다. strtol(stdlib.h) String to Long; 스트링을 긴 형으로 바꾼다. _strtold(stdlib.h) String to Long Double; 스트링을 긴 더블형으로 바꾼다. strtoul(stdlib.h) String to Unsigned Long; 스트링을 부호 없는 긴 형으로 바꾼다. toascii(ctype.h) To ASCII; 문자를 아스키 문자로 바꾼다. _tolower(ctype.h) To Lower Character; 소문자로 바꾼다. tolower(ctype.h)9) 9) 함수 이름은 같지만, 언더스코어가 붙어 있는 함수가 있는 경우가 있다. 이 때 언더 스코어가 붙은 함수는 더 하위 레벨(low level)의 함수이다. 함수가 하위 레벨이라는 의 미는 일반적으로 더 자세하게 다룰 수 있으며, 속도가 더 빠르지만, 기계에 의존적이 라는 의미이다. 소문자로 바꾼다. _toupper(ctype.h) To Upper Character; 대문자로 바꾼다. toupper(ctype.h) 대문자로 바꾼다. ultoa(stdlib.h) Unsigned Long to ASCII; 부호 없는 긴 형을 아스키 문자열로 바꾼 다. 진단 함수(Diagnostic Routines) assert(assert.h) Assert Condition; 조건을 비교하여 가능하면 종료한다. _matherr(math.h) Math Error; 사용자가 변경할 수 있는 수학 에러 핸들러(handler)이 다. _matherrl(math.h) Math Error; 사용자가 변경할 수 있는 수학 에러 핸들러(handler)이 다. perror(errno.h) Print System Error Message; 시스템 에러 메시지를 출력한다. 폴더(folder10)) 제어 함수(Directory Control Routines) 10) 폴더와 디렉토리는 같은 개념이다. 명령 행(command line) 프람프트(prompt) - 예를 들면 C:\> - 에서 사용하던, 디렉토리와 구분하기 위해서, 일반적으로 GUI 환경에서는 폴더란 말을 사용한다. chdir(dir.h) Change Directory; 현재 디렉토리를 바꾼다. _chdrive(direct.h) Change Drive; 현재 드라이브를 바꾼다. closedir(direct.h) Close Directory; 디렉토리 스트림을 닫는다. _dos_findfirst(dos.h)11) 11) 이 함수의 옛날 이름은 findfirst였다. 도스와 Win95는 파일 시스템이 다르므로, Win95에서 findfirst는 Win95의 함수로 승격되었다. 도스에서 findfirst는 이 함수를 사용 해야 한다. 이러한 함수가 이 밖에도 몇 개 더 존재한다. 어떤 함수는 아예 폐기 (obsolete) 되었다. Find Fist File; 첫 번째 파일을 찾는다. _dos_findnext(dos.h) Find Next File; 연속된 다음의 파일을 찾는다. _dos_getdiskfree(dos.h) Get Disk Free Space; 디스크의 남은 공간을 구한다. _dos_getdrive(dos.h) Get Drive; 현재 드라이브를 구한다. _dos_setdrive(dos.h) Set Drive; 현재 드라이브를 정한다. findfirst(dir.h) Find First File; 첫 번째 파일을 찾는다. findnext(dir.h) Find Next File; 연속된 다음의 파일을 찾는다. fnmerge(dir.h) Filename Merge; 파일 이름을 합친다. fnsplit(dir.h) Filename Split; 파일 이름을 분리한다. _fullpath(stdlib.h) Full Path; 완전한 경로를 구한다. getcurdir(dir.h) Get Current Directory; 현재 디렉토리를 구한다. getcwd(dir.h) Get Current Working Directory; 현재 작업 디렉토리를 구한다. _getdcwd(direct.h) Get Drive Specified Current Working Directory; 지정된 드라이브의 현재 작업 디렉토리를 구한다. getdisk(dir.h) 현재의 디스크를 구한다. _makepath(stdlib.h) 부분품에서 경로를 구성한다. mkdir(dir.h) Make Directory; 디렉토리를 만든다. mktemp(dir.h) Make Temp; 유일한(unique) 파일 이름을 만든다12). 12) 현재의 디렉토리에 없는 유일한 파일을 생성할 필요가 종종 발생한다. 이 때 이 함 수를 사용한다. 후에 사용자가 명시적으로 지워주지 않으면, 디스크에 남게 된다. opendir(direct.h) Open Directory Stream; 읽을 목적으로 디렉토리 스트림을 연다. readdir(dirent.h) Read Current Directory Entry; 디렉토리 스트림에서 현재 시점 (entry)를 읽는다. rewinddir(dirent.h) Rewind Directory; 디렉토리 스트림의 현재 시점을 처음으로 되돌린 다. rmdir(dir.h) Remove Directory; 디렉토리를 제거한다. _searchenv(stdlib.h) Search Environment; 파일을 환경에서 설정한 경로에서 찾는다. searchpath(dir.h) 파일의 운영체제의 탐색 경로를 찾는다. _searchstr(stdlib.h) Search String; 파일을 위해서 디렉토리의 리스트를 찾는다. setdisk(dir.h) 현재의 드라이브 번호를 설정한다. _splitpath(stdlib.h) 경로 이름을 분리한다. 윈도우 함수(EasyWin Routines) clreol(conio.h) Clear to End Of Line; 줄의 끝까지 지운다. clrscr(conio.h) Clear Screen; 화면을 현재의 배경색으로 지운다. fgetchar(stdio.h) File Get Character; 파일에서 한 문자를 읽는다. getch(conio.h) Get Character; 한 문자를 읽는다. getchar(stdio.h) Get Character; 한 문자를 읽는다13). 13) getchar은 표준 함수이지만, getch는 conio.h에 정의되어 있는 표준이 아닌 함수이 다. 하지만, 일반적으로 conio.h는 대부분의 컴파일러에서 지원하므로, getchar보다는 |