'c or linux'에 해당되는 글 213건

  1. 2005.02.12 #ifdef __cplusplus 1
  2. 2005.02.11 Setjmp()
  3. 2005.02.05 C언어 함수

#ifdef __cplusplus

c or linux 2005. 2. 12. 20:39


#ifdef __cplusplus
extern "C" {
#endif

C++파일이면 extern "C" { 이 구문을 추가하라는 얘깁니다.
이 헤더파일이 C++에서 사용될 경우 C 파일에서 정의된 함수는 C++에서
사용할 수 없기 때문에 미리 정의해놓은 것이지요..

#ifdef __cplusplus
extern "C"
{
#endif

C함수 선언들...

#ifdef __cplusplus
}
#endif

 

 

전처리기에서 가장 먼저 수행 되는 부분 입니다. 선행처리기라고도 합니다. 종류로는 #define, #if, #ifdef, #ifndef, #defined, #undef가 있습니다. 이것은 기존에 있는 방대한 소스 코드를 지우지 않고 활성화 비활성화 하는데 가장 많이 이용 합니다. 기존에 있는 소스를 건드리지 않는 상태에서 부분적으로 컴파일 하는곳에 쓰입니다.

 

#define

구문의 상수로 치환할때 쓰입니다. 대체해서 쓰겠다는 뜻입니다.

또한 #define은 함수 역활 비슷하게 매크로로써 쓰일수 있습니다.

#define SUM(x) ((x) = (x)+(x))

이렇게 쓰일수 있습니다. 동작원리는 함수와 같습니다. 말 그대로 main소스에서 SUM을 호출하면 옆에 있는 더하기 코드가 치환되는 것입니다.

 

#ifdef, #ifndef

(#ifndef __헤더명_H__)

헤더파일이 겹치는 것을 막기위한 일종의 매크로입니다. 예를들어 헤더파일에다가 어떤 클래스의 인터페이스 선언을 넣었다고 합시다. 이 클래스 인터페이스에서 다른 파일의 프로토타잎이 필요해서 다른 A 파일을 include 하고 있는데 이 헤더 파일을 include 하는 파일에서 A라는 헤더 파일을 이미 include 하고 있다면 두번 define한 것이 됩니다. 그러면 SYNTEX 에러가 나겠지요. 그래서 그런것을 막는 방법의 하나로 #ifndef을 제공합니다. 이전에 include되어 있으면 #endif쪽으로 점프해버려 결국 한번 선언되는 것입니다.

예를 들어

#include  <stdio.h>    ------ (a)

#include  <stdio.h>    ------ (b)
두번 썼다고 합시다. 그런데 앞에 이미 include를 했는데 밑에 또 한다면 문제가 되겠죠. 컴파일러가 검사해야할 코드량도 많아지구요.

그래서 stdio.h 에는

#ifndef _STDIO_H

#define _STDIO_H

가 선언되어 있습니다.

만약 _STDIO_H가 선언되어 있지 않다면 선언한다는 뜻이죠. 그 뒤 (b)에서는 이미 (a) 쪽에서 _STDIO_H 을 선언한 상태이기 때문에 전처리기 쪽에서 무시해버립니다. 그럼 컴파일러는 (a)만 검사하겠죠.


컴파일할 때

#ifdef HAHAHAHA

               printf("HAHAHAHA");

#else

               printf("HOHOHOHO");

#endif

와 같이 쓰면 만약 HAHAHAHA가 선언되어 있다면 printf("HAHAHAHA");를 전처리기가 컴파일러에게 넘겨주고 아니라면 printf("HOHOHOHO"); 를 넘겨줍니다. 컴파일할 때 전처리기에게 옵션을 줄 수 있습니다. 이것을 보통 preprocessor definition 이라고 하는데요, 전처리기에게 "HAHAHAHA가 있는 부분을 포함시켜!" 라고 옵션을 주는 것이죠. 보통 컴파일러마다 제공합니다. 비주얼 스투디오도 셋팅에 보면 있구요, gcc는 gcc -DHAHAHAHA .......... 와 같이 하면 되죠.

 

#if

#if 구문은 if랑 아주 비슷합니다.

이것은 어떠한 구문을 컴파일 할지 안할지를 지정할수 있습니다.
#define A 1
#if A
    source code.....
#endif
위에는 소스는 컴파일이 됩니다. if문에서와 같이 참, 거짓을 구분하여 컴파일 됩니다. 위에서 A값은 1...즉 0보다 큰수 이기 때문에 참으로 돌아가는 것입니다. 직접 #if 0 .... #endif 이렇게 하면 거짓이기 때문에 이 부분은 컴파일이 되지 않습니다.

 

#defined

여러개의 define이 되어져 있는지를 검사할때 쓰입니다. 이것은 여러개를 동시에 검사 할수 있습니다.

#if #defined A || #defined B

 

#undef

위에서 define된 것을 무효화 시키는 것입니다. 예를 들면

#define A 10

이렇게 되있고 뒤에서

#undef A

이렇게 하면 A로 디파인된 값은 무효화 되는 것입니다.

 

 

프로그래머들 마다의 코딩 스타일(암시적 약속)이 있습니다. 보통 매크로, const 변수는 대문자로 적는 것이 원칙입니다. 매크로 함수와 일반함수, 매크로대상체(object-like macro)와 일반변수를 구분하기 쉽게 해주는 것이지요.

#define STDIO_H_

왜 뒤에 _를 붙였을까요? 이것도 하나의 암시적 약속입니다. 컴파일러 제작회사는 매크로를 정의할 때 사용자들과 이름이 충돌이 나지 않게 하기 위해서 대부분 _를 뒤어 덧붙입니다. 또한 _를 하나 혹은 두개연속으로 시작하는 것은 컴파일러 내부에서 사용하는 매크로라는 성격이 강합니다. 물론 강제적인 뜻은 없으며 단지 관습상 그렇습니다. 왜 이것이 관습이 되었나하면 보통 매크로 변수이름이나 함수이름을 지을때 뒤에 _를 붙이지 않기 때문입니다. 그래서 함수제작자들이 _를 단골로 붙였습니다.

 

다음과 같은 매크로는 컴파일러 내부에서 실제로 쓰이며 표준 C에서 인정한 매크로들 입니다. 설마 사용자가 이런 매크로를 정의해서 사용하지는 않겠죠? 물론 다시 정의하면 오류가 나게 됩니다.

__LINE__

__FILE__

__DATE__

__IME__

__STDC__

__STDC

_VERSION__

printf("%d\n", __LINE__); 과 같이 실제로 찍어볼 수도 있습니다.

 

사실 매크로명은 마음대로 지어도 상관없습니다. 하지만 경력이 많은 C 프로그래머들이 암시적으로 써온 약속들이 있기 때문에 대부분 그렇게 하는 것입니다. 내부적으로 해석되는 것은 토큰이 하나 이상만 되면 모두 매크로 정의가 되는 것이며 하나일 경우 치환은 되지 않습니다.

 

 

C의 predefined macro

__FILE__ a string that holds the path/name of the compiled file
__LINE__ an integer that holds the number of the current line number
__DATE__ a string that holds the current system date
__TIME__ a string that holds the current system time
__STDC__ defined as the value '1' if the compiler conforms with the ANSI C standard
__cplusplus determines if your compiler is in C or C++ mode. Usually used in headers

 

예)

#include <stdio.h> 
 
void main(void) 

    printf("The path/name of this file is %s\n", __FILE__); 
    printf("The current line is %d\n", __LINE__); 
    printf("The current system date is %s\n", __DATE__); 
    printf("The current system time is %s\n", __TIME__);  

    #ifdef __STDC__ 
        printf("The compiler conforms with the ANSI C standard\n"); 
    #else 
        printf("The compiler doesn't conform with the ANSI C standard\n"); 
    #endif 
    #ifdef __cplusplus 
        printf("The compiler is working with C++\n"); 
    #else 
        printf("The compiler is working with C\n"); 
    #endif 

 


 

'c or linux' 카테고리의 다른 글

POSIX 쓰레드로 멀티 쓰레드 프로그래밍하기  (0) 2005.02.18
함수 포인터  (0) 2005.02.16
ctags 활용  (0) 2005.02.15
Setjmp()  (0) 2005.02.11
C언어 함수  (0) 2005.02.05
Posted by '김용환'
,

Setjmp()

c or linux 2005. 2. 11. 22:41

CS360 Lecture notes -- Setjmp

  • Jim Plank
  • Directory: /blugreen/homes/plank/cs360/notes/Setjmp
  • Lecture notes: http://www.cs.utk.edu/~plank/plank/classes/cs360/360/notes/Setjmp/lecture.html

    setjmp()/longjmp()

    Setjmp() and longjmp() are subroutines that let you perform complex flow-of-control in C/Unix.

    One of the keys to understanding setjmp() and longjmp() is to understand machine layout, as described in the assembler and malloc lectures of the past few weeks. The state of a program depends completely on the contents of its memory (i.e. the code, globals, heap, and stack), and the contents of its registers. The contents of the registers includes the stack pointer (sp), frame pointer (fp), and program counter (pc). What setjmp() does is save the contents of the registers so that longjmp() can restore them later. In this way, longjmp() ``returns'' to the state of the program when setjmp() was called.

    Specifically:

    #include < setjmp.h >
    int setjmp(jmp_buf env);
    
    This says to save the current state of the registers into env. If you look in /usr/include/setjmp.h, you'll see that jmp_buf is defined as:
    #define _JBLEN  9
    typedef struct { int _jb[_JBLEN + 1]; } jmp_buf[1];
    
    This is an irritating way of saying that jmp_buf is an array of _JBLEN+1 integers.

    So, when you call setjmp(), you pass it the address of an array of integers, and it stores the value of the registers in that array. Setjmp() returns 0 when you call it in this way.

    longjmp(jmp_buf env, int val);
    
    Longjmp() resets the registers to the values saved in env. This includes the sp, fp and pc. What this means is that longjmp() doesn't return. Instead, when you call it, you return as if you have just called the setjmp() call that saved env. This is because the pc is restored along with the other registers. Setjmp() returns the val argument of longjmp(), which is not allowed to be zero (read the man page). Thus, you know when setjmp() returns a non-zero value that longjmp() was called, and is returning to setjmp().

    As an example, look at the following code (in sj1.c):


    #include < setjmp.h >
    
    main()
    {
      jmp_buf env;
      int i;
    
      i = setjmp(env);
      printf("i = %d\n", i);
    
      if (i != 0) exit(0);
    
      longjmp(env, 2);
      printf("Does this line get printed?\n");
    
    }
    

    When we run this, we get:
    UNIX> sj1
    i = 0
    i = 2
    UNIX>
    
    So, first, we call setjmp(), and it returns 0. Then we call longjmp() with a value of 2, which causes the code to return from setjmp() with a value of 2. That value is printed out, and the code exits.

    Setjmp() and longjmp() are usually used so that if an error is detected within a long string of procedure calls, the error may be dealt with gracefully by a high-level call. For example, look at sj2.c. It looks to be complicated, but really isn't. What happens is that there is a complicated series of procedure calls -- proc_1 through proc_4. If proc_4's argument is zero, then it flags the error by calling longjmp(). Otherwise, things proceed normally. As you can see, if you call sj2 with all positive arguments, then everything is ok. However, if you call it with all zeros, it will make the longjmp() call, and flag an error:

    UNIX> sj2 1 2 3 4
    proc_1(1, 2, 3, 4) = 4
    UNIX> sj2 0 0 0 0
    Error -- bad value of i (0), j (0), k (0), l (0)
    UNIX>
    

    Now, setjmp() saves all the registers, including the sp and fp. What this means is that if you return from a procedure that calls setjmp(), then the env buffer of that setjmp() will no longer be valid. Why? Because that env buffer contains the sp and fp of the calling procedure. If that procedure returns, then when you restore the sp and fp, the stack will be in a different state than before, and you will have an error. For example, look at sj3.c.

    When we execute it, we get the following:

    UNIX> sj3
    Setjmp() returned -- i = 0
    s = Jim
    In B: i=3.  Calling longjmp(env, i)
    Setjmp() returned -- i = 3
    Segmentation fault (core dumped)
    UNIX>
    
    So, exactly what is happening? When the main() routine is first called, the stack looks as follows:
                  Stack        
            |----------------|
            |                |
            |                |
            |                |
            |                |
            |                |
            |                | <-------- sp
            | env[0]         |
            | env[1]         |
            | env[2]         |               pc = main
            | env[3]         |
            | ....           |
            | env[8]         |
            | other stuff    | <------- fp
            |--------------- |
    
    Now, main() calls a(). First it pushes the arguments on the stack in reverse order, and then jsr is called, which pushes the return pc on the stack, and the old fp. The fp and sp are changed to make an empty stack frame for a():
                                         Stack        
                                   |----------------|
                                   |                |
                                   |                | <--------- sp, fp
                    /------------- | old fp in main |
                    |              | old pc in main |
                    |   "Jim" <--- | s = "Jim"      |
                    |         /--- | pointer to env | 
                    |         \--> | env[0]         |
                    |              | env[1]         |
                    |              | env[2]         |               pc = a
                    |              | env[3]         |
                    |              | ....           |
                    |              | env[8]         |
                    \------------> | other stuff    | 
                                   |--------------- |
    

    The first thing that a() does is allocate room its local variable i:

                                         Stack        
                                   |----------------|
                                   |                | <--------- sp
                                   |      i         | <--------- fp
                    /------------- | old fp in main |
                    |              | old pc in main |
                    |   "Jim" <--- | s = "Jim"      |
                    |         /--- | pointer to env | 
                    |         \--> | env[0]         |
                    |              | env[1]         |
                    |              | env[2]         |               pc = a
                    |              | env[3]         |
                    |              | ....           |
                    |              | env[8]         |
                    \------------> | other stuff    | 
                                   |--------------- |
    
    Then it calls setjmp(). This saves the current state of the registers. In other words, it saves the current values of sp, fp, and pc. Now, a() prints "i = 0", and "s = Jim", and then returns to main(). Now the stack looks as before, except that env is initialized to the state of the machine when a() was called:
                                         Stack        
                                   |----------------|
                                   |                |
                                   |                | 
                                   |                |
                                   |                |
                                   |                |
                                   |                | <----------- sp
                                   | env[0]         |
                                   | env[1]         |
                                   | env[2]         |               pc = main
                                   | env[3]         |
                                   | ....           |
                                   | env[8]         |
                                   | other stuff    | <------------ fp
                                   |--------------- |
    
    Now, main() calls b(), and the stack looks as follows:
                                         Stack        
                                   |----------------|
                                   |                |
                                   |                | <--------- sp, fp
                    /------------- | old fp in main |
                    |              | old pc in main |
                    |              | i = 3          |
                    |         /--- | pointer to env | 
                    |         \--> | env[0]         |
                    |              | env[1]         |
                    |              | env[2]         |               pc = b
                    |              | env[3]         |
                    |              | ....           |
                    |              | env[8]         |
                    \------------> | other stuff    | 
                                   |--------------- |
    
    Then longjmp() is called. The registers are restored to their values when a() called setjmp(), and the pc returns from setjmp() in a(). However, the values in the stack are the same as they were for b():
                                         Stack        
                                   |----------------|
                                   |                | <--------- sp
                                   | i = 2          | <--------- fp
                    /------------- | old fp in main |
                    |              | old pc in main |
                    |              | s??    = 3     |
                    |         /--- | pointer to env | 
                    |         \--> | env[0]         |
                    |              | env[1]         |
                    |              | env[2]         |               pc = a
                    |              | env[3]         |
                    |              | ....           |
                    |              | env[8]         |
                    \------------> | other stuff    | 
                                   |--------------- |
    
    You should see the problem. The stack is in a bad state. In particular, a() expects there to be a (char *) where s is, and instead, there is the integer value 3. Thus, when it tries to print out s, it tries to find a string at memory location 3, and dumps core.

    This is a very common bug with setjmp() and longjmp() -- to use them properly, you CANNOT RETURN FROM THE PROCEDURE THAT CALLS setjmp(). As you can see, this bug is subtle -- the stack frame for b() looks a lot like the stack frame for a(), and thus this bug might slip by unnoticed for a while.


    Setjmp() and signals

    One of the nice things about setjmp() and longjmp() is that you can longjmp() out of a signal handler, and back into your program. This lets you catch those signals again.

    Look at sh4.c:

    Note that this program longjmps out of alarm_handler after 8 seconds have passed, and then prints "Gave up". Be sure you can trace through this.


    png.c

    Ok -- in the program

    Look at png.c (which stands for "prime number generator"), there is some really cool stuff going on. Copy it and run it (you'll have to exit with CNTL-C), and then see if you can figure out what's going on. Note that this program may seg-fault. Can you figure out why? Unfortunately, I will not have time to go over this program, but it is a good exercise to see if you can understand it.

    Obviously, you'd do better to use threads to implement something like this.

  • 'c or linux' 카테고리의 다른 글

    POSIX 쓰레드로 멀티 쓰레드 프로그래밍하기  (0) 2005.02.18
    함수 포인터  (0) 2005.02.16
    ctags 활용  (0) 2005.02.15
    #ifdef __cplusplus  (1) 2005.02.12
    C언어 함수  (0) 2005.02.05
    Posted by '김용환'
    ,

    C언어 함수

    c or linux 2005. 2. 5. 03:29
    24. C언어 함수 요약


    이번 부록은 [C언어 이야기] 독자를 위해 준비한 선물입니다. 제 책에서 사용한 함수는 사실 두 개 밖에 없습니다. 책의 처음부터 끝까지 printf() 함수와 scanf() 함수만 사용합니다. 그 외 getch() 함수 등도 잠깐 등장하지만 기타 함수는 거의 사용하지 않았습니다. 아마 컴퓨터 언어 책 중에서 함 수 두 개로만 진행하는 책은 [C언어 이야기]가 유일한 것 같습니다. (^_^)

    이 때문에 다른 함수를 사용해보고 싶은 독자들의 욕구를 충족시키기 위하여 터보C 관련 내용을 간단하게 요약했습니다. 보통 터보C 함수를 설명한 라이브러리 책만 해도 600쪽은 훨씬 넘는 분량입니다. 이것을 최대한 줄여서 부록으로 수록했습니다.

    일단 함수 일람표만 보더라도 도움이 될 것이라 생각합니다. 구체적인 함수 사용법은 이 책 본문에서 설명한 '컴파일러 도움말 보기' 부분을 참고하기 바랍니다. 컴파일러 도움말을 참고하면 사용법을 알 수 있습니다. 특히 볼랜드C++의 경우에는 함수 설명에 예제도 나오기 때문에 함수 사용법을 손쉽게 익힐 수 있습니다. 터보C 함수 중에서 그래픽 관련 함수를 제외한 텍스트 관련 함수는 대부분 볼랜드C++에서도 지원하는 함수입니다. 따라서 볼랜드C++ 사용자에게도 도움이 될 것으로 생각합니다.

    부록인 [터보C 2.0 함수 요약]의 내용은 몇 년 전에 PC통신망에서 받은 문서 파일과 터보C의 내장 도움말을 참고하여 요약한 것입니다. 요약된 내용이라 이 책의 내용만으로
    부록으로 준비한 [터보C 2.0 함수 요약]이 여러분의 C언어 공부에 도움이 되기를 기대합니다.

    24.0.터보C 2.0 함수 목록 (가나다 순)

          [a]

          24.1.1. abort()
          24.1.2. abs()
          24.1.3. absread()
          24.1.4. abswrite()
          24.1.5. access()
          24.1.6. acos()
          24.1.7. allocmem()
          24.1.8. arc()
          24.1.9.asctime()
          24.1.10. asin()
          24.1.11. assert()
          24.1.12. atan()
          24.1.13. atan2()
          24.1.14. atexit()
          24.1.15. atof()
          24.1.16. atoi()
          24.1.17. atol()

          [b]

          24.1.18. bar()
          24.1.19. bar3d()
          24.1.20. bdos()
          24.1.21. bdosptr()
          24.1.22. bioscom()
          24.1.23. biosdisk()
          24.1.24. biosequip()
          24.1.25. bioskey()
          24.1.26. biosmemory()
          24.1.27. biosprint()
          24.1.28. biostime
          24.1.29. brk()
          24.1.30. bserch()

          [c]

          24.1.31. cabs()
          24.1.32. calloc()
          24.1.33. ceil()
          24.1.34. cgets()
          24.1.35. chdir()
          24.1.36. _chmod()
          24.1.37. chmod()
          24.1.38. chsize()
          24.1.39. circle()
          24.1.40. _clear87()
          24.1.41. cleardevice()
          24.1.42. clearerr()
          24.1.43. clearviewport()
          24.1.44.clock()
          24.1.45. _close()
          24.1.46. close()
          24.1.47. closegraph()
          24.1.48. clreol()
          24.1.49. clrscr()     
          24.1.50. coreleft()
          24.1.51. cos()
          24.1.52. cosh()
          24.1.53.country()
          24.1.54.cprintf()
          24.1.55.cputs()
          24.1.56. _creat()
          24.1.57. creat()
          24.1.58. creatnew()
          24.1.59.creattemp
          24.1.60. cscanf()
          24.1.61. ctime()
          24.1.62.ctrlbrk()

          [d]

          24.1.63.delay()
          24.1.64. delline()
          24.1.65. detectgraph()
          24.1.66. difftime()
          24.1.67.disable()
          24.1.68.div()
          24.1.69.dosexterr()
          24.1.70.dostounix()
          24.1.71. drawpoly()
          24.1.72. dup()
          24.1.73. dup2()

          [e]

          24.1.74. ecvt()
          24.1.75. ellips()
          24.1.76. __emit__
          24.1.77. enable
          24.1.78. eof()
          24.1.79. exec계열 함수
          24.1.80. _exit()
          24.1.81. exit()
          24.1.82. exp()

          [f]

          24.1.83. fabs()
          24.1.84. farcalloc()
          24.1.85. farcoreleft()
          24.1.86. farfree()
          24.1.87. farmalloc()
          24.1.88. farrealloc()
          24.1.89. fclose()
          24.1.90. fcloseall()
          24.1.91. fcvt()
          24.1.92. fdopen()
          24.1.93. feof()
          24.1.94. ferror()
          24.1.95. fflush();
          24.1.96. fgetc()
          24.1.97. fgetchar()
          24.1.98. fgetpos()
          24.1.99. fgets()
          24.1.100. filelength()
          24.1.101. fileno()
          24.1.102. fillellipse()
          24.1.103. fillpoly()
          24.1.104. findfirst()
          24.1.105. findnext()
          24.1.106. floodfill()
          24.1.107. floor()
          24.1.108. flushall()
          24.1.109. fmod()
          24.1.110. fnmerge()
          24.1.111. fnsplit()
          24.1.112. fopen()
          24.1.113.FP_OFF()
          24.1.114._fpreset()
          24.1.115. fprintf()
          24.1.116.FP_SEG()
          24.1.117. fputc()
          24.1.118. fputchar()
          24.1.119. fputs()
          24.1.120. fread()
          24.1.121. free()
          24.1.122. freemem()
          24.1.123. freopen()
          24.1.124. frexp()
          24.1.125. fscanf()
          24.1.126. fseek()
          24.1.127. fsetpos()
          24.1.128. fstat()
          24.1.129. ftell()
          24.1.130. ftime()
          24.1.131. fwrite()

          [g]

          24.1.132. gcvt()
          24.1.133. geninterrupt()
          24.1.134. getarccoords()
          24.1.135. getaspectratio()
          24.1.136. getbkcolor()
          24.1.137. getc()
          24.1.138. getcbrk()
          24.1.139. getch()
          24.1.140. getchar()
          24.1.141. getche()
          24.1.142. getcolor()
          24.1.143. getcurdir()
          24.1.144. getcwd()
          24.1.145. getdate()
          24.1.146. getdefaultpalette()
          24.1.147. getdfree()
          24.1.148. getdisk()
          24.1.149. getdrivername()
          24.1.150. getdta()
          24.1.151. getenv()
          24.1.152. getfat()
          24.1.153. getfatd()
          24.1.154. getfillpattern()
          24.1.155. getfillsettings()
          24.1.156. getftime()
          24.1.157. getgraphmode()
          24.1.158. getimage()
          24.1.159. getlinesettings()
          24.1.160. getmaxcolor()
          24.1.161. getmaxmode()
          24.1.162. getmaxx()
          24.1.163. getmaxy()
          24.1.164. getmodename()
          24.1.165. getmoderange()
          24.1.166. getpalette()
          24.1.167. getpalettesize()
          24.1.168. getpass()
          24.1.169. getpixel()
          24.1.170. getpsp()
          24.1.171. gets()
          24.1.172. gettext()
          24.1.173. gettextinfo()
          24.1.174. gettextsettings()
          24.1.175. gettime()
          24.1.176. getvect()
          24.1.177. getverify()
          24.1.178. getviewsettings()
          24.1.179. getw()
          24.1.180. getx()
          24.1.181. gety()
          24.1.182. gmtime()
          24.1.183. gotoxy()
          24.1.184. graphdefaults()
          24.1.185. grapherrormsg()
          24.1.186. _graphfreemem()
          24.1.187. _graphgetmem()
          24.1.188. graphresult()

          [h]

          24.1.189. harderr()
          24.1.190. hardresume()
          24.1.191. hardretn()
          24.1.192. highvideo()
          24.1.193. hypot()

          [i]

          24.1.194. imagesize()
          24.1.195.initgraph()
          24.1.196. inport()
          24.1.197. inportb()
          24.1.198. insline()
          24.1.199. installuserdriver()
          24.1.200. installuserfont()
          24.1.201. int86()
          24.1.202. int86x()
          24.1.203. intdos()
          24.1.204. intdosx()
          24.1.205. intr()
          24.1.206. ioctl()
          24.1.207. isalnum()
          24.1.208. isalpha()
          24.1.209. isascii()
          24.1.210. isatty()
          24.1.211. iscntrl()
          24.1.212. isdigit()
          24.1.213. isgraph()
          24.1.214. islower()
          24.1.215. isprint()
          24.1.216. ispunct()
          24.1.217. isspace()
          24.1.218. isupper()
          24.1.219. isxdigit()
          24.1.220. itoa()

          [k]

          24.1.221. khbit()
          24.1.222. keep()

          [l]

          24.1.223. labs()
          24.1.224. ldexp()
          24.1.225. ldiv()
          24.1.226. lfind()
          24.1.227. line()
          24.1.228. linerel()
          24.1.229. lineto()
          24.1.230. localtime()
          24.1.231. lock()
          24.1.232. log()
          24.1.233. log10()
          24.1.234. longjmp()
          24.1.235. lowvideo()
          24.1.236. _lrotl()
          24.1.237. _lrotr()
          24.1.238. lsearch()
          24.1.239.lseek()
          24.1.240. ltoa()

          [m]

          24.1.241. main()
          24.1.242. malloc()
          24.1.243. _matherr()
          24.1.244. matherr()
          24.1.245. max()
          24.1.246. memccpy()
          24.1.247. memchr()
          24.1.248. memcmp()
          24.1.249. memcpy()
          24.1.250. memicmp()
          24.1.251. memmove()
          24.1.252. memset()
          24.1.253. min()
          24.1.254. mkdir()
          24.1.255. MK_FP()
          24.1.256. mktemp()
          24.1.257. modf()
          24.1.258. movedata()
          24.1.259. moverel()
          24.1.260. movetext()
          24.1.261. moveto()
          24.1.262. movmem()

          [n]

          24.1.263. normvideo()
          24.1.264. nosound()

          [o]

          24.1.265. _open()
          24.1.266. open()
          24.1.267. outport()
          24.1.268. outportb()
          24.1.269. outtext()
          24.1.270. outtextxy()

          [p]

          24.1.271. parsfnm()
          24.1.272. peek()
          24.1.273. peekb()
          24.1.274. perror()
          24.1.275. pieslice()
          24.1.276. poke()
          24.1.277. pokeb()
          24.1.278. poly()
          24.1.279. pow()
          24.1.280. pow10()
          24.1.281. printf()
          24.1.282. putc()
          24.1.283. putch()
          24.1.284. putchar()
          24.1.285. putenv()
          24.1.286. putimage()
          24.1.287. putpixel()
          24.1.288. puts()
          24.1.289. puttext()
          24.1.290. putw()

          [q]

          24.1.291. qsort()

          [r]

          24.1.292. raise()
          24.1.293. rand()
          24.1.294. randbrd()
          24.1.295. randbwr()
          24.1.296. random()
          24.1.297. randomize()
          24.1.298. _read()
          24.1.299. read()
          24.1.300. realloc()
          24.1.301. rectangle()
          24.1.302. registerbgidriver()
          24.1.303. registerbgifont()
          24.1.304. remove()
          24.1.305. rename()
          24.1.306. restorecrtmode()
          24.1.307. rewind()
          24.1.308. rmdir()

          [s]

          24.1.309. sbrk()
          24.1.310. scanf()
          24.1.311. searchpath()
          24.1.312. sector()
          24.1.313. segread()
          24.1.314. setactivepage()
          24.1.315. setallpalette()
          24.1.316. setaspectratio()
          24.1.317. setbkcolor()
          24.1.318. setblock()
          24.1.319. setbuf()
          24.1.320. setcbrk()
          24.1.321. setcolor()
          24.1.322. setdate()
          24.1.323. setdisk()
          24.1.324. setdta()
          24.1.325. setfillpattern()
          24.1.326. setfillstyle()
          24.1.327. setftime()
          24.1.328. setgraphbufsize()
          24.1.329. setgraphmode()
          24.1.330. setjmp()
          24.1.331. setlinestyle()
          24.1.332. setmem()
          24.1.333. setmode()
          24.1.334. setpalette()
          24.1.335. setrgbpalette()
          24.1.336. settextjustify()
          24.1.337. settextstyle()
          24.1.338. settime()
          24.1.339. setusercharsize()
          24.1.340. setvbuf()
          24.1.341. setverify()
          24.1.342. setviewport()
          24.1.343. setvisualpage()
          24.1.344. setwritemode()
          24.1.345. signal()
          24.1.346. sin()
          24.1.347. sinh()
          24.1.348. sleep()
          24.1.349. sopen()
          24.1.350. sound()
          24.1.351. spawn() 계열
          24.1.352. sprintf()
          24.1.353. sqrt()
          24.1.354. srand()
          24.1.355. sscanf()
          24.1.356. stat()
          24.1.357. _status87()
          24.1.358. stime()
          24.1.359. stpcpy()
          24.1.360. strcat()
          24.1.361. strchr()
          24.1.362. strcmp()
          24.1.363. strcmpi()
          24.1.364. strcpy()
          24.1.365. strcspn()
          24.1.366. strdup()
          24.1.367. _strerror()
          24.1.368. strerror()
          24.1.369. stricmp()
          24.1.370. strlen()
          24.1.371. strlwr()
          24.1.372. strncat()
          24.1.373. strncmp()
          24.1.374. strncmpi()
          24.1.375. strncpy()
          24.1.376. strnicmp()
          24.1.377. strnset()
          24.1.378. strpbrk()
          24.1.379. strrchr()
          24.1.380. strrev()
          24.1.381. strset()
          24.1.382. strspn()
          24.1.383. strstr()
          24.1.384. strtod()
          24.1.385. strtok()
          24.1.386. strtol()
          24.1.387. strtoul()
          24.1.388. strupr()
          24.1.389. swab()
          24.1.390. system()

          [t]

          24.1.391. tan()
          24.1.392. tanh()
          24.1.393. tell()
          24.1.394. textattr()
          24.1.395. textbackground()
          24.1.396. textcolor()
          24.1.397. textheight()
          24.1.398. textmode()
          24.1.399. textwidth()
          24.1.400. time()
          24.1.401. tmpfile()
          24.1.402. tmpnam
          24.1.403. toascii()
          24.1.404. _tolower()
          24.1.405. tolower()
          24.1.406. _toupper()
          24.1.407. toupper()
          24.1.408. tzset()

          [u]

          24.1.409. ultoa()
          24.1.410. ungetc()
          24.1.411. ungetch()
          24.1.412. unixtodos()
          24.1.413. unlink()
          24.1.414. unlock()

          [v]

          24.1.415. va_ 로 시작하는 함수
          24.1.416. vfprintf()
          24.1.417. vfscanf()
          24.1.418. vprintf()
          24.1.419. vscanf()
          24.1.420. vsprintf()
          24.1.421. vsscanf()

          [w]

          24.1.422. wherex()
          24.1.423. wherey()
          24.1.424. window()
          24.1.425. _write()
          24.1.426. write()

    24.1.터보C 2.0 함수 요약(가나다 순)


    24.1.1. abort()

    [형식]
    #include <stdlib.h>
    #include <process.h>
    void abort(void);

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 프로그램 실행을 종료시키는 함수로 stderr(콘솔)에 종결 알림글을 쓰고, 탈출코드 3을 돌려주면서 프로그램 실행을 끝낸다. 이 말은 곧 화면에 "Abnormal Program Termination"이라는 글을 보여준 후 프로그램 실행을 중단시킨다는 뜻이다.

    24.1.2. abs()

    [형식]
    #include <math.h>
    #include <stdlib.h>
    int abs(x);

    [매개변수]
    int x : 절대값을 구하고 싶은 정수

    [되돌림값]
    x의 절대값을 돌려준다.

    [설명] x의 절대값을 구해 돌려준다.

    24.1.3. absread()


    [형식]
    #include <dos.h>
    int absread(dirve, nsects, lsect, buffer);

    [매개변수]
    int drive : 드라이브 번호(A=0, B=1, C=2, D=3,...)
    int nsects : 읽어들일 섹터의 수
    int lsect : 논리적인 섹터 번호의 시작
    void *buffer : 읽어들인 내용을 저장할 버퍼의 포인터

    [되돌림값]
    성공하면 0을 돌려주고, 오류가 발생하면 -1을 돌려준다.

    [설명] 특정한 디스크 섹터를 읽는다. 단 디스크의 논리적인 구조, 파일, FAT, 디렉토리인 경우에는 무시된다.

    24.1.4. abswrite()


    [형식]
    #include <dos.h>
    int abswrite(dirve, nsects, lsect, buffer);

    [매개변수]
    int drive : 드라이브 번호(A=0, B=1, C=2, D=3,...)
    int nsects : 쓰기 시작하는 섹터의 수
    int lsect : 논리적인 섹터 번호의 시작
    void *buffer : 내용을 저장할 버퍼의 포인터

    [되돌림값]
    성공하면 0을 돌려주고, 오류가 발생하면 -1을 돌려준다.

    [설명] 특정한 디스크 섹터에 자료를 쓴다. 단 디스크의 논리적인 구조, 파일, FAT, 디렉토리인 경우에는 무시된다.

    24.1.5. access()


    [형식]
    #include <io.h>
    int abswrite(filename, amode);

    [매개변수]
    char *filename : 파일 이름을 나타내는 문자열
    int amode : 검사 내용

    [되돌림값]
    amode로 상태가 허락되면 0을 돌려주고, 아니면 -1을 돌려준다.

    [설명] 지정된 filename으로 파일의 존재와 상태를 조사한다.
    amode의 값은 다음과 같다.

    00 파일이 존재하는 지 조사한다.
    01 실행시킨다.
    02 쓰는 것을 허락하는 지 조사한다.
    04 읽는 것을 허락하는 지 조사한다.
    06 읽고 쓰는 것을 허락하는 지 조사한다.

    24.1.6. acos()

    [형식]
    #include <math.h>
    double acos(x);

    [매개변수]
    double x : 아크코사인을 구하려는 값

    [되돌림값]
    0부터 파이(pi) 사이의 값을 구해 돌려준다.

    [설명] 입력된 값의 아크코사인을 계산한다. 단 x의 범위는 -1부터 1 사이여야 한다. 범위 외의 값이 입력되면 0을 돌려준다.

    24.1.7. allocmem()

    [형식]
    #include <dos.h>
    int allocmem(size, *segp);

    [매개변수]
    unsigned size : 확보하고 싶은 패러그래프의 수.
    unsigned *segp : 할당된 세그먼트 어드레스를 저장할 장소.

    [되돌림값]
    메모리 세그먼트를 확보하면 -1을 돌려주며, 오류가 발생하면 사용 가능한 블록의 크기를 돌려준다.

    [설명] MS-DOS 호출 기능인 0x48을 실행하여 segp 포인터가 가리키는 곳에서부터 size만큼 메모리 블록을 확보하고 확보된 블록의 세그먼트 어드레스를 돌려준다.

    24.1.8. arc()

    [형식]
    #include <graphics.h>
    void far arc(x, y, stangle, endangle, radius);

    [매개변수]
    int x : x 좌표.
    int y : y 좌표.
    int stangle : 원호의 시작각.
    int endangle : 원호의 종료각.
    int radius : 반지름.

    [되돌림값]
    없음.

    [설명]좌표인 중점(x, y)을 중심으로 원호를 그린다. 이때 stangle = 0 이고 endangle = 360이면 완전한 원을 그리게 된다.

    24.1.9.asctime()


    [형식]
    #include <time.h>
    char *asctime(tblock);

    [매개변수]
    const struct tm *tblock : 시간을 표시하는 구조체의 포인터.

    [되돌림값]
    날짜 시간을 포함하는 문자열 포인터.

    [설명] 날짜와 시간을 ASCII로 변한한다.

    24.1.10. asin()

    [형식]
    #include <math.h>
    double asin(x);

    [매개변수]
    double x : 아크사인을 구하고 싶은 값.

    [되돌림값]
    -pi/2와 pi/2 사이의 값을 돌려준다.

    [설명] 아크사인값을 구해주는 함수다.

    24.1.11. assert()

    [형식]
    #include <assert.h>
    #include <stdio.h>
    void assert(imsi);

    [매개변수]
    int imsi : 연산식

    [되돌림값]
    없음.

    [설명] imsi 연산식이 거짓(0)이면 안내문을 출력하고 프로그램을 끝낸다.

    24.1.12. atan()

    [형식]
    #include <math.h>
    double atan(x);

    [매개변수]
    double x : 아크탄젠트를 구하고 싶은 값

    [되돌림값]
    -pi/2에서 pi/2 사이의 값을 돌려준다.

    [설명] 입력된 값의 아크탄젠트를 구한다.

    24.1.13. atan2()

    [형식]
    #include <math.h>
    double atan2(y,x);

    [매개변수]
    double y : 분자.
    double x : 분모.

    [되돌림값]
    -pi에서 pi 사이의 값을 돌려준다.

    [설명] 입력된 y/x값의 아크탄젠트를 구한다.

    24.1.14. atexit()

    [형식]
    #include <stdlib.h>
    int atexit(func);

    [매개변수]
    atexit_t func : 종료할 때 호출하는 함수.

    [되돌림값]
    종료 때 호출하는 함수가 등록될 경우 0을, 아니면 0 이외의 값을 돌려준다.

    [설명] 프로그램을 종료시킬 때 호출하는 함수를 지정한다. 즉 종료 시에 func가 가리키는 함수를 지정한다.

    24.1.15. atof()

    [형식]
    #include <math.h>
    #include <stdlib.h>
    double atof(s);

    [매개변수]
    const char *s : 부동 소수점 숫자로 변환될 문자열.

    [되돌림값]
    변환에 성공하면 문자열의 변환된 값을, 실패하면 0을 돌려줌.

    [설명] 문자열 s를 double형 실수로 변환한다.

    24.1.16. atoi()

    [형식]
    #include <stdlib.h>
    int atoi(s);

    [매개변수]
    const char *s : 정수로 변환될 문자열.

    [되돌림값]
    변환에 성공하면 문자열의 변환된 값을 돌려주며 변환에 실패하면 0을 돌려준다.

    [설명] 문자열 s를 정수로 변환한다.

    24.1.17. atol()

    [형식]
    #include <stdlib.h>
    long atol(s);

    [매개변수]
    const char *s : 장정수로 변환될 문자열.

    [되돌림값]
    변환에 성공하면 문자열의 변환된 값을 돌려주며 변환에 실패하면 0을 돌려준다.

    [설명] 문자열 s를 장정수(long integer)형으로 변환한다.

    24.1.18. bar()

    [형식]
    #include <graphics.h>
    void far bar(left, top, right, bottom)

    [매개변수]
    int left, top, right, bottom : 각각 화면에 그릴 바의 왼쪽, 위, 오른쪽, 아래 좌표.

    [되돌림값]
    없음.

    [설명] x축 범위가 left에서 right, y축 범위가 top에서 bottom까지의 좌표를 가지는 bar(직사각형 도형)을 그린다. 색상과 패턴은 현재 설정된(설정된 것이 없으면 기본 설정 값) 값으로 채운다.

    24.1.19. bar3d()

    [형식]
    #include <graphics.h>
    void far bar3d(left, top, right, bottom, depth, topflag);

    [매개변수]
    int left, top, right, bottom, depth, topflag : 각각 화면에 그릴 바의 왼쪽, 위, 오른쪽, 아래, 세로 길이, 윗면에 관한 플랙을 표시한다.

    [되돌림값]
    없음.

    [설명] 3차원 형태의 직사각형을 그리며 현재의 패턴과 색상으로 내부를 채운다. 이때 topflag = 0 이면 윗면을 그리지 않으며 그 외일 경우에는 윗면을 그린다.

    24.1.20. bdos()

    [형식]
    #include <dos.h>
    int bdos(dosfun, dosdx, dosal);

    [매개변수]
    int dosfun : 시스템콜 번호.
    unsigned dosdx : DX 레지스터 값.
    unsigned dosal : AL 레지스터 값.

    [되돌림값]
    AX 레지스터 값.

    [설명]DOS 시스템 콜을 직접 접근(access)할 수 있게 해준다. 즉 도스 시스템 콜을 실행하는 함수다.

    24.1.21. bdosptr()

    [형식]
    #include <dos.h>
    int bdosptr(dosfun, argument, dosal);

    [매개변수]
    int dosfun : 시스템콜 번호.
    void argument : DS:DX에 지정하는 포인터 값.
    unsigned dosal : AL 레지스터 값.

    [되돌림값]
    성공하면 AX 레지스터 값을 실패하면 -1을 돌려준다.

    [설명]DOS 시스템 콜을 실행한다.

    24.1.22. bioscom()

    [형식]
    #include <bios.h>
    int bioscom(cmd, abyte, port);

    [매개변수]
    int cmd : 기능 코드.
    char abyte : 수신 자료의 상태.
    int port : 포트 번호.

    [되돌림값]
    16비트 정수로 돌려주며 각 비트별 의미가 다르다.

    [설명]RS 232C 포트를 조작한다.

    24.1.23. biosdisk()

    [형식]
    #include <bios.h>
    int biosdisk(cma, drive, head, track, sector, nsetcts, buffer)

    [매개변수]
    int cmd : 기능 코드.
    int drive : 드라이브.
    int head : 헤드 번호.
    int track : 트랙 번호.
    int sector : 섹터 번호.
    int nsects : 섹터 수.
    void *buffer : 자료를 저장하는 포인터.

    [되돌림값]
    상황에 해당하는 바이트를 돌려준다.

    [설명]BIOS에서 직접 디스크 연산을 하기 위하여 인터럽트0x13을 사용하는 디스크 서비스 함수로 하드 디스크의 파일을 파괴할 수 있다.

    24.1.24. biosequip()

    [형식]
    #include <bios.h>
    int biosequip();

    [매개변수]
    없음.

    [되돌림값]
    상황에 맞는 내용을 16비트로 돌려준다.

    [설명]시스템에 연결된 각종 장비를 조사하여 그 결과를 비트별로 돌려주는 함수로 인터럽트 0x11을 사용한다.

    24.1.25. bioskey()

    [형식]
    #include <bios.h>
    int bioskey(cmd);

    [매개변수]
    int cmd : 기능 코드.

    [되돌림값]
    수행한 일에 따라 값을 돌려준다.

    [설명]BIOS 인터페이스 0x16을 사용하여 직접 키보드 연산을 수행한다.

    24.1.26. biosmemory()

    [형식]
    #include <bios.h>
    int biosmemory();

    [매개변수]
    없음.

    [되돌림값]
    1K 블록에 있는 메모리 크기를 돌려준다.

    [설명]인터럽트 0x12를 사용하여 메모리의 크기를 돌려준다.

    24.1.27. biosprint()

    [형식]
    #include <bios.h>
    long biosprint(cmd, abyte, port);

    [매개변수]
    int cmd : 기능 코드.
    char abyte : 출력 자료 값.
    int port : 포트 번호.

    [되돌림값]
    상황에 따라 구성된 비트 모음으로 돌려준다.

    [설명]인터럽트 0x17을 이용하여 다양한 프린트 기능을 BIOS에서 직접 수행한다.

    24.1.28. biostime

    [형식]
    #include <bios.h>
    ind biostime(cmd, newtime);

    [매개변수]
    int cmd : 기능 코드.
    long newtime : 지정할 시간.

    [되돌림값]
    타이머의 현재값을 돌려준다.

    [설명]BIOS 타이머를 읽거나 타이머 값을 지정한다.

    24.1.29. brk()

    [형식]
    #include <alloc.h>
    int brk(addr);

    [매개변수]
    void *addr : 브레이크 값.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 데이타 세그먼트의 값을 addr로 변경한다.

    24.1.30. bserch()

    [형식]
    #include <stdlib.h>
    void *bserch(key, base, nelem, width, fcmp);

    [매개변수]
    void *key : 검색하는 키의 값(포인터).
    void *base : 검색하는 배열의 기준 포인터.
    size_t nelem : 요소의 수.
    size_t width : 배열 내의 요소의 바이트 수.

    [되돌림값]
    찾고자 하는 키와 매치되는 첫 번째 요소의 주소를 돌려준다. 발견되지 않으면 0을 돌려준다.

    [설명] 배열의 바이너리 검색을 실행한다.

    24.1.31. cabs()

    [형식]
    #include <math.h>
    double cabs(z);

    [매개변수]
    struct complex z : 절대값을 구하고자 하는 복소수.

    [되돌림값]
    z의 절대값.

    [설명] 복소수 z의 절대값을 구한다.

    24.1.32. calloc()

    [형식]
    #include <stdlib.h>
    #include <alloc.h>
    void *calloc(n, size);

    [매개변수]
    unsigned n : 할당할 메모리 블록의 수.
    unsigned size : 할당할 메모리 블록의 크기.

    [되돌림값]
    확보된 블록의 포인터.

    [설명] size바이트 n개의 메인 메모리를 확보한다. 메모리 블록은 heap 영역에 확보후 0으로 초기화한다.

    24.1.33. ceil()

    [형식]
    #include <math.h>
    double ceil(x);

    [매개변수]
    double x : 올림 하는 부동 소수점 숫자.

    [되돌림값]
    올림된 값.

    [설명] 부동 소수점 숫자 x의 소수점 이하를 올림하여 최대의 정수를 구한다.

    24.1.34. cgets()

    [형식]
    #include <conio.h>
    char *cgets(str);

    [매개변수]
    char *str : 문자열을 저장하는 영역.

    [되돌림값]
    &str[2]값을 돌려준다.

    [설명] 콘솔로부터 문자열을 읽어들여 str이 지정하는 위치에 저장한다.

    24.1.35. chdir()

    [형식]
    #include <dir.h>
    int chdir(path);

    [매개변수]
    char *path : 경로를 나타내는 문자열.

    [되돌림값]
    경로가 변경된 경우에는 0을 실패하면 -1을 돌려준다.

    [설명] 현재 사용중인 디렉토리를 path로 지정된 디렉토리로 변경한다.

    24.1.36. _chmod()

    [형식]
    #include <dos.h>
    #include <io.h>
    int _chmod(path, func[, attrib]);

    [매개변수]
    char *path : 파일을 나타내는 문자열.
    int func : 함수의 기능 선택.
    int attrib : 함수의 속성.

    [되돌림값]
    성공하면 파일 속성을 오류가 나면 -1을 돌려준다.

    [설명] 파일 속성을 가져오거나 지정한다.

    24.1.37. chmod()

    [형식]
    #include <sys\stat.h>
    int chmod(path, amode);

    [매개변수]
    char *path : 파일을 나타내는 문자열.
    int amode : 파일의 접근 상태(access mode).

    [되돌림값]
    파일 모드가 변경되면 0을, 아니면 -1을 돌려준다.

    [설명] amode로 주어진 값에 따라 파일 접근 모드를 지정한다.

    24.1.38. chsize()

    [형식]
    #include <io.h>
    int chsize(handle, size);

    [매개변수]
    int handle : 파일 핸들러 번호.
    long size : 파일 크기.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 파일 크기를 변경한다.

    24.1.39. circle()

    [형식]
    #include <graphics.h>
    void far circle(x, y, radius);

    [매개변수]
    int x, y, radius : 각각 원 중심의 x 좌표, y 좌표, 반지름을 뜻한다.

    [되돌림값]
    없음.

    [설명] 좌표 x, y를 기준(중점)으로 하는 반지름 radius인 원을 그린다.

    24.1.40. _clear87()

    [형식]
    #include <graphics.h>
    unsigned int _clear87();

    [매개변수]
    없음.

    [되돌림값]
    클리어 전의 부동 소수점 상태

    [설명] 부동 소수점 상태의 워드를 클리어(지운다)한다.

    24.1.41. cleardevice()

    [형식]
    #include <graphics.h>
    void far cleardevice();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 그래픽 화면을 클리어한다. 즉 화면 전체를 깨끗하게 지우고 커서 위치를 (0, 0)의 좌표로 지정하여 옮긴다.

    24.1.42. clearerr()

    [형식]
    #include <stdio.h>
    void clearerr(fp);

    [매개변수]
    FILE *fp : 파일 포인터.

    [되돌림값]
    없음.

    [설명] 오류 표시를 다시 지정한다. 스트림의 오류를 다시 지정하고 EOF(파일 끝)에 0을 표시한다.

    24.1.43. clearviewport()

    [형식]
    #include <graphics.h>
    void far clearviewport();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 뷰포트를 지우고 현재의 커서 위치를 (0, 0)으로 옮긴다.

    24.1.44.clock()

    [형식]
    #include <time.h>
    clock_t clock();

    [매개변수]
    없음.

    [되돌림값]
    처리된 값을 돌려줌.

    [설명] 두 작업 사이의 시간을 결정하기 위해 사용한다.

    24.1.45. _close()

    [형식]
    #include <io.h>
    int _close(handle);

    [매개변수]
    int handle : 파일 핸들러 번호

    [되돌림값]
    파일을 클로즈시키면 0을, 아니면 -1을 돌려준다.

    [설명] 파일을 클로즈시킨다.(닫는다.)

    24.1.46. close()

    [형식]
    #include <io.h>
    int close(handle);

    [매개변수]
    int handle : 파일 핸들러 번호.

    [되돌림값]
    파일을 클로즈시키면 0을, 아니면 -1을 돌려준다.

    [설명] 파일을 클로즈시킨다.

    24.1.47. closegraph()

    [형식]
    #include <graphics.h>
    void far closegraph(void);

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 그래픽 시스템을 닫는다. 곧 그래픽 모드를 해제하고 그래픽 모드 이전의 상태(텍스트 상태)로 되돌아간다.

    24.1.48. clreol()

    [형식]
    #include <conio.h>
    void clreol();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 텍스트 윈도에서 커서의 현재 위치에서 라인의 끝까지 지운다. 단 커서를 이동시키지 않는다.

    24.1.49. clrscr()

    [형식]
    #include <conio.h>
    void clrscr();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 텍스트 상태에서 윈도를 클리어하고 커서 위치를 1,1의 위치로 이동시킨다.

    24.1.50. coreleft()

    [형식]
    #include <alloc.h>
    unsigned coreleft(); /* tity, small, medium 모델의 경우 */
    unsigned long coreleft(); /* compact, large, huge 모델의 경우 */
    [매개변수]
    없음.

    [되돌림값]
    사용하지 않은 메모리 양을 돌려준다.

    [설명] 라지 모델에서는 메모리 heap과 stack 영역 사이에서 사용하지 않는 메모리 양을 구하고, 스몰 모델에서는 stack과 세그먼트 사이의 사용하지 않는 메모리 양을 구해준다.

    24.1.51. cos()

    [형식]
    #include <math.h>
    double cos(x);

    [매개변수]
    double x : 계산하려는 값.

    [되돌림값]
    입력한 값의 코사인 값.

    [설명] 코사인 값을 계산해준다.

    24.1.52. cosh()

    [형식]
    #include <math.h>
    double cosh(x);

    [매개변수]
    double x : 계산하려는 값.

    [되돌림값]
    입력한 값의 하이퍼볼릭 코사인 값.

    [설명] 하이퍼볼릭 코사인 값을 계산해준다.

    24.1.53.country()

    [형식]
    #include <dos.h>
    struct country *country(code, cp);

    [매개변수]
    int code : 나라별 코드.
    struct country *cp : 나라별 정보 저장 구조체를 나타내는 포인터.

    [되돌림값]
    성공하면 구조체 포인터 cp를 돌려주고 실패하면 NULL을 돌려준다.

    [설명] 나라별 정보의 형식화 방법을 지정한다.

    24.1.54.cprintf()

    [형식]
    #include <conio.h>
    int cprintf(format[,argument,...]);

    [매개변수]
    char *format : 포맷 지정 문자열.
    argument : 매개변수 목록.

    [되돌림값]
    출력한 문자 수를 돌려준다.

    [설명] 화면에 포맷으로 지정한 출력을 실시한다.

    24.1.55.cputs()

    [형식]
    #include <conio.h>
    int cputs(str);

    [매개변수]
    char *str : 출력할 문자열

    [되돌림값]
    마지막으로 출력한 문자열을 돌려준다.

    [설명] 화면에 문자열을 출력한다.

    24.1.56. _creat()

    [형식]
    #include <dos.h>
    #include <io.h>
    int _creat(path, attrib);

    [매개변수]
    char *path : 파일 이름
    int attrib : 파일 속성

    [되돌림값]
    성공하면 파일 핸들러를 돌려주고, 실패하면 -1을 돌려준다.

    [설명] 새로운 파일을 만든다. 파일은 읽고 쓸 수 있게 오픈되며 바이너리 모드로 오픈된다. 만약 같은 이름의 파일이 이미 있다면 파일의 크기를 0으로 다시 지정하게 되므로 이전 파일의 내용은 삭제된다.

    24.1.57. creat()

    [형식]
    #include <sys\stat.h>
    #include <io.h>
    int creat(path, mode);

    [매개변수]
    char *path : 파일 이름
    int mode : 파일 상태

    [되돌림값]
    성공하면 파일 핸들러를 돌려주고, 실패하면 -1을 돌려준다.

    [참고] 새로운 파일을 만들며, 같은 이름의 파일이 존재하면 그 속성은 유지하고 파일을 새로 만든다. 따라서 모드는 새롭게 작성되는 파일에만 적용되며 stat.h에 모드 값이 정의되어 있다.

    24.1.58. creatnew()

    [형식]
    #include <dos.h>
    #include <io.h>
    int creatnew(path, attrib);

    [매개변수]
    char *path : 파일 이름을 나타내는 문자열.
    int attrib : 파일 속성.

    [되돌림값]
    성공하면 파일 핸들러를 돌려주고, 실패하면 -1을 돌려준다.

    [설명] 새로운 파일을 만든다. 단 이미 같은 이름의 파일이 존재할 때는 기존 파일을 건드리지 않고 오류 값을 돌려준다.

    24.1.59.creattemp

    [형식]
    #include <dos.h>
    #include <io.h>
    int creattemp(path, attrib);

    [매개변수]
    char *path : 파일 이름을 나타내는 문자열.
    int attrib : 파일 속성.

    [되돌림값]
    성공하면 파일 핸들러를 돌려주고, 실패하면 -1을 돌려준다.

    [설명] 해당 경로에 파일을 만든다.

    24.1.60. cscanf()

    [형식]
    #include <conio.h>
    int cscanf(format[, address,...]);
    char *ctime(t);

    [매개변수]
    char *format : 형식을 지정하는 문자열.
    address : 자료 저장 포인터를 나타내는 문자열.

    [되돌림값]
    입력된 필드의 수를 돌려주며, 파일의 끝일 때는 EOF를 돌려준다.

    [설명] 콘솔로부터 format 형식에 따라 입력한다.

    24.1.61. ctime()

    [형식]
    #include <time.h>
    char *ctime(time);

    [매개변수]
    time_t time : 변환할 시각.

    [되돌림값]
    날짜 시간의 문자열 포인터를 돌려준다.

    [설명] 날짜와 시간을 문자열로 바꾸어준다.

    24.1.62.ctrlbrk()

    [형식]
    #include <dos.h>
    void ctrlbrk(handler);

    [매개변수]
    int (*handler)

    [되돌림값]
    없음.

    [설명] 컨트롤 브레이크 핸들러를 지정한다.

    24.1.63.delay()

    [형식]
    #include <dos.h>
    void delay(milliseconds);

    [매개변수]
    unsigned milliseconds : 지연시키는 시간으로 1천 분의 1초 단위다.

    [되돌림값]
    없음.

    [설명] 지정된 시간만큼 시간을 지연시킨다. 따라서 다음 작업까지 작업을 멈추는 효과를 가진다.

    24.1.64. delline()

    [형식]
    #include <conio.h>
    void delline();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 현재의 텍스트 창에서 현재 커서가 위치한 줄을 지운다.

    24.1.65. detectgraph()

    [형식]
    #include <graphics.h>
    void far detectgraph(graphdriver, graphmode);

    [매개변수]
    int far *graphdriver : 그래픽 드라이버 종류.
    int far *graphmode : 그래픽 모드.

    [되돌림값]
    없음.

    [설명] 그래픽 드라이버와 모드를 설정한다. 현재의 하드웨어 상태를 조사해 모드를 설정하는 함수로 그래픽 모드로 전환할 때 사용한다.

    24.1.66. difftime()

    [형식]
    #include <time.h>
    double difftime(time1, time2)

    [매개변수]
    time_t time1 : 시작 시각.
    time_t time2 : 종료 시각.

    [되돌림값]
    두 시각 사이의 시간 차이를 초 단위로 돌려준다.

    [설명] 두 시각 차이의 시간 차를 계산한다.

    24.1.67.disable()

    [형식]
    #include <dos.h>
    void disable();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] NMI 인터럽트를 제외한 인터럽트를 금지시킨다.

    24.1.68.div()

    [형식]
    #include <stdlib.h>
    div_t div(number, denom);

    [매개변수]
    int number : 나누고자 하는 수.
    int denom : 나누는 수.

    [되돌림값]
    나머지와 몫을 돌려준다.

    [설명] 정수를 나누어 몫과 나머지를 구한다.

    24.1.69.dosexterr()

    [형식]
    #include <dos.h>
    int dosexterr(eblkp);

    [매개변수]
    struct DOSERROR *eblkp : 오류 정보를 저장하는 구조체의 포인터.

    [되돌림값]
    exterror 값을 돌려준다.

    [설명] DOS 호출 실패 때 확장 오류 코드를 구해준다.

    24.1.70.dostounix()

    [형식]
    #include <dos.h>
    int dostounix(d, t);

    [매개변수]
    struct date *d : 날짜 나타내는 구조체 포인터.
    struct date *t : 시각 나타내는 구조체 포인터.

    [되돌림값]
    유닉스 형태의 날짜와 시각을 돌려준다.

    [설명] 날짜와 시각을 UNIX 형태로 변환시킨다.

    24.1.71. drawpoly()

    [형식]
    #include <graphics.h>
    void far drawpoly(numpoints, polypoints);

    [매개변수]
    int numpoints : 다각형의 꼭지점 수.
    int *polypoints : 꼭지점 좌표값 포인터.

    [되돌림값]
    없음.

    [설명] 다각형을 그린다.

    24.1.72. dup()

    [형식]
    #include <io.h>
    int dup(handle);

    [매개변수]
    int h : 핸들러 번호.

    [되돌림값]
    성공하면 핸들러 번호를, 실패하면 -1을 돌려줌.

    [설명] 현재 열린 파일 핸들러를 복사해 만든다.

    24.1.73. dup2()

    [형식]
    #include <io.h>
    int dup2(handle1, handle2);

    [매개변수]
    int handle1, handle2 : handle1은 원래의 핸들러이고, handle2는 새로운 핸들러다.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려줌.

    [설명] handle1을 참고하여 handl2로 복사해 만든다.

    24.1.74. ecvt()

    [형식]
    #include <stdlib.h>
    char *ecvt(value, ndig, dec, sign);

    [매개변수]
    double val : 변환되는 숫자.
    int ndig : 자리수.
    int *dec : 소수점의 위치를 저장하는 정수 포인터.
    int *sign : 0이면 +, 아니면 -를 표시.

    [되돌림값]
    숫자의 문자열 자료.

    [설명] float형 숫자를 문자열로 바꾸어준다.

    24.1.75. ellips()

    [형식]
    #include <graphics.h>
    void far ellips(x, y, stangle, endangle, xradius, yradius);

    [매개변수]
    int x, y, stangle, endangle, xradius, yradius : 타원 중심의 x, y 좌표, 개시각, 종료각, X방향 반지름, Y방향 반지름.

    [되돌림값]
    없음.

    [설명] 타원의 원호를 그린다.

    24.1.76. __emit__

    [형식]
    #include <dos.h>
    void __emit__(argument, ...);

    [매개변수]
    argument : 매개변수 목록.

    [되돌림값]
    없음.

    [설명] 인수의 수를 프로그램 안에 기입한다.

    24.1.77. enable

    [형식]
    #include <dos.h>
    void enable();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 하드웨어 인터럽트를 허가한다

    24.1.78. eof()

    [형식]
    #include <io.h>
    int eof(handle);

    [매개변수]
    int handle : 파일 핸들러 번호

    [되돌림값]
    파일 끝이면 1을, 아니면 0을, 오류면 -1을 돌려준다.

    [설명] handle가 파일의 끝인지 조사한다.

    24.1.79. exec계열 함수

    [형식]
    #include <process.h>
    int execl(path, arg0, ... , argn, NULL);
    int execle(path, arg0, ... , argn, NULL, env);
    int execlp(path, arg0, ... , argn, NULL);
    int execlpe(path, arg0, ... , argn, NULL, env);
    int execv(path, argv[]);
    int execve(path, argv[], env);
    int execvp(path, argv[]);
    int execvpe(path, argv[], env);

    [매개변수]
    char *path : 실행할 파일 경로(파일 이름).
    char *arg0, ..., argn : 매개변수 목록.
    char *env : 환경 변수를 나타내는 포인터.
    char *argv[] : 인수를 나타내는 문자열 목록의 포인터.
    NULL : 인수의 마지막을 표시.

    [되돌림값]
    성공하면 없고, 실패하면 -1을 돌려준다.

    [설명] path로 지정된 파일을 로드하고 실행한다.

    24.1.80. _exit()

    [형식]
    #include <process.h>
    #include <stdlib.h>
    void _exit(status);

    [매개변수]
    int status : 종료 때 상황.

    [되돌림값]
    없음.

    [설명]
    프로그램을 종료시킨다.

    24.1.81. exit()

    [형식]
    #include <process.h>
    #include <stdlib.h>
    void exit(status);

    [매개변수]
    int status : 종료 때 상황.

    [되돌림값]
    없음.

    [설명]
    프로그램을 종료시킨다.

    24.1.82. exp()

    [형식]
    #include <math.h>
    double exp(x);

    [매개변수]
    double x : 지수 함수의 값을 구하는 값.

    [되돌림값]
    지수 함수 e의 X 제곱값을 돌려준다.

    [설명] 지수 함수값인 e의 X 제곱값을 구한다.

    24.1.83. fabs()

    [형식]
    #include <math.h>
    double fabs(x);

    [매개변수]
    double x : 절대값을 구하려는 수.

    [되돌림값]
    x의 절대값.

    [설명] 숫자 x의 절대값을 구한다.

    24.1.84. farcalloc()

    [형식]
    #include <alloc.h>
    void far *farcalloc(n, size);

    [매개변수]
    unsigned long n : 블록 할당 갯수.
    unsigned long size : 블록의 길이.

    [되돌림값]
    성공하면 확보된 블록의 포인터를, 메모리가 부족하면 NULL을 돌려준다.

    [설명] 파힙(far heap)에서 메모리를 확보한 후 0으로 초기화한다.

    24.1.85. farcoreleft()

    [형식]
    #include <alloc.h>
    unsigned long farcoreleft();

    [매개변수]
    없음.

    [되돌림값]
    파힙에서 사용하지 않은 메모리의 양.

    [설명] 파힙에서 사용하지 않은 메모리를 복귀시킨다.

    24.1.86. farfree()

    [형식]
    #include <alloc.h>
    void far farfree(block);

    [매개변수]
    void far *block : 해제되는 메모리 블록.

    [되돌림값]
    없음.

    [설명] 파힙에서 block으로 확보된 블록을 해제한다.

    24.1.87. farmalloc()

    [형식]
    void far *farmalloc(nbytes);

    [매개변수]
    unsigned long nbytes : 확보하는 메모리 양.

    [되돌림값]

    [설명] nbytes만큼의 메모리를 파힙에서 확보한다.

    24.1.88. farrealloc()

    [형식]
    #include <alloc.h>
    void far *farrealloc(oldblock, nbytes);

    [매개변수]
    void far *oldblock : 이미 확보하고 있는 메모리의 포인터.
    unsigned long nbytes : 새롭게 확보할 크기.

    [되돌림값]
    성공하면 확보된 블록의 주소를 돌려주고, 실패하면 NULL을 돌려준다.

    [설명] oldblock 으로 지정된 파힙 메모리 블록을 nbytes 크기로 다시 변경한다.

    24.1.89. fclose()

    [형식]
    #include<stdio.h>
    int fclose(fp);

    [매개변수]
    FILE *fp: 닫는 파일 포인터.

    [되돌림값]
    정상 종료면 0을, 오류가 나면 EOF(-1)를 돌려준다..

    [설명] 지정된 스트림을 닫는다.

    24.1.90. fcloseall()

    [형식]
    #include <stdio.h>
    int fcloseall();

    [매개변수]
    없음.

    [되돌림값]
    성공하면 닫히는 모든 스트림의 수를 돌려주고, 실패하면 EOF를 돌려준다.

    [설명] 모든 스트림을 닫는다.

    24.1.91. fcvt()

    [형식]
    #include <stdio.h>
    char *fcvt(val, ndig, dec, sign);

    [매개변수]
    doubl val: 변환될 숫자.
    int ndig : 자리수.
    int *dec : 소수점의 위치를 저장하는 정수의 포인터.
    int *sign : 부호를 저장하는 정수의 포인터. 양수면 0이고, 음수이면 이외의 값임.

    [되돌림값]
    스태틱 데이터.

    [설명] float형 수치 val을 문자열로 변환한다.

    24.1.92. fdopen()

    [형식]
    #include <stdio.h>
    FILE fdopen(handle, type);

    [매개변수]
    int handle : 파일 핸들러 번호.
    char *type : 파일 타입.

    [되돌림값]
    새롭게 오픈된 스트림의 포인터. 오류가 나면 NULL을 돌려준다.

    [설명] 이미 열려있는 스트림을 표준 입출력 파일로 다시 사용할 수 있도록 파일 핸들러와 관련시킨다.

    24.1.93. feof()

    [형식]
    #include <stdio.h>
    int feof(stream);

    [매개변수]
    FILE *stream : 열려 있는 파일 포인터

    [되돌림값]
    파일의 끝을 발견하면 0 이외의 값을, 발견 못하면 0을 돌려준다.

    [설명] 스트림에서 파일의 끝 표시를 찾는다.

    24.1.94. ferror()

    [형식]
    #include <stdio.h>
    int ferror(stream);

    [매개변수]
    FILE *stream : 파일 포인터.

    [되돌림값]
    오류가 발견되면 0 이외의 값을 돌려준다.

    [설명] 오류를 발견하는 함수로 스트림에서 읽거나 쓸 때 오류가 발생하면 0이 아닌 값을 돌려준다.

    24.1.95. fflush();

    [형식]
    #include <stdio.h>
    int fflush(stream);

    [매개변수]
    FILE *stream : 스트림의 포인터

    [되돌림값]
    성공하면 0을, 오류가 발견되면 EOF를 돌려준다.

    [설명] 스트림(파일)이 열린 후 관련된 파일 출력을 버퍼로 하며, 버퍼의 내용을 지정한 스트림에 써넣는다.

    24.1.96. fgetc()

    [형식]
    #include <stdio.h>
    int fgetc(fp);

    [매개변수]
    FILE *fp : 파일의 포인터.

    [되돌림값]
    성공하면 읽은 문자를 돌려준다. 파일 끝이거나 오류가 발생하면 EOF를 돌려준다.

    [설명] 현재 위치의 입력 stream에서부터 한 문자를 읽는다.

    24.1.97. fgetchar()

    [형식]
    #include <stdio.h>
    int fgetchar();

    [매개변수]
    없음.

    [되돌림값]
    성공하면 읽은 문자를, 파일 끝이거나 오류가 발생하면 EOF를 돌려준다.

    [설명] 표준 출력장치(=키보드)에서 1문자를 읽어들인다.

    24.1.98. fgetpos()

    [형식]
    #include <stdio.h>
    int fgetpos(fp, pos);

    [매개변수]
    FILE *fp : 파일의 포인터.
    fpos_t *pos : 파일 내 위치를 저장하는 변수 포인터.

    [되돌림값]
    성공하면 0을, 실패하면 0 이외의 값을 돌려준다.

    [설명] 파일 포인터의 위치를 조사한다.

    24.1.99. fgets()

    [형식]
    #include <stdio.h>
    int fgets(s, n, fp);

    [매개변수]
    char *s : 문자열을 저장할 영역.
    int n : 문자열 저장 영역인 s의 크기.
    FILE *fp : 파일의 포인터.

    [되돌림값]
    성공하면 문자열을, 실패하면 NULL을 돌려준다.

    [설명] 스트림에서 문자열을 읽어들인다. 이때 줄바꿈문자 또는 최대 문자수 n-1까지 입력하며, 끝에 '\0'을 붙인다.

    24.1.100. filelength()

    [형식]
    #include <io.h>
    long filelength(handle);

    [매개변수]
    int handle : 파일 핸들러 번호.

    [되돌림값]
    성공하면 파일의 길이를, 오류가 발생하면 -1을 돌려준다.

    [설명] 파일 길이를 조사한다.

    24.1.101. fileno()

    [형식]
    #include <stdio.h>
    int fileno(stream);

    [매개변수]
    FILE *stream : 파일의 포인터.

    [되돌림값]
    파일 핸들러 번호를 돌려준다.

    [설명] st에 연관된 파일 핸들러의 번호를 검사한다.

    24.1.102. fillellipse()

    [형식]
    #include <graphics.h>
    void far fillellipse(x, y, xradius, yradius);

    [매개변수]
    int x : 원 중심의 x 좌표.
    int y : 원 중심의 y 좌표.
    int xradius : x 방향의 반지름.
    int yradius : y 방향의 반지름.

    [되돌림값]
    없음.

    [설명] 좌표 x, y를 중심으로 하는 내부가 전부 칠해진 타원을 그린다.

    24.1.103. fillpoly()

    [형식]
    #include <graphics.h>
    void far filloly(numpoints, polypoints);

    [매개변수]
    int numpoints : 다각형의 꼭지점 수.
    int far *polypoints : 꼭지점 좌표값의 포인터.

    [되돌림값]
    없음.

    [설명] 내부가 칠해진 다각형을 그린다.

    24.1.104. findfirst()

    [형식]
    #include <dir.h>
    #include <dos.h>
    int findfirst(filename, buf, attrib);

    [매개변수]
    char *filename : 파일 이름.
    struct ffblk *ffblk : 파일 내용 나타내는 포인터.
    int attrib : 파일 속성.

    [되돌림값]
    파일을 찾으면 0을, 오류가 있으면 -1을 돌려준다.

    [설명] 디렉토리를 검색해 파일을 찾는다.

    24.1.105. findnext()

    [형식]
    #include <dir.h>
    int findnext(ffblk);

    [매개변수]
    struct ffblk *ffblk : 디렉토리 내용을 저장하는 구조체 포인터.

    [되돌림값]
    파일을 찾으면 0을, 실패하면 -1을 돌려준다.

    [설명] findfirst() 함수로 검색한 후 다음으로 일치하는 파일을 계속 검색한다.

    24.1.106. floodfill()

    [형식]
    #include <graphics.h>
    void far floodfill(x, y, border);

    [매개변수]
    int x, y, border : 개시점의 x, y 좌표와 경계색.

    [되돌림값]
    오류가 발생하면 -7을 돌려준다.

    [설명] 개시점부터 시작해 경계색으로 둘러싼 영역을 빈틈 없이 칠한다.

    24.1.107. floor()

    [형식]
    #include <math.h>
    double floor(x);

    [매개변수]
    double x : 대상이 되는 값

    [되돌림값]
    소수점 이하를 버린 값을 돌려준다.

    [설명] x의 수에서 소수점 이하를 떼어버린 수를 돌려준다. 즉 x보다 크지 않은 가장 큰 정수를 돌려준다.

    24.1.108. flushall()

    [형식]
    #include <stdio.h>
    double flushall();

    [매개변수]
    없음.

    [되돌림값]
    오픈된 수를 정수를 돌려준다.

    [설명] 모든 스트림을 플러시한다. 즉 오픈된 버퍼를 지우고, 파일에 쓴다.

    24.1.109. fmod()

    [형식]
    #include <math.h>
    double fmod(x, f);

    [매개변수]
    double x : 나누어지는 수.
    double y : 나누는 수.

    [되돌림값]
    나머지를 돌려준다.

    [설명] float형의 나머지를 구한다.

    24.1.110. fnmerge()

    [형식]
    #include <dir.h>
    void fnmerge(path, drive, dir, name, ext);

    [매개변수]
    char *path : 경로명.
    char *drive : 드라이브 이름.
    char *dir : 디렉토리 이름.
    char *name : 파일 이름.
    char *ext : 확장자.

    [되돌림값]
    없음.

    [설명] 구성 성분을 합성해 경로를 만든 다음에 path에 저장한다.

    24.1.111. fnsplit()

    [형식]
    #include <dir.h>
    void fnsplit(path, drive, dir, name, ext);

    [매개변수]
    char *path : 경로명.
    char *drive : 드라이브 이름.
    char *dir : 디렉토리 이름.
    char *name : 파일 이름.
    char *ext : 확장자.

    [되돌림값]
    경로의 구성 성분을 표시하는 정수.

    [설명] path로 지정한 전체 경로에서 구성 성분 별로 분리하여 각각 저장한다.

    24.1.112. fopen()


    [형식]
    #include <stdio.h>
    FILE fopen(filename, mode);

    [매개변수]
    char *filename : 파일 이름.
    char *mode : 파일 모드.

    [되돌림값]
    성공하면 새로 오픈한 스트림의 포인터를, 실패하면 NULL을 돌려준다.

    [설명] 지정된 스트림(파일)을 지정된 모드로 연다.

    24.1.113.FP_OFF()

    [형식]
    #include <dos.h>
    unsigned FP_(farpointer);

    [매개변수]
    void far *farpointer : 옵셋값.

    [되돌림값]
    옵셋의 정수값.

    [설명] 파 주소의 옵셋을 구한다.

    24.1.114._fpreset()

    [형식]
    #include <float.h>
    void _fpreset();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 부동소수점 패키지를 초기화시킨다.

    24.1.115. fprintf()

    [형식]
    #include <stdio.h>
    int fprintf(fp, format, ...);

    [매개변수]
    FILE *fp : 파일 포인터.
    const char *format : 포맷.
    ... : 생략 가능한 argument. 출력 항목.

    [되돌림값]
    출력된 바이트 수.

    [설명] 파일로 포맷에 의한 출력을 실행한다.

    24.1.116.FP_SEG()

    [형식]
    #include <dos.h>
    unsigned FP_SEG(farpointer)

    [매개변수]
    void far farpointer : 세그먼트 값.

    [되돌림값]
    세그먼트 값을 정수로 표시한 수치.

    [설명] 파 어드레스 세그먼트를 구한다.

    24.1.117. fputc()

    [형식]
    #include <stdio.h>
    int fputc(c, fp);

    [매개변수]
    int c : 출력하는 문자.
    FILE *fp : 파일의 포인터.

    [되돌림값]
    정상적이면 문자 c를 돌려주고, 오류가 나면 EOF를 돌려준다.

    [참고] 스트림으로 1문자를 출력한다.

    24.1.118. fputchar()

    [형식]
    #include <stdio.h>
    int fputchar(c);

    [매개변수]
    int c : 출력할 문자.

    [되돌림값]
    성공하면 문자 c를, 실패하면 EOF를 돌려준다.

    [설명] 표준 출력장치(stdout)에 1문자 c를 출력한다.

    24.1.119. fputs()

    [형식]
    #include <stdio.h>
    int fputs(s, fp);

    [매개변수]
    char *s : 출력하는 문자열.
    FILE *fp : 파일의 포인터.

    [되돌림값]
    성공하면 문자열을 돌려주고, 오류가 발생하면 EOF를 돌려준다.

    [참고] 스트림에 문자열을 출력한다.

    24.1.120. fread()

    [형식] #include <stdio.h>
    void fread(ptr, size, n, fp);

    [매개변수]
    char *ptr : 입력한 내용을 저장하는 영역의 포인터.
    size_t size : 영역의 1블록의 길이.
    size_t n : 블록의 수.
    FILE *fp : 파일의 포인터.

    [되돌림값]
    읽어들인 항목의 수를 돌려준다.

    [설명] 주어진 스트림(파일)으로부터 지정된 수(n)만큼의 자료를 읽어 ptr로 출력한다.

    24.1.121. free()

    [형식]
    #include <stdio.h>
    #include <alloc.h>
    void free(block);

    [매개변수]
    void *block : 해제할 블록의 주소.

    [되돌림값]
    없음.

    [설명] block로 지정한 메모리 블록을 해제한다.

    24.1.122. freemem()

    [형식]
    #include <dos.h>
    int freemem(seg);

    [매개변수]
    unsigned seg : 해제할 블록의 세그먼트 주소.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] allocmem() 함수에 의해 확보한 도스 메모리 블록을 해제한다.

    24.1.123. freopen()

    [형식]
    #include <stdio.h>
    FILE freopen(filename, mode, stream);

    [매개변수]
    char *filename : 파일 이름.
    char *mode : 파일 모드.
    FILE *stream : 원래 파일의 포인터.

    [되돌림값]
    성공하면 스트림 인수를, 실패하면 NULL을 돌려준다.

    [설명] 오픈된 스트림을 다른 스트림으로 대치하여 교환하는 일을 한다.

    24.1.124. frexp()

    [형식]
    #include <math.h>
    double frexp(x, exponent);

    [매개변수]
    double x : 원래 숫자.
    int exponent : 지수부를 저장하는 영역의 포인터.

    [되돌림값]
    x의 지수부를 돌려준다.

    [설명] 주어진 숫자를 가수부와 지수부로 분리해준다.

    24.1.125. fscanf()

    [형식]
    #include <stdio.h>
    fscanf(fp, format [...]);

    [매개변수]
    FILE *fp : 파일 포인터.
    char *format : 포맷.

    [되돌림값]
    성공한 필드의 수를 돌려준다. 파일의 끝을 읽으면 EOF를, 저장하지 못하면 0을 돌려준다.

    [설명] 스트림에서 포맷에 의한 입력을 실행한다.

    24.1.126. fseek()

    [형식]
    #include <stdio.h>
    int fseek(st, offset, origin);

    [매개변수]
    FILE *st : 파일 포인터.
    long offset : 지정하는 판독 위치의 바이트 수.
    int origin : 바이트 계산 기점.

    [되돌림값]
    지정한 곳으로 이동시키면 0을, 그렇지 않으면 0 이외의 값을 돌려준다.

    [설명] 스트림에서 파일 포인터의 위치를 지정하는데 origin에서 offset 바이트 만큼의 새 위치로 포인터를 이동시킨다.

    24.1.127. fsetpos()

    [형식]
    #include <stdio.h>
    int fsetpos(stream, pos);

    [매개변수]
    FILE *stream : 파일의 포인터.
    fpos_t *pos : 원래 위치가 저장된 변수의 포인터.

    [되돌림값]
    정상 종료면 0을, 아니면 0 이외의 값을 돌려준다.

    [설명]
    스트림의 파일 포인터 위치를 지정한다.

    24.1.128. fstat()

    [형식]
    #include <stdio.h>
    int fstat(handle, statbuf);

    [매개변수]
    int handle : 파일 핸들러 번호.
    struct stat *statbuf : 파일 상태 저장하는 영역의 포인터.

    [되돌림값]
    오픈된 파일 정보를 얻으면 0을, 오류가 나면 -1을 돌려준다.

    [설명]
    열려있는 파일의 정보를 얻는다.

    24.1.129. ftell()

    [형식]
    #include <stdio.h>
    long ftell(fp);

    [매개변수]
    FILE *fp : 파일 포인터.

    [되돌림값]
    파일 포인터의 위치를 돌려준다. 오류가 나면 -1을 돌려준다.

    [설명] 현재 파일 포인터를 돌려준다. 즉 파일 포인터의 위치를 구해준다.

    24.1.130. ftime()

    [형식]
    #include <sys\timeb.h>
    void ftime(buf);

    [매개변수]
    struct timeb buf : 시간을 저장하는 변수의 포인터.

    [되돌림값]
    없음.

    [설명] 현재 시간을 timeb 구조체에 저장한다.

    24.1.131. fwrite()

    [형식]
    #include <stdio.h>
    int fwrite(ptr, size, n, fp);

    [매개변수]
    const void *ptr : 저장할 영역.
    size_t size : 영역의 1블록 길이.
    size_t n : 블록 수.
    FILE *fp : 파일의 포인터.

    [되돌림값]
    성공하면 실제로 쓴 항목의 수를 돌려준다.

    [설명] 주어진 파일에 지정된 갯수(n)만큼의 자료를 size 길이로 추가해 쓴다. 즉 스트림으로 출력한다.

    24.1.132. gcvt()

    [형식]
    #include <dos.h>
    char *gcvt(value, ndig, buf);

    [매개변수]
    double value : 변환하는 값.
    int ndig : 유효 자리수.
    char *buf : 결과를 저장할 버퍼.

    [되돌림값]
    buf가 가리키는 문자열의 포인터

    [설명] 부동소수점 숫자를 문자열로 바꾼다.

    24.1.133. geninterrupt()

    [형식]
    #include <stdio.h>
    void geninterrupt(intr_num);

    [매개변수]
    int intr_num : 발생시키는 인터럽트 번호.

    [되돌림값]
    없음.

    [설명]
    소프트웨어 인터럽트를 발생시킨다.

    24.1.134. getarccoords()

    [형식]
    #include <graphics.h>
    void far getarccoords(arccoords);

    [매개변수]
    struct arccoordstype arccoords : arc의 결과를 저장할 구조체의 포인터.

    [되돌림값]
    없음.

    [설명] 맨 마지막에 사용한 arc의 좌표를 돌려준다.

    24.1.135. getaspectratio()

    [형식]
    #include <graphics.h>
    void far getaspectratio(xasp, yasp);

    [매개변수]
    int far *xasp : 수평 방향의 애스펙트비.
    int far *yasp : 수직 방향의 애스펙트비.

    [되돌림값]
    없음.

    [설명] 현재의 그래픽 모드에서 화면의 애스펙트비(종횡비)를 계산한다.

    24.1.136. getbkcolor()

    [형식]
    #include <graphics.h>
    int far getbkcolor(void);

    [매개변수]
    없음.

    [되돌림값]
    현재 배경색을 돌려준다.

    [설명] 현재 배경색을 알아낸다.

    24.1.137. getc()

    [형식]
    #include <stdio.h>
    int getc(fp);

    [매개변수]
    FILE *fp : 문자를 입력하는 파일 포인터.

    [되돌림값]
    성공하면 입력한 문자를, 파일 끝이거나 오류가 발생하면 EIOF를 돌려준다.

    [설명] 스트림에서 1문자를 입력한다. 즉 이미 열린 파일에서 1문자를 읽어들인다.

    24.1.138. getcbrk()

    [형식]
    #include <dos.h>
    int getcbrk();

    [매개변수]
    없음.

    [되돌림값]
    컨트롤 브레이크 상태가 꺼진 상태라면 0을, 켜진 상태면 1을 돌려준다.

    [설명] 컨트롤 브레이크 상태를 알려준다.

    24.1.139. getch()

    [형식]
    #include <conio.h>
    int getch();

    [매개변수]
    없음.

    [되돌림값]
    키보드로 입력한 문자를 돌려준다.

    [설명] 콘솔 즉 키보드에서 한 문자를 입력하며, 화면에 문자를 표시하지 않는다.

    24.1.140. getchar()

    [형식]
    #include <stdio.h>
    int getchar();

    [매개변수]
    없음.

    [되돌림값]
    성공하면 입력한 문자를, 오류가 발생하면 EOF를 돌려준다.

    [설명] 표준 입력 장치인 키보드로 한 문자를 입력한다.

    24.1.141. getche()

    [형식]
    #include <conio.h>
    int getche();

    [매개변수]
    없음.

    [되돌림값]
    입력한 문자를 돌려준다.

    [설명] 콘솔(키보드)에서 한 문자를 입력하며, 화면에 에코 백(표시)한다.

    24.1.142. getcolor()

    [형식]
    #include <graphics.h>
    int far getcolor(void);

    [매개변수]
    없음.

    [되돌림값]
    현재 드로잉 컬러(그림 그리기 색)을 돌려준다.

    [설명] 현재 드로잉 컬러(그림 그리기에 사용하는 색)가 무엇인지 알려준다.

    24.1.143. getcurdir()

    [형식]
    #include <dir.h>
    int getcurdir(drive, directory);

    [매개변수]
    int drive : 현재 드라이브를 검사하는 드라이브 번호.
    char *directory : 현재 디렉토리 이름 저장 영역.

    [되돌림값]
    성공하면 0을, 오류가 나면 -1을 돌려준다.

    [설명] 지정된 드라이브에서 현재 작업 중인 디렉토리 이름을 알아낸다.

    24.1.144. getcwd()

    [형식]
    #include <dir.h>
    int *getcwd(buf, n);

    [매개변수]
    char *buf : 디렉토리 이름 저장 영역.
    int n : 저장 영역의 길이.

    [되돌림값]
    buf 또는 버퍼 포인터를 돌려주며, 오류가 생기면 글로벌 변수 중 하나를 돌려준다.

    [설명] 현재 사용 중인 디렉토리 이름을 얻어 buf에 저장한다.

    24.1.145. getdate()

    [형식]
    #include <dos.h>
    void getdate(datep);

    [매개변수]
    struct date *datep : 날짜를 저장하는 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 시스템의 날짜를 구한다.

    24.1.146. getdefaultpalette()

    [형식]
    #include <graphics.h>
    void palettetype *far getdefaultpalette(void);

    [매개변수]
    없음.

    [되돌림값]
    드라이버로 지정된 기본 팔레트의 포인터를 돌려준다.

    [설명] 팔레트 정의 구조를 알아낸다.

    24.1.147. getdfree()

    [형식]
    #include <stdio.h>
    void getdfree(drive, dtable);

    [매개변수]
    unsigned char drive : 드라이브 번호.
    struct dfree *dtable : 결과 저장하는 구조체 포인터.

    [되돌림값]
    없음. 오류가 발생하면 -1을 지정함.

    [설명] 디스크에서 사용하지 않은 영역의 크기를 검사해 얻는다.

    24.1.148. getdisk()

    [형식]
    #include <dir.h>
    int getdisk();

    [매개변수]
    없음.

    [되돌림값]
    현재 드라이브 번호.

    [설명] 현재 디스크 드라이브 번호를 얻는다.

    24.1.149. getdrivername()

    [형식]
    #include <graphics.h>
    char *far getdrivername();

    [매개변수]
    없음.

    [되돌림값]
    드라이버 이름을 포함하는 문자열 포인터.

    [설명] 현재 그래픽스 드라이버의 이름을 포함한 문자열 포인터를 얻는다.

    24.1.150. getdta()

    [형식]
    #include <dos.h>
    char far *getdta();

    [매개변수]
    없음.

    [되돌림값]
    현재 DTA를 위한 파 포인터.

    [설명] 현재 DTA(disk transfer address)를 얻는다.

    24.1.151. getenv()

    [형식]
    #include <stdlib.h>
    char *getenv(var);

    [매개변수]
    char *var : 환경 변수 이름.

    [되돌림값]
    환경 변수 이름을 돌려준다. 실패하면 빈 문자열을 돌려준다.

    [설명] var 변수 이름에 해당하는 환경 변수를 얻는다.

    24.1.152. getfat()

    [형식]
    #include <dos.h>
    void getfat(drive, dtable);

    [매개변수]
    unsigned char drive : 조사할 드라이브 번호.
    struct fatinfo *dtable : 결과를 저장할 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 지정한 드라이브의 FAT 정보를 얻는다.

    24.1.153. getfatd()

    [형식]
    #include <dos.h>
    void getfatd(dtable);

    [매개변수]
    struct fatinfo *dtable : 결과를 저장할 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 현재 드라이브의 FAT 정보를 얻는다.

    24.1.154. getfillpattern()

    [형식]
    #include <graphics.h>
    void far getfillpattern(*upattern);

    [매개변수]
    char far *upatterm : 사용자 정의 필 패턴.

    [되돌림값] 없음.

    [설명] setfillpattern으로 정의된 사용자 fill 패턴을 upattern으로 지정된 8 바이트 영역으로 복사한다.

    24.1.155. getfillsettings()

    [형식]
    #include <graphics.h>
    void far getfillsettings(fillinfo);

    [매개변수]
    struct fillsettingstype far *fillinfo : 결과를 저장할 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 현재 정의된 fill 패턴과 색에 관한 정보를 얻는다.

    24.1.156. getftime()

    [형식]
    #include <io.h>
    int getftime(handle,ftimep);

    [매개변수]
    int handle : 파일 핸들러 번호.
    struct ftime *ftimep : 결과를 저장할 구조체 포인터.

    [되돌림값]
    성공하면 0을, 오류가 나면 -1을 돌려준다.

    [설명] 파일의 날짜와 시간을 얻는다.

    24.1.157. getgraphmode()

    [형식]
    #include <graphics.h>
    int far getgraphmode();

    [매개변수]
    없음.

    [되돌림값]
    그래픽스 모드를 돌려준다.

    [설명] initgraph나 setgraphmode에 의해 설정된 현재 그래픽 모드에 관한 정보를 얻는다.

    24.1.158. getimage()

    [형식]
    #include <graphics.h>
    void far getimage(left, top, right, bottom, bitmap);

    [매개변수]
    int left : 영역의 왼 쪽.
    int top : 영역의 위 쪽.
    int right : 영역의 오른 쪽.
    int bottom : 영역의 아래 쪽.
    void far *bitmap : 이미지를 저장할 영역의 포인터.

    [되돌림값]
    없음.

    [설명] 화면의 비트 이미지 중 일정 부분을 잡아서 메모리에 저장한다.

    24.1.159. getlinesettings()

    [형식]
    #include <graphics.h>
    void far getlinesettings(lineinfo);

    [매개변수]
    struct linesettingstype far *lineinfo : 결과를 저장할 구조체 포인터

    [되돌림값]
    없음.

    [설명] 현재 라인의 스타일, 패턴, 두께에 관한 정보로 lineinfo에 의해 지정된 포인터 지점의 값을 얻는다.

    24.1.160. getmaxcolor()

    [형식]
    #include <graphics.h>
    int far getmaxcolor(void);

    [매개변수]
    없음.

    [되돌림값]
    사용 가능한 컬러의 최대값.

    [설명] 현재 사용할 수 있는 가장 높은 컬러 번호를 구한다.

    24.1.161. getmaxmode()

    [형식]
    #include <graphics.h>
    int far getmaxmode(void)

    [매개변수]
    없음.

    [되돌림값]
    현재 사용 가능한 최대 모드 번호.

    [설명]
    현재의 그래픽스 드라이버로 사용할 수 있는 최대의 모드 번호를 구한다.

    24.1.162. getmaxx()

    [형식]
    #include <graphics.h>
    int far getmaxx(void);

    [매개변수]
    없음.

    [되돌림값]
    x 좌표의 최대값.

    [설명] 현재의 그래픽 모드에서의 최대 x 좌표값을 구한다.

    24.1.163. getmaxy()

    [형식]
    #include <graphics.h>
    int far getmaxy(void);

    [매개변수]
    없음.

    [되돌림값]
    y 좌표의 최대값.

    [설명] 현재의 그래픽 모드에서의 최대 y 좌표값을 구한다.

    24.1.164. getmodename()

    [형식]
    #include <graphics.h>
    char *far getmodename(mode_number);

    [매개변수]
    int mode_number : 모드 번호.

    [되돌림값]
    모드 이름을 포함하는 문자열의 포인터.

    [설명] 그래픽스 모드의 이름을 포함하는 문자열 포인터를 구한다.

    24.1.165. getmoderange()

    [형식]
    #include <graphics.h>
    void far getmoderange(graphdriver, *lomode, *himode);

    [매개변수]
    int graphdriver : 그래픽스 드라이버 번호.
    int far *lomode : 모드의 최저값을 나타내는 포인터.
    int far *himode : 모드의 최대값을 나타내는 포인터.

    [되돌림값]
    없음.

    [설명] 주어진 드라이버에 대하여 유효한 그래픽 모드의 범위를 구한다. 가장 적은 값은 *lomode, 가장 큰 모드값은 *himode로 얻는다.

    24.1.166. getpalette()

    [형식]
    #include <graphics.h>
    void far getpalette(palette);

    [매개변수]
    struct palettetype far *palette : 결과를 저장하는 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 현재 사용하는 팔레트에 관한 정보를 얻는다.

    24.1.167. getpalettesize()

    [형식]
    #include <graphics.h>
    void far getpalettesize(void);

    [매개변수]
    없음.

    [되돌림값]
    팔레트의 수.

    [설명] 팔레트의 크기 즉 사용 가능한 수를 구한다.

    24.1.168. getpass()

    [형식]
    #include <conio.h>
    char *getpass(*prompt);

    [매개변수]
    const char *prompt : 프롬프트 메시지를 표시하는 문자열.

    [되돌림값]
    문자열의 포인터.

    [설명] 패스워드를 읽고 메시지를 화면에 표시한다.

    24.1.169. getpixel()

    [형식]
    #include <graphics.h>
    unsigned far getpixel(x, y);

    [매개변수]
    int x : 픽셀의 x 좌표.
    int y : 픽셀의 y 좌표.

    [되돌림값]
    좌표값의 픽셀 컬러.

    [설명] x, y 좌표에 위치한 점의 컬러를 얻는다.

    24.1.170. getpsp()

    [형식]
    #include <dos.h>
    unsigned getpsp(void);

    [매개변수]
    없음.

    [되돌림값]
    PSP의 세그먼트 어드레스.

    [설명] PSP(program segment prefix)를 구한다.

    24.1.171. gets()

    [형식]
    #include <stdio.h>
    char *gets(*string);

    [매개변수]
    char *string : 입력한 문자열을 저장하는 영역의 포인터.

    [되돌림값]
    성공하면 문자열 s를, 실패하면 NULL을 돌려준다.

    [설명] stdin(키보드)로부터 문자열을 입력받아 저장한다.

    24.1.172. gettext()

    [형식]
    #include <conio.h>
    int gettext(left, top, right, bottom, *destin);

    [매개변수]
    int left, top, right, bottom : 영역의 왼 쪽, 위 쪽, 오른 쪽, 아래 쪽.
    void *destin : 메모리 영역.

    [되돌림값]
    성공하면 1을 실패하면 0을 돌려준다.

    [설명] 텍스트 모드 화면에서 left, top, right, bottom 지정된 직사각형 영역을 *destin의 메모리 영역에 저장한다. 즉 화면의 텍스트를 메모리로 복사한다.

    24.1.173. gettextinfo()

    [형식]
    #include <conio.h>
    void gettextinfo(*r);

    [매개변수]
    struct text_info *r : 결과를 저장하는 구조체 포인터.

    [되돌림값]
    없음. 결과는 r이 가리키는 구조체에 복귀시킨다.

    [설명] 텍스트 모드 정보를 얻는다.

    24.1.174. gettextsettings()

    [형식]
    #include <graphics.h>
    void far gettextsettings(*texttypeinfo);

    [매개변수]
    struct textsettingstype far *texttypeinfo : 결과를 저장할 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 텍스트 폰트, 크기, 방향 등의 정보를 구조체에 저장한다.

    24.1.175. gettime()

    [형식]
    #include <dos.h>
    void gettime(timep);

    [매개변수]
    struct time *timep : 결과를 저장하는 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 시스템의 시간을 구한다.

    24.1.176. getvect()

    [형식]
    #include <dos.h>
    void interrupt(*getvect(intr_num)) ();

    [매개변수]
    int intr_num : 인터럽트 번호.

    [되돌림값]
    인터럽트 벡터를 저장하는 4바이트 값.

    [설명] 인터럽트 벡터를 구한다.

    24.1.177. getverify()

    [형식]
    #include <dos.h>
    int getverify(void);

    [매개변수]
    없음.

    [되돌림값]
    verify flag 상태.

    [설명] 도스의 verify flag 상태를 구한다. 상태가 off이면 0을, on이면 1을 돌려준다.

    24.1.178. getviewsettings()

    [형식]
    #include <graphics.h>
    void far getviewsettings(*viewport);

    [매개변수]
    struct viewporttype far *viewport : 결과를 저장하는 구조체 포인터.

    [되돌림값]
    없음.

    [설명] viewport로 지정된 곳의 뷰포트 정보를 얻는다.

    24.1.179. getw()

    [형식]
    #include <stdio.h>
    int getw(*fp);

    [매개변수]
    FILE *fp : 파일 포인터.

    [되돌림값]
    성공하면 정수를, 오류가 생기면 EOF를 돌려준다.

    [설명] 지정된 입력 스트림으로부터 다음 정수 값을 구한다.

    24.1.180. getx()

    [형식]
    #include <graphics.h>
    int far getx(void);

    [매개변수]
    없음.

    [되돌림값]
    현재 위치의 x 좌표.

    [설명] 현재 위치한 곳의 x 좌표값을 구한다.

    24.1.181. gety()

    [형식]
    #include <graphics.h>
    int far gety(void);

    [매개변수]
    없음.

    [되돌림값]
    현재 위치의 y 좌표.

    [설명] 현재 위치한 곳의 y 좌표값을 구한다.

    24.1.182. gmtime()

    [형식]
    #include <time.h>
    struct tm *gmtime(*timer);

    [매개변수]
    const time_t *timer : 그리니치 표준시로 변환하는 시각.

    [되돌림값]
    구조체 포인터.

    [설명] 날짜와 시간을 그리니치 표준시로 변환해 구조체에 저장한다.

    24.1.183. gotoxy()

    [형식]
    #include <conio.h>
    void gotoxy(x, y);

    [매개변수]
    int x : 커서의 x 좌표.
    int y : 커서의 y 좌표.

    [되돌림값]
    없음.

    [설명] 텍스트 윈도에서 커서 위치를 (x, y)의 위치로 이동시킨다.

    24.1.184. graphdefaults()

    [형식]
    #include <graphics.h>
    void far graphdefaults();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 모든 그래픽 환경 설정을 초기값(default)으로 다시 설정한다.

    24.1.185. grapherrormsg()

    [형식]
    #include <graphics.h>
    char *far grapherrormsg(errorcode);

    [매개변수]
    int errorcode : 그래픽 함수의 오류 코드.

    [되돌림값]
    오류 메시지 문자열의 포인터.

    [설명] 오류 메시지를 나타내는 문자열을 돌려준다.

    24.1.186. _graphfreemem()

    [형식]
    #include <graphics.h>
    void far _graphfreemem(*ptr, size);

    [매개변수]
    void far *ptr : 메모리 영역의 포인터.
    unsigned size : 메모리 영역의 크기를 나타내는 바이트 값.

    [되돌림값]
    없음.

    [설명] 사용자가 그래픽스 라이브러리로 사용한 그패픽 메모리 영역을 해제한다.

    24.1.187. _graphgetmem()

    [형식]
    #include <graphics.h>
    void far *far _graphgetmem(size);

    [매개변수]
    unsigned size : 바이트로 표시되는 할당 메모리 크기.

    [되돌림값]
    없음.

    [설명] 그래픽스 라이브러리로 사용할 메모리를 바이트 크기로 할당한다.

    24.1.188. graphresult()

    [형식]
    #include <graphics.h>
    int far graphresult();

    [매개변수]
    없음.

    [되돌림값]
    현재 그래픽 함수의 오류 번호.

    [설명] 맨 마지막에 사용한 그래픽 연산에 관한 오류 코드를 얻는다.

    24.1.189. harderr()

    [형식]
    #include <dos.h>
    void harderr(handler);

    [매개변수]
    int (*handler) () : 설치할 핸들러 함수.

    [되돌림값]
    없음.

    [설명] 하드웨어 오류 핸들러를 설치한다.

    24.1.190. hardresume()

    [형식]
    #include <dos.h>
    void hardresume(axret);

    [매개변수]
    int axret : 결과 코드.

    [되돌림값]
    없음.

    [설명] 하드웨어 오류 핸들러를 도스로 돌려준다. 결과 코드는 0=ignore, 1=retry, 2=abort 이다.

    24.1.191. hardretn()

    [형식]
    #include <dos.h>
    void hardretn(retn);

    [매개변수]
    int retn : 결과 코드.

    [되돌림값]
    없음.

    [설명] 하드웨어 오류 핸들러를 프로그램으로 돌려준다. 결과 코드는 0=ignore, 1=retry, 2=abort 이다.

    24.1.192. highvideo()

    [형식]
    #include <conio.h>
    void highvideo();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 현재 선택한 전경색을 고휘도 문자로 선택한다.

    24.1.193. hypot()

    [형식]
    #include <math.h>
    double hypot(x, y);

    [매개변수]
    double x, y : 직각 삼각형의 각 변의 길이.

    [되돌림값]
    성공하면 z를 돌려주고, 실패하면 HUGE_VAL을 돌려준다.

    [설명] 직각 삼각형의 빗변을 구한다.

    24.1.194. imagesize()

    [형식]
    #include <graphics.h>
    unsigned far imagesize(left, top, right, bottom);

    [매개변수]
    int left : 왼 쪽.
    int top : 위 쪽.
    int right : 오른 쪽 .
    int bottom : 아래 쪽.

    [되돌림값]
    필요한 메모리의 크기를 돌려준다.

    [설명] 비트맵 이미지를 저장하는데 필요한 바이트의 크기를 얻는다.

    24.1.195.initgraph()

    [형식]
    #include <graphics.h>
    void far initgraph(graphdriver, graphmode, pathtodriver);

    [매개변수]
    int far *graphdriver : 그래픽스 드라이버 종류.
    int far *graphmode : 그래픽스 모드 번호.
    char far *pathtodriver : 드라이버의 경로.

    [되돌림값]
    없음.

    [설명] 그래픽 시스템으로 초기화한다. 다시 말해 텍스트 상태인 컴퓨터 상태를 그래픽 상태로 변경한다.

    24.1.196. inport()

    [형식]
    #include <dos.h>
    void inport(portid);

    [매개변수]
    int portid : 포트 번호.

    [되돌림값]
    입력한 값.

    [설명] portid로 지정한 입출력 포트에서 1 단어를 입력한다.

    24.1.197. inportb()

    [형식]
    #include <dos.h>
    unsigned char inportb(portid);

    [매개변수]
    int portid : 포트 번호.

    [되돌림값]
    입력한 값.

    [설명] portid로 지정한 입출력 포트에서 1바이트를 입력한다.

    24.1.198. insline()

    [형식]
    #include <conio.h>
    void insline();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 텍스트 윈도에 빈 줄을 삽입한다.

    24.1.199. installuserdriver()

    [형식]
    #include <graphics.h>
    int far installuserdriver(name, detect);

    [매개변수]
    char far *name : 드라이버의 파일 이름.
    int far (*detect) () : 하드웨어 자동 검출 함수의 포인터.

    [되돌림값]
    새롭게 설치되는 드라이버 번호.

    [설명] BGI 디바이스 드라이버 테이블에 디바이스 드라이버를 추가하여 설치한다.

    24.1.200. installuserfont()

    [형식]
    #include <graphics.h>
    int far installuserfont(name);

    [매개변수]
    char far *name : 스트로크 폰트 파일 이름.

    [되돌림값]
    폰트 ID 번호.

    [설명] 폰트 파일(*.chr)을 불러온다.

    24.1.201. int86()

    [형식]
    #include <dos.h>
    int int86(intno, inregs, outregs);

    [매개변수]
    int intno : 인터럽트 번호.
    union REGS *inregs : 인도되는 레지스터의 값을 저장하는 영역.
    union REGS *outregs : 결과로 복귀될 값을 저장하는 영역.

    [되돌림값]
    AX 레지스터 값.

    [설명] 8086 소프트웨어 인터럽트를 발생시킨다.

    24.1.202. int86x()

    [형식]
    #include <dos.h>
    int int86x(intno, inregs, outregs, segregs);

    [매개변수]
    int intno : 인터럽트 번호.
    union REGS *inregs : 인도되는 레지스터의 값을 저장하는 영역.
    union REGS *outregs : 결과로 복귀될 값을 저장하는 영역.
    struct SREGS *segregs : 인도되는 세그먼트 레지스터 값.

    [되돌림값]
    AX 레지스터 값.

    [설명] 8086 소프트웨어 인터럽트 인터페이스를 발생시킨다.

    24.1.203. intdos()

    [형식]
    #include <dos.h>
    int intdos(inregs, outregs);

    [매개변수]
    union REGS *inregs : 인도되는 레지스터의 값을 저장하는 영역.
    union REGS *outregs : 결과로 복귀될 값을 저장하는 영역.

    [되돌림값]
    AX 레지스터 값.

    [설명] DOS 인터럽트를 발생시킨다.

    24.1.204. intdosx()

    [형식]
    #include <dos.h>
    int intdosx(inregs, outregs, segregs);

    [매개변수]
    union REGS *inregs : 인도되는 레지스터의 값을 저장하는 영역.
    union REGS *outregs : 결과로 복귀될 값을 저장하는 영역.
    struct SREGS *segregs : 인도되는 세그먼트 레지스터 값.

    [되돌림값]
    AX 레지스터 값.

    [설명] DOS 인터럽트 인터페이스를 발생시킨다.

    24.1.205. intr()

    [형식]
    #include <dos.h>
    void intr(intno, preg);

    [매개변수]
    int intno : 인터럽트 번호.
    struct REGPACK *preg : 레지스터 값을 저장하는 영역.

    [되돌림값]
    없음.

    [설명] 8086 소트트웨어 인터페이스를 발생시킨다.

    24.1.206. ioctl()

    [형식]
    #include <dos.h>
    int ioctl(handle, func [, argdx, argcx]);

    [매개변수]
    int handle : 파일 핸들러 번호.
    int func : al 레지스터에 지정되는 값.
    void *argdx : ds 레지스터에 지정되는 값.
    int argcx : cx 레지스터에 지정되는 값.

    [되돌림값]
    디바이스 정보.

    [설명] IO 디바이스를 직접 제어한다.

    24.1.207. isalnum()

    [형식]
    #include <ctype.h>
    int isalnum(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 영문자나 숫자일 경우 0 이외의 값을 돌려준다.

    [설명] c가 영문자 또는 숫자인가를 판별한다.

    24.1.208. isalpha()

    [형식]
    #include <ctype.h>
    int isalpha(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 영문자일 경우 0 이외의 값을 돌려준다.

    [설명] c가 영문자(A-Z, a-z)인가를 판별한다.

    24.1.209. isascii()

    [형식]
    #include <ctype.h>
    int isascii(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 c의 아스키 범위가 0~127이면 0 이외의 값을 돌려준다.

    [설명] c가 ASCII문자(0~127)인가를 판별한다.

    24.1.210. isatty()

    [형식]
    #include <io.h>
    int isatty(handle);

    [매개변수]
    int handle : 파일 핸들러 번호.

    [되돌림값]
    캐릭터 디바이스라면 0 이외의 정수를, 그렇지 않으면 0을 돌려준다.

    [설명] 주어진 핸들러 파일의 디바이스 형태를 판별한다.

    24.1.211. iscntrl()

    [형식]
    #include <ctype.h>
    int iscntrl(c);

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    컨트롤문자면 0 이외의 값을 돌려준다.

    [설명] c가 컨트롤문자(0x00-0x1f, 0x7f)인가를 판별한다.

    24.1.212. isdigit()

    [형식]
    #include <ctype.h>
    int isdigit(c);

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 숫자면 0 이외의 값을 돌려준다.

    [설명] 문자 c가 숫자인가를 판별한다.

    24.1.213. isgraph()

    [형식]
    #include <ctype.h>
    int isgraph(c);

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    그래픽 문자라면 0 이외의 값을 돌려준다.

    [설명] c가 그래픽문자(프린팅문자)인가를 조사한다.

    24.1.214. islower()

    [형식]
    #include <ctype.h>
    int islower(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 영문 소문자라면 0 이외의 값을 돌려준다.

    [설명] c가 영어 소문자인가 판별한다.

    24.1.215. isprint()

    [형식]
    #include <ctype.h>
    int isprint(c);

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 프린팅 문자라면 0 이외의 값을 돌려준다.

    [설명] c가 프린팅문자(=인쇄가능문자, 0x20 - 0x7e)인가를 판별한다.

    24.1.216. ispunct()

    [형식]
    #include <ctype.h>
    int ispunct(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 구두점 문자라면 0 이외의 값을 돌려준다.

    [설명] c가 구두점문자인가를 판별한다.

    24.1.217. isspace()

    [형식]
    #include <ctype.h>
    int isspace(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 공백문자라면 0 이외의 값을 돌려준다.

    [설명] c가 공백문자인가를 판별한다.

    24.1.218. isupper()

    [형식]
    #include <ctype.h>
    int isupper(c)

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 영문 대문자라면 0 이외의 값을 돌려준다.

    [설명] c가 영문 대문자인가 조사한다.

    24.1.219. isxdigit()

    [형식]
    #include <ctype.h>
    int isxdigit(c);

    [매개변수]
    int c : 조사할 문자.

    [되돌림값]
    지정된 문자가 16진수라면 0 이외의 값을 돌려준다.

    [설명] c가 16진수를 표시하는 문자(0~9, A~F, a~f)인가를 조사한다.

    24.1.220. itoa()

    [형식]
    #include <stdlib.h>
    char *itoa(value, *string, radix);

    [매개변수]
    int value : 변환하는 정수 값.
    char *string : 변환 후 결과를 저장하는 문자열.
    int radix : 기수.

    [되돌림값]
    string의 포인터를 돌려준다. 오류가 발생하면 되돌림값이 없다.

    [설명] 정수를 문자열로 변환한다.

    24.1.221. khbit()

    [형식]
    #include <conio.h>
    int khbit();

    [매개변수]
    없음.

    [되돌림값]
    키스트로크가 가능하면 0 이외의 값을 돌려주고, 아니라면 0을 돌려준다.

    [설명] 사용 가능한 키스트로크에 대해 점검한다.

    24.1.222. keep()

    [형식]
    #include <dos.h>
    void keep(status, size);

    [매개변수]
    unsigned char status : 종료 상황.
    unsigned size : 패러그래프의 메모리 크기.

    [되돌림값]
    없음.

    [설명] 프로그램을 상주시키고 종료한다.

    24.1.223. labs()

    [형식]
    #include <math.h>
    #include <stdlib.h>
    long labs(n);

    [매개변수]
    long n : 절대값을 구할 수.

    [되돌림값]
    n의 절대값을 돌려준다.

    [설명] long형 n의 절대값을 구한다.

    24.1.224. ldexp()

    [형식]
    #include <math.h>
    double ldexp(x, exp);

    [매개변수]
    double x : 지수부.
    int exp : 가수부.

    [되돌림값]
    x*2exp 값을 돌려준다.

    [설명] X곱하기 2의 exp제곱값을 계산한다.

    24.1.225. ldiv()

    [형식]
    #include <stdlib.h>
    idiv_t ldiv(number, denom);

    [매개변수]
    long int number : 나누어지는 수.
    long int denom : 나누는 수.

    [되돌림값]
    구조체 멤버로 몫과 나머지를 돌려준다.

    [설명] 장정수형의 나눗셈을 하고 목과 나머지를 계산한다.

    24.1.226. lfind()

    [형식]
    #include <stdlib.h>
    void *lfined(key, base, pnelem, width, fcmp);

    [매개변수]
    const void *key : 검색할 키의 포인터.
    const void *base : 검색할 배열.
    size_t pnelem : 요소의 수.
    size_t width : 배열 내 요소의 바이트 크기.
    int(*fcmp) (const void *elem1, const void *elem2) : 비교 루틴.

    [되돌림값]
    배열에서 검색키와 맞는 첫 번째 엔트리의 주소를 돌려준다.

    [설명] 배열의 선형 검색을 실행한다.

    24.1.227. line()

    [형식]
    #include <graphics.h>
    void far line(x1, y1, x2, y2);

    [매개변수]
    int x1 : 시작점의 x 좌표.
    int y1 : 시작점의 y 좌표.
    int x2 : 마침점의 x 좌표.
    int y2 : 마침점의 y 좌표.

    [되돌림값]
    없음.

    [설명] 두 점 사이에 직선을 그린다.

    24.1.228. linerel()

    [형식]
    #include <graphics.h>
    void far linerel(x, y)

    [매개변수]
    int x : 현재 커서 위치에서 x 좌표까지의 상대 거리.
    int y : 현재 커서 위치에서 y 좌표까지의 상대 거리.

    [되돌림값]
    없음.

    [설명] 현재 커서 위치에서 x축과 y축으로 지정된 만큼 떨어진 점까지 직선을 그린다.

    24.1.229. lineto()

    [형식]
    #include <graphics.h>
    void far lineto(x, y)

    [매개변수]
    int x : 마침점의 x 좌표.
    int y : 마침점의 y 좌표.

    [되돌림값]
    없음.

    [설명] 현재 위치에서 절대 좌표 (x, y)까지 직선을 그린다.

    24.1.230. localtime()

    [형식]
    #include <time.h>
    struct tm *localtime(timer);

    [매개변수]
    const time_t *timer : 포인터.

    [되돌림값]
    구조체 포인터.

    [설명] 날짜와 시간을 구조체로 변환시킨다.

    24.1.231. lock()

    [형식]
    #include <io.h>
    int lock(handle, offset, length);

    [매개변수]
    int handle : 파일 핸들러 번호.
    long offset : 록(lock)되는 영역의 옵셋.
    long length : 록되는 영역의 길이.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] unlock된 핸들러 파일의 offset 위치에서부터 길이 바이트만큼 lock 시킨다.

    24.1.232. log()

    [형식]
    #include <math.h>
    double log(x);

    [매개변수]
    double x : 자연 로그를 구하는 값.

    [되돌림값]
    x의 자연 로그.

    [설명] x의 자연 로그를 구한다.

    24.1.233. log10()

    [형식]
    #include <math.h>
    double log10(x);

    [매개변수]
    double x : 상용 로그를 구하는 값.

    [되돌림값]
    x의 상용 로그.

    [설명] x의 상용 로그를 구한다.

    24.1.234. longjmp()

    [형식]
    #include <setjmp.h>
    void longjmp(jmpb, retval);

    [매개변수]
    jmp_buf jmpb : setjmp로 지정된 버퍼.
    int retval : 복귀되는 값.

    [되돌림값]
    없음.

    [설명] 롱 점프를 실시한다.

    24.1.235. lowvideo()

    [형식]
    #include <conio.h>
    void lowvideo();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 현재 사용중인 글씨로 저휘도 문자를 선택한다.

    24.1.236. _lrotl()

    [형식]
    #include <stdlib.h>
    unsigned long _lrotl(val, count);

    [매개변수]
    unsigned long val : 회전하는 값.
    int count : 회전하는 비트 수.

    [되돌림값]
    val을 count만큼 왼쪽으로 회전한 값을 돌려준다.

    [설명] 장정수 값을 왼쪽으로 회전시킨다.

    24.1.237. _lrotr()

    [형식]
    #include <stdlib.h>
    unsigned long _lrotr(val, count);

    [매개변수]
    unsigned long val : 회전하는 값.
    int count : 회전하는 비트 수.

    [되돌림값]
    val을 count만큼 오른쪽으로 회전한 값을 돌려준다.

    [설명] 장정수 값을 오른쪽으로 회전시킨다.

    24.1.238. lsearch()

    [형식]
    #include <stdlib.h>
    void *lsearch(key, base, pnelem, width, fcmp);

    [매개변수]
    void *key : 검색할 키의 포인터.
    void *base : 검색할 배열.
    size_t pnelem : 배열 요소의 수.
    size_t width : 배열 요소의 바이트 수.
    int(*fcmp) (const void *elem1, const void *elem2) : 비교 루틴.

    [되돌림값]
    검색키와 맞는 첫 번째 엔트리의 주소.

    [설명] 배열을 검색한다.

    24.1.239.lseek()

    [형식]
    #include <io.h>
    long lseek(handle, offset, fromwhere);

    [매개변수]
    int handle : 파일 핸들러 번호.
    long offset : 지정하는 판독 위치의 바이트 수.
    int fromwhere : 바이트 수 계산의 기점.

    [되돌림값]
    포인터의 새로운 위치의 옵셋을 돌려준다.

    [설명] 파일 포인터를 이동시킨다.

    24.1.240. ltoa()

    [형식]
    #include <stdlib.h>
    char *ltoa(value, *string, radix);

    [매개변수]
    int value : 변환되는 값.
    char *string : 변환 후 값을 저장할 문자열.
    int radix : 기수.

    [되돌림값]
    성공하면 문자열을 돌려주고 실패하면 없다.

    [설명] 장정수를 문자열로 변환한다.

    24.1.241. main()

    [형식]
    main([argc, argv, env]);

    [매개변수]
    int argc : 명령어 라인 인수 갯수.
    char *argv[] : 각 인수의 포인터 배열.
    char *env[] : 저장하는 환경 변수의 포인터 배열.

    [되돌림값]
    종료 상황을 정수형으로 돌려준다.

    [설명] 프로그램을 시작하는 함수.

    24.1.242. malloc()

    [형식]
    #include <stdlib.h>
    #include <alloc.h>
    void *malloc(size);

    [매개변수]
    size_t size : 메모리의 크기를 나타내는 바이트 수.

    [되돌림값]
    성공하면 메모리 블록의 포인터를, 실패하면 널을 돌려준다.

    [설명] size 크기의 메모리를 메인 메모리로 확보한다.

    24.1.243. _matherr()

    [형식]
    #include <math.h>
    double _matherr(why, fun, arg1, arg2, retval);

    [매개변수]
    _mexcep why : 발생된 오류 형태.
    char *fun : 오류가 발생한 함수의 이름을 포함한 문자열 포인터.
    double *arg1 : *fun이 가리키는 함수에 보내질 인수.
    double *arg2 : *fun이 가리키는 함수에 보내질 인수.
    double retval : matherr에 대한 되돌림값.

    [되돌림값]
    e->retval을 돌려준다.

    [설명] 부동소수점 함수의 오류를 처리한다.

    24.1.244. matherr()

    [형식]
    #include <math.h>
    int matherr(x);

    [매개변수]
    struct exception *x : 오류 상태를 나타내는 구조체 포인터.

    [되돌림값]
    오류가 UNDERFLOW나 TLOSS면 1을, 그렇지 않으면 0을 돌려준다.

    [설명] 수학 함수에서 발생한 오류를 사용자가 수정한다.

    24.1.245. max()

    [형식]
    #include <stdlib.h>
    (type) max(a,b);

    [매개변수]
    a, b : 비교 값.

    [되돌림값]
    2개의 수에서 큰 쪽을 돌려준다.

    [설명] 2개의 수를 비교하여 큰 수를 돌려준다.

    24.1.246. memccpy()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memccpy(dest, src, c, n);

    [매개변수]
    void *dest : 복사될 곳의 영역.
    const void *src : 복사하는 곳의 영역.
    int c : 지정 문자.
    size_t n : 복사 길이.

    [되돌림값]
    복사되면 c 다음의 포인터를, 아니면 널을 돌려준다.

    [설명] n 바이트의 블록을 src에서 dest로 복사한다.

    24.1.247. memchr()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memchr(*s, c, n);

    [매개변수]
    const void *s : 검색한 메모리 블록의 선두 주소.
    int c : 검색할 문자.
    size_t n : 검색할 영역의 길이.

    [되돌림값]
    성공하면 c가 나타나는 곳의 포인터를, 아니면 널을 돌려준다.

    [설명] 문자 c가 가리키는 블록의 처음 n 바이트를 검색한다.

    24.1.248. memcmp()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memcmp(s1, s2, n);

    [매개변수]
    const void *s1 : 비교할 메모리 영역의 선두.
    const void *s2 : 비교할 메모리 영역의 선두.
    size_t n : 메모리 영역의 길이

    [되돌림값]
    s1s2라면 양의 값을 돌려준다.

    [설명] n 바이트의 길이만큼 2개의 블록을 비교한다.

    24.1.249. memcpy()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memcpy(*dest, *src, n);

    [매개변수]
    void *dest : 복사되는 곳의 영역.
    const void *src : 복사하는 곳의 영역.
    size_t n : 복사하는 길이.

    [되돌림값]
    dest를 돌려준다.

    [설명] n바이트의 블록 내용을 src에서 dest 위치에 복사한다.

    24.1.250. memicmp()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memicmp(s1, s2, n);

    [매개변수]
    const void *s1 : 비교할 메모리 영역의 선두.
    const void *s2 : 비교할 메모리 영역의 선두.
    size_t n : 메모리 영역의 길이.

    [되돌림값]
    s1s2라면 양의 값을 돌려준다.

    [설명] 대소문자를 구별하지 않고 2개의 문자 배열을 비교한다.

    24.1.251. memmove()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memmove(dest, src, n);

    [매개변수]
    const void *s1 : 비교할 메모리 영역의 선두.
    const void *s2 : 비교할 메모리 영역의 선두.
    size_t n : 메모리 영역의 길이.

    [되돌림값]
    dest를 돌려준다.

    [설명] n 바이트의 블록을 복사한다. src와 dest가 겹쳐도 복사한다.

    24.1.252. memset()

    [형식]
    #include <string.h>
    #include <mem.h>
    void *memset(s, c, n);

    [매개변수]
    void *s : 메모리 블록의 선두.
    int c : 문자.
    size_t n : 바이트 수.

    [되돌림값]
    s를 돌려준다.

    [설명] c 문자로 메모리 블록의 n 바이트를 지정한다.

    24.1.253. min()

    [형식]
    #include <stdlib.h>
    (type) min(a,b);

    [매개변수]
    a, b : 비교하는 두 수.

    [되돌림값]
    작은 값을 돌려준다.

    [설명] 두 수를 비교하여 작은 쪽 값을 돌려준다.

    24.1.254. mkdir()

    [형식]
    #include <dir.h>
    int mkdir(path);

    [매개변수]
    char *path : 디렉토리 이름.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 지정된 이름으로 디렉토리를 만든다.

    24.1.255. MK_FP()

    [형식]
    #include <dos.h>
    void far *MK_FP(seg, offset);

    [매개변수]
    unsigned seg : 세그먼트.
    unsigned offset : 옵셋.

    [되돌림값]
    파 포인터를 돌려준다.

    [설명] 파 포인터를 돌려준다.

    24.1.256. mktemp()

    [형식]
    #include <dir.h>
    int *mktemp(template);

    [매개변수]
    char *template : 파일 이름을 지정할 영역.

    [되돌림값]
    template 문자열의 주소.

    [설명] 유일한 파일 이름을 만든다.

    24.1.257. modf()

    [형식]
    #include <math.h>
    double modf(x, ipart);

    [매개변수]
    double x : 원래 값.
    double *ipart : 정수부.

    [되돌림값]
    x의 소수부 값을 돌려준다.

    [설명] 부동소수점 수치를 정수 부분과 소수 부분으로 분리한다.

    24.1.258. movedata()

    [형식]
    #include <dir.h>
    #include <string.h>
    void movedata(srcseg, srcoff, destseg, destoff, n);

    [매개변수]
    unsigned srcseg : 소스의 세그먼트.
    unsigned srcoff : 소스의 옵셋.
    unsigned destseg : 목적지의 세그먼트.
    unsigned destoff : 목적지의 옵셋.
    size_t n : 복사할 바이트 수.

    [되돌림값]
    없음.

    [설명] 소스가 가리키는 곳에서 목적지로 n 바이트를 복사한다.

    24.1.259. moverel()

    [형식]
    #include <graphics.h>
    void far moverel(dx, dy);

    [매개변수]
    int dx : x 좌표의 상대 위치.
    int dy : y 좌표의 상대 위치.

    [되돌림값]
    없음.

    [설명] 현재의 커서 위치를 지정한 위치인 (dx, dy)로 이동시킨다.

    24.1.260. movetext()

    [형식]
    #include <conio.h>
    int movetext(left, top, right, bottom, destleft, desttop);

    [매개변수]
    int left : 영역의 왼쪽.
    int top : 영역의 위쪽.
    int right : 영역의 오른쪽.
    int bottom : 영역의 아래쪽.
    int destleft : 복사될 영역의 왼쪽.
    int desttop : 복사될 영역의 위쪽.

    [되돌림값]
    성공하면 1을, 오류가 발생하면 0을 돌려준다.

    [설명] left, top, right, bottom 으로 정의된 직사각형 안의 텍스트를 새로 정의한 곳에 복사한다.

    24.1.261. moveto()

    [형식]
    #include <graphics.h>
    void far moveto(x, y)

    [매개변수]
    int x : 이동할 x 좌표.
    int y : 이동할 y 좌표.

    [되돌림값]
    없음.

    [설명] 현재 커서 위치를 (x, y)로 이동시킨다.

    24.1.262. movmem()

    [형식]
    #include <mem.h>
    void movmem(*src, *dest, length);

    [매개변수]
    void *src : 소스.
    void *dest : 목적지 버퍼.
    unsigned length : 길이.

    [되돌림값]
    없음.

    [설명] src 버퍼의 length 바이트의 블록 내용을 dest 버퍼로 복사한다.

    24.1.263. normvideo()

    [형식]
    #include <conio.h>
    void normvideo();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 문자 표시 속성을 기본값으로 선택한다.

    24.1.264. nosound()

    [형식]
    #include <dos.h>
    void nosound();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] PC 스피커를 끈다.

    24.1.265. _open()

    [형식]
    #include <fcntl.h>
    #include <io.h>
    int _open(filename, oflags);

    [매개변수]
    const char *filename : 오픈할 파일 이름.
    int oflags : 파일 모드.

    [되돌림값]
    성공하면 파일 핸들러를, 오류가 발생하면 -1을 돌려준다.

    [설명] 입출력을 위해 파일을 오픈한다.

    24.1.266. open()

    [형식]
    #include <fcntl.h>
    #include <sys\stat.h>
    #include <io.h>
    int open(pathname, access, [.mode]);

    [매개변수]
    const char *pathname : 오픈할 파일 이름.
    int access : 액세스 방식.
    unsigned mode : 파일 모드.

    [되돌림값]
    성공하면 파일 핸들러를, 오류가 발생하면 -1을 돌려준다.

    [설명] 파일을 지정한 모드와 속성으로 연다.

    24.1.267. outport()

    [형식]
    #include <dos.h>
    void far outport(portid, value);

    [매개변수]
    int portid : 포트 번호.
    int value : 출력하는 값.

    [되돌림값]
    없음.

    [설명] 입출력 포트로 한 낱말(워드)를 출력한다.

    24.1.268. outportb()

    [형식]
    #include <dos.h>
    void far outportb(portid, value);

    [매개변수]
    int portid : 포트 번호.
    unsigned char value : 출력하는 값.

    [되돌림값]
    없음.

    [설명] 입출력 포트로 1 바이트를 출력한다.

    24.1.269. outtext()

    [형식]
    #include <graphics.h>
    void far outtext(*textstring);

    [매개변수]
    char far *textstring : 문자열의 포인터.

    [되돌림값]
    없음.

    [설명] 현재 커서 위치에 문자열을 출력한다.

    24.1.270. outtextxy()

    [형식]
    #include <graphics.h>
    void far outtextxy(x, y, *textstring);

    [매개변수]
    int x : x 좌표.
    int y : y 좌표.
    char far *textstring : 문자열 포인터.

    [되돌림값]
    없음.

    [설명] (x, y) 위치에 문자열을 출력한다.

    24.1.271. parsfnm()

    [형식]
    #include <dos.h>
    int *parsfnm(cmdline, fcb, option);

    [매개변수]
    const char *cmdline : DS:SI로 인도되는 파일 이름.
    struct fcb *fcb : ES:DI로 인도되는 FCB.
    int option : AL로 인도되는 옵션.

    [되돌림값]
    성공하면 파일 이름 끝의 다음 바이트 포인터를, 오류가 발생하면 널을 돌려준다.

    [설명] 파일 이름을 분석한다.

    24.1.272. peek()

    [형식]
    #include <dos.h>
    int peek(segment, offset);

    [매개변수]
    unsigned segment : 세그먼트 값.
    unsigned offset : 옵셋 값.

    [되돌림값]
    segment:offset에 저장된 단어를 돌려준다.

    [설명] segment:offset이 가리키는 메모리에 있는 단어를 읽어들인다.

    24.1.273. peekb()

    [형식]
    #include <dos.h>
    int peekb(segment, offset);

    [매개변수]
    unsigned segment : 세그먼트 값.
    unsigned offset : 옵셋 값.

    [되돌림값]
    segment:offset에 저장된 자료를 돌려준다.

    [설명] segment:offset이 가리키는 메모리에 있는 바이트를 읽어들인다.

    24.1.274. perror()

    [형식]
    #include <stdio.h>
    void perror(s)

    [매개변수]
    const char *s : 표시할 문자열.

    [되돌림값]
    없음.

    [설명] 시스템의 오류 메시지를 표시한다.

    24.1.275. pieslice()

    [형식]
    #include <graphics.h>
    void far pieslice(x, y, stangle, endangle, radius);

    [매개변수]
    int x : 부채꼴 중심의 x 좌표.
    int y : 부채꼴 중심의 y 좌표.
    int stangle : 부채꼴의 개시각.
    int endangle : 부채꼴의 종료각.
    int radius : 부채꼴의 반지름.

    [되돌림값]
    없음.

    [설명] 중점 (x, y)에서 stangle에서 endangle까지 반경 radius로 부채꼴(pie)을 그린다. 내부는 컬러와 패턴으로 칠한다.

    24.1.276. poke()

    [형식]
    #include <dos.h>
    void poke(segment, offset, value);

    [매개변수]
    unsigned segment : 세그먼트 값.
    unsigned offset : 옵셋 값.
    int value : 저장할 값.

    [되돌림값]
    없음.

    [설명] segment:offset으로 지정한 메모리에 value를 저장한다.

    24.1.277. pokeb()

    [형식]
    #include <dos.h>
    void pokeb(segment, offset, value);

    [매개변수]
    unsigned segment : 세그먼트 값.
    unsigned offset : 옵셋 값.
    int value : 저장할 값.

    [되돌림값]
    없음.

    [설명] segment:offset으로 지정한 메모리에 value(바이트)를 저장한다.

    24.1.278. poly()

    [형식]
    #include <math.h>
    double poly(x, degree, coeffs);

    [매개변수]
    double x : 변수 x의 값.
    int degree : 계산하는 식의 차원.
    double coeffs[] : 계수의 배열.

    [되돌림값]
    x로 계산된 다항식의 값을 돌려준다.

    [설명] 인수로부터 다항식을 구한다.

    24.1.279. pow()

    [형식]
    #include <math.h>
    double pow(x, y);

    [매개변수]
    double x : 계산하는 값.
    double y : 계산하는 값.

    [되돌림값]
    x의 y 제곱값을 돌려준다.
    [설명] x의 y 제곱값을 계산한다.

    24.1.280. pow10()

    [형식]
    #include <math.h>
    double pow10(p);

    [매개변수]
    int p : 계산할 제곱.

    [되돌림값]
    10의 p 제곱을 돌려준다.

    [설명] 10의 p 제곱을 계산한다.

    24.1.281. printf()

    [형식]
    #include <stdio.h>
    printf(format ...);

    [매개변수]
    const char *format : 정해진 포맷.

    [되돌림값]
    성공하면 출력된 바이트 수를 돌려주며, 오류가 발생하면 EOF를 돌려준다.

    [설명] stdout에 정해진 포맷에 의해 출력한다.

    24.1.282. putc()

    [형식]
    #include <stdio.h>
    int putc(ch, fp);

    [매개변수]
    int ch : 출력할 문자.
    FILE *fp : 출력할 파일.

    [되돌림값]
    성공하면 문자 ch를, 오류가 발생하면 EOF를 돌려준다.

    [설명] 스트림에 1 문자를 출력한다.

    24.1.283. putch()

    [형식]
    #include <conio.h>
    int putch(int ch);

    [매개변수]
    int ch : 출력할 문자.

    [되돌림값]
    성공하면 문자 ch를, 오류가 발생하면 EOF를 돌려준다.

    [설명] 단일 문자 ch를 출력한다.

    24.1.284. putchar()

    [형식]
    #include <stdio.h>
    int putchar(ch);

    [매개변수]
    int ch : 출력할 문자.

    [되돌림값]
    성공하면 문자 c를, 오류가 발생하면 EOF를 돌려준다.

    [설명] stout에 1 문자를 출력한다.

    24.1.285. putenv()

    [형식]
    #include <stdlib.h>
    char putenv(name);

    [매개변수]
    const char *name : 환경 변수 문자열.

    [되돌림값]
    성공하면 0을, 오류가 발생하면 -1을 돌려준다.

    [설명] 환경 변수 문자열을 추가한다.

    24.1.286. putimage()

    [형식]
    #include <graphics.h>
    void far putimage(left, top, *bitmap, option);

    [매개변수]
    int left : 영역의 왼쪽.
    int top : 영역의 위쪽.
    void far *bitmap : 이미지가 저장된 영역의 포인터.
    int option : 화면에 나타나는 모드.

    [되돌림값]
    없음.

    [설명] getimage()로 저장된 비트 이미지를 화면에 표시한다.

    24.1.287. putpixel()

    [형식]
    #include <graphics.h>
    void far putpixel(x, y, pixelcolor);

    [매개변수]
    int x : 픽셀의 x 좌표.
    int y : 픽셀의 y 좌표.
    int pixelcolor : 컬러.

    [되돌림값]
    없음.

    [설명] (x, y) 위치에 지정된 색으로 점을 표시한다.

    24.1.288. puts()

    [형식]
    #include <stdio.h>
    int puts(s);

    [매개변수]
    const char *s : 출력할 문자열.

    [되돌림값]
    성공하면 음수가 아닌 값을, 아니면 EOF를 돌려준다.

    [설명] stdout에 문자열을 출력한다.

    24.1.289. puttext()

    [형식]
    #include <conio.h>
    int puttext(left, top, right, bottom, *source);

    [매개변수]
    int left : 영역의 왼쪽.
    int top : 영역의 위쪽.
    int right : 영역의 오른쪽.
    int bottom : 영역의 아래쪽.
    void *source : 복사할 내용.

    [되돌림값]
    성공하면 0 이외의 값을, 오류가 발생하면 0을 돌려준다.

    [설명] 정의된 직사각형 내부에 source의 내용을 화면에 표시한다.

    24.1.290. putw()

    [형식]
    #include <stdio.h>
    int putw(w, fp);

    [매개변수]
    int w : 출력하는 값.
    FILE *fp : 파일 포인터.

    [되돌림값]
    성공하면 정수 w를, 오류가 발생하면 EOF를 돌려준다.

    [설명] 지정된 스트림에 정수를 출력한다.

    24.1.291. qsort()

    [형식]
    #include <stdlib.h>
    void qsort(base, nelem, width, fcmp);

    [매개변수]
    void *base : 검색하는 배열.
    size_t nelem : 요소의 수.
    size_t width : 배열 요소의 바이트 수.
    int(*fcmp) (const void *, const void *) : 비교 함수.

    [되돌림값]
    없음.

    [설명] 퀵소트 알고리즘을 이용해 정렬한다.

    24.1.292. raise()

    [형식]
    #include <signal.h>
    int raise(sig);

    [매개변수]
    int sig : 시그널.

    [되돌림값]
    성공하면 0을, 아니면 0 이외의 값을 돌려준다.

    [설명] 실행 프로그램에 시그널을 보낸다.

    24.1.293. rand()

    [형식]
    #include <stdlib.h>
    int rand();

    [매개변수]
    없음.

    [되돌림값]
    발생시킨 난수를 돌려준다.

    [설명] 난수를 발생시킨다.

    24.1.294. randbrd()

    [형식]
    #include <dos.h>
    int randbrd(fcb, rcnt);

    [매개변수]
    struct fcb *fcb : 기존의 열려있는 FCB.
    int rcnt : 읽어들이는 레코드 수.

    [되돌림값]
    연산 결과에 따라 0, 1, 2, 3 중의 하나를 돌려준다.

    [설명] 블록을 랜덤으로 읽는다.

    24.1.295. randbwr()

    [형식]
    #include <dos.h>
    int randbwr(fcb, rcnt);

    [매개변수]
    struct fcb *fcb : 기존의 열려있는 FCB.
    int rcnt : 쓰는 레코드 수.

    [되돌림값]
    연산 결과에 따라 0, 1, 2 중의 하나를 돌려준다.

    [설명] 블록을 랜덤으로 쓴다.

    24.1.296. random()

    [형식]
    #include <stdlib.h>
    int random(num);

    [매개변수]
    int num : 난수의 최대 값.

    [되돌림값]
    0부터 num-1 사이의 난수를 돌려준다.

    [설명] 난수를 발생시킨다.

    24.1.297. randomize()

    [형식]
    #include <stdlib.h>
    #include <time.h>
    void randomize();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 난수 발생 함수를 초기화한다.

    24.1.298. _read()

    [형식]
    #include <io.h>
    int _read(handle, buf, len);

    [매개변수]
    int handle : 파일 핸들러 번호.
    void *buf : 읽어들인 값을 저장하는 버퍼.
    unsigned len : 읽어들이는 길이.

    [되돌림값]
    성공하면 버퍼의 바이트 수를, 오류가 발생하면 0이나 -1을 돌려준다.

    [설명] 파일에서 지정된 바이트를 읽어 버퍼에 저장한다.

    24.1.299. read()

    [형식]
    #include <io.h>
    int read(handle, buf, len);

    [매개변수]
    int handle : 파일 핸들러 번호.
    void *buf : 읽어들인 값을 저장하는 버퍼.
    unsigned len : 읽어들이는 길이.

    [되돌림값]
    성공하면 버퍼의 바이트 수를, 오류가 발생하면 0이나 -1을 돌려준다.

    [설명] 파일에서 지정된 바이트를 읽어 버퍼에 저장한다.

    24.1.300. realloc()

    [형식]
    #include <stdlib.h>
    #include <alloc.h>
    void *realloc(block, size);

    [매개변수]
    void *block : 이미 확보한 메모리 영역.
    size_t size : 다시 확보할 메모리 영역의 길이.

    [되돌림값]
    다시 확보하는 메모리 블록의 주소를 돌려준다. 실패하면 널을 돌려준다.

    [설명] 메인 메모리를 지정된 길이로 다시 변경 확보한다.

    24.1.301. rectangle()

    [형식]
    #include <graphics.h>
    void far rectangle(left, top, right, bottom);

    [매개변수]
    int left, top, right, bottom : 사각형의 왼쪽, 위쪽, 오른쪽, 아래쪽.

    [되돌림값]
    없음.

    [설명] 지정된 영역으로 직사각형을 그린다.

    24.1.302. registerbgidriver()

    [형식]
    #include <graphics.h>
    int registerbgidriver(driver);

    [매개변수]
    void (*driver) (void) : 디바이스 드라이버의 시작 주소.

    [되돌림값]
    성공하면 드라이버 번호를, 실패하면 음수의 오류 코드를 돌려준다.

    [설명] 그래픽 시스템에 그래픽스 드라이버 코드 안에서 레지스터들을 연결시키거나, 드라이버를 등록한다.

    24.1.303. registerbgifont()

    [형식]
    #include <graphics.h>
    int registerbgifont(*font);

    [매개변수]
    void (*font) (void) : 폰트 정보의 시작 주소.

    [되돌림값]
    성공하면 폰트 번호를, 실패하면 음수의 오류 코드를 돌려준다.

    [설명] 폰트를 링크시키라고 시스템에 알려주어 폰트를 등록한다.

    24.1.304. remove()

    [형식]
    #include <stdio.h>
    remove(filename);

    [매개변수]
    filename : 삭제할 파일 이름.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 파일을 삭제한다.

    24.1.305. rename()

    [형식]
    #include <stdio.h>
    int rename(oldname, newname);

    [매개변수]
    const char *oldname : 원래의 파일 이름.
    const char *newname : 바꿀 새 파일 이름.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 파일 이름을 바꾼다.

    24.1.306. restorecrtmode()

    [형식]
    #include <graphics.h>
    void far restorecrtmode();

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] initgraph로 호출하기 전의 화면 모드로 돌려준다.

    24.1.307. rewind()

    [형식]
    #include <stdio.h>
    void rewind(ft);

    [매개변수]
    FILE *fp : 파일 포인터.

    [되돌림값]
    없음.

    [설명] 파일 포인터를 스스팀의 시작점으로 이동시킨다.

    24.1.308. rmdir()

    [형식]
    #include <dir.h>
    int rmdir(path);

    [매개변수]
    const char *path : 경로이름.

    [되돌림값]
    디렉토리를 삭제하면 0을, 오류가 발생하면 -1을 돌려준다.

    [설명] 디렉토리를 삭제한다.

    24.1.309. sbrk()

    [형식]
    #include <alloc.h>
    char *sbrk(incr);

    [매개변수]
    int incr : 증감량.

    [되돌림값]
    성공하면 변경 전의 브레이크 값을, 실패하면 -1을 돌려준다.

    [설명] 브레이크 값을 변경함으로써 데이터 세그먼트로 확보된 영역을 변경한다.

    24.1.310. scanf()

    [형식]
    #include <stdio.h>
    int scanf(format, ...);

    [매개변수]
    const char *format : 지정된 형식.

    [되돌림값]
    성공하면 필드의 수를, 실패하면 -1을 돌려준다.

    [설명] 포맷에 의한 입력을 한다.

    24.1.311. searchpath()

    [형식]
    #include <dir.h>
    char *searchpath(file)

    [매개변수]
    const char *file : 찾을 파일 이름.

    [되돌림값]
    성공하면 파일 이름을 나타내는 문자열 포인터, 아니면 널을 돌려준다.

    [설명] 지정한 파일에 대한 경로명을 찾는다.

    24.1.312. sector()

    [형식]
    #include <graphics.h>
    void far sector(x, y, stangle, endangle, xradius, yradius);

    [매개변수]
    int x : 타원의 부채꼴 중심 x 좌표.
    int y : 타원의 부채꼴 중심 y 좌표.
    int stangle : 타원의 부채꼴 개시각.
    int endangle : 타원의 부채꼴 종료각.
    int xradius : 타원의 x 축 반지름.
    int yradius : 타원의 y 축 반지름.

    [되돌림값]
    없음.

    [설명] 내부가 칠해진 타원의 부채꼴을 그린다.

    24.1.313. segread()

    [형식]
    #include <dos.h>
    void segread(segp);

    [매개변수]
    struct SREGS *segp : 세그먼트 레지스터 구조체의 포인터.

    [되돌림값]
    없음.

    [설명] 세그먼트 레지스터의 값을 읽는다.

    24.1.314. setactivepage()

    [형식]
    #include <graphics.h>
    void far setactivepage(page);

    [매개변수]
    int page : 페이지 번호.

    [되돌림값]
    없음.

    [설명] 그래픽이 출력되는 페이지를 지정한다.

    24.1.315. setallpalette()

    [형식]
    #include <graphics.h>
    void far setallpalette(palette);

    [매개변수]
    struct palettetype far *palette : 변경할 자료의 포인터.

    [되돌림값]

    [설명] 모든 팔레트의 색을 변경한다.

    24.1.316. setaspectratio()

    [형식]
    #include <graphics.h>
    void far setaspectratio(xasp, yasp);

    [매개변수]
    int xasp : x(수평) 방향의 애스펙트 비.
    int yasp : y(수직) 방향의 애스펙트 비.

    [되돌림값]
    없음.

    [설명] 애스팩트 비를 변경한다.

    24.1.317. setbkcolor()

    [형식]
    #include <graphics.h>
    void far setbkcolor(*color);

    [매개변수]
    int color : 바꾸고 싶은 배경색.

    [되돌림값]
    없음.

    [설명] 현재의 배경색을 바꾼다.

    24.1.318. setblock()

    [형식]
    #include <dos.h>
    int setblock(segx, newsize);

    [매개변수]
    unsigned segx : 블록의 세그먼트 주소.
    unsigned newsize : 새로 지정할 크기.

    [되돌림값]
    성공하면 -1을, 오류가 발생하면 사용 가능한 블록 크기를 돌려준다.

    [설명] segx로 지정된 블록의 크기를 바꾼다.

    24.1.319. setbuf()

    [형식]
    #include <stdio.h>
    void setbuf(fp, buf);

    [매개변수]
    FILE *fp : 파일 포인터.
    char *buf : 버퍼.

    [되돌림값]
    없음.

    [설명] 지정한 스트림에 버퍼를 배정한다.

    24.1.320. setcbrk()

    [형식]
    #include <dos.h>
    int setcbrk(cbrkvalue);

    [매개변수]
    int cbrkvalue : 컨트롤 브레이크 값.

    [되돌림값]
    보내진 값을 돌려준다.

    [설명] 컨트롤 브레이크 설정을 지정한다.

    24.1.321. setcolor()

    [형식]
    #include <graphics.h>
    void far setcolor(*color);

    [매개변수]
    int color : 지정할 색.

    [되돌림값]
    없음.

    [설명] 현재의 전경색(드로잉컬러)를 지정한다.

    24.1.322. setdate()

    [형식]
    #include <dos.h>
    void setdate(datep);

    [매개변수]
    struct date *datep : 날짜를 저장한 포인터.

    [되돌림값]
    없음.

    [설명] 도스의 날짜를 지정한다.

    24.1.323. setdisk()

    [형식]
    #include <dir.h>
    int setdisk(drive);

    [매개변수]
    int drive : 드라이브.

    [되돌림값]
    사용 가능한 드라이브의 총수.

    [설명] 현재의 디스크 드라이브를 지정한다.

    24.1.324. setdta()

    [형식]
    #include <dos.h>
    void setdta(dta);

    [매개변수]
    char far *dta : DTA 선두를 나타내는 포인터.

    [되돌림값]
    없음.

    [설명] DTA를 지정한다.

    24.1.325. setfillpattern()

    [형식]
    #include <graphics.h>
    void far setfillpattern(upattern, color);

    [매개변수]
    char far *upattern : 패턴 배열의 포인터.
    int color : 필 컬러.

    [되돌림값]
    없음.

    [설명] 사용자가 정의한 필 패턴과 색을 설정한다.

    24.1.326. setfillstyle()

    [형식]
    #include <graphics.h>
    void far setfillstyle(pattern, color);

    [매개변수]
    int pattern : 필 패턴.
    int color : 필 컬러.

    [되돌림값]
    없음.

    [설명] 필 패턴과 필 색을 설정한다.

    24.1.327. setftime()

    [형식]
    #include <io.h>
    int setftime(handle, ftimep);

    [매개변수]
    int handle : 파일 핸들러 번호.
    struct ftime *ftimep : 타임 구조체.

    [되돌림값]
    성공하면 0을 아니면 -1을 돌려준다.

    [설명] 파일의 날짜와 시간을 설정한다.

    24.1.328. setgraphbufsize()

    [형식]
    #include <graphics.h>
    unsigned far setgraphbufsize(bufsize);

    [매개변수]
    unsigned bufsize : 새로운 버퍼 크기.

    [되돌림값]
    변경 전의 버퍼 크기를 돌려준다.

    [설명] 그래픽 시스템에서 사용하는 버퍼의 크기를 bufsize로 변경한다.

    24.1.329. setgraphmode()

    [형식]
    #include <graphics.h>
    void far setgraphmode(mode);

    [매개변수]
    int mode : 그래픽스 모드.

    [되돌림값]
    부정확한 모드일 경우 -11의 값을 돌려준다.

    [설명] 화면을 지우고 시스템에 그래픽스 모드를 설정한다.

    24.1.330. setjmp()

    [형식]
    #include <setjmp.h>
    void setjmp(jmpb);

    [매개변수]
    jmp_buf jmpb : 복귀 지점을 지정하는 버퍼.

    [되돌림값]
    setjmp가 처음 호출되면 0을 돌려준다.

    [설명] 롱점프의 복귀 지점을 지정한다.

    24.1.331. setlinestyle()

    [형식]
    #include <graphics.h>
    void far setlinestyle(linestyle, upattern, thickness);

    [매개변수]
    int linestyle : 라인 스타일.
    int upattern : 사용자 정의 패턴.
    int thickness : 라인 두께.

    [되돌림값]
    setlinestyle로 보내는 것이 부정확하면 라이 스타일을 변경하지 않고 -11을 돌려준다.

    [설명] 현재 라인의 모양, 패턴, 두께를 설정한다.

    24.1.332. setmem()

    [형식]
    #include <mem.h>
    void setmem(*dest, len, value);

    [매개변수]
    void *dest : 메모리 영역의 선두 포인터.
    unsigned len : 영역의 길이.
    char value : 저장되는 값.

    [되돌림값]
    없음.

    [설명] 특정 메모리 영역에 지정한 값을 저장한다.

    24.1.333. setmode()

    [형식]
    #include <io.h>
    int setmode(handle, amode);

    [매개변수]
    int handle : 파일 핸들러 번호.
    int amode : 설정 모드.

    [되돌림값]
    성공하면 0을, 아니면 -1을 돌려준다.

    [설명] handle 관련 오픈 파일의 모드를 텍스트나 바이너리로 설정한다.

    24.1.334. setpalette()

    [형식]
    #include <graphics.h>
    void far setpalette(colornum, color);

    [매개변수]
    int colornum : 팔레트의 번호.
    int color : 지정할 컬러.

    [되돌림값]
    setpalette에 보내는 것이 부정확하면 -11을 돌려준다.

    [설명] 팔레트의 첫 번째 컬러를 color로 지정한 컬러로 바꾼다.

    24.1.335. setrgbpalette()

    [형식]
    #include <graphics.h>
    void far setrgbpalette(colornum, red, green, blue);

    [매개변수]
    int colornum : 팔레트의 번호.
    int red : 빨간색.
    int green : 초록색.
    int blue : 파란색.

    [되돌림값]
    없음.

    [설명] IBM-8514에서 사용자가 컬러를 지정하는 것을 허용한다.

    24.1.336. settextjustify()

    [형식]
    #include <graphics.h>
    void far settextjustify(horiz, vert);

    [매개변수]
    int horiz : 수평 방향의 위치.
    int vert : 수직 방향의 위치.

    [되돌림값]
    settextjustify에 보내는 것이 부정확하면 -11을 돌려준다.

    [설명] 그래픽 함수에서 텍스트를 출력할 때 위치를 맞출 정보를 제공한다.

    24.1.337. settextstyle()

    [형식]
    #include <graphics.h>
    void far settextstyle(font, direction, charsize);

    [매개변수]
    int font : 폰트 번호.
    int direction : 출력되는 방향.
    int charsize : 문자의 크기.

    [되돌림값]
    없음.

    [설명] 그래픽스 화면에 출력하는 텍스트의 스타일을 설정한다.

    24.1.338. settime()

    [형식]
    #include <dos.h>
    void settime(timep);

    [매개변수]
    struct time *timep : 지정할 시간이 저장된 구조체의 포인터.

    [되돌림값]
    없음.

    [설명] 시스템의 시간을 설정한다.

    24.1.339. setusercharsize()

    [형식]
    #include <graphics.h>
    void far setusercharsize(multx, divx, multy, divy);

    [매개변수]
    int multx : 너비 지정 x1.
    int divx : 너비 지정 x2.
    int multy : 높이 지정 y1.
    int divy : 높이 지정 y2.

    [되돌림값]
    없음.

    [설명] 폰트에 대한 글씨 폭과 높이를 사용자가 지정한다.

    24.1.340. setvbuf()

    [형식]
    #include <stdio.h>
    int setvbuf(fp, buf, type, size);

    [매개변수]
    FILE *fp : 파일 포인터.
    char *buf : 새롭게 할당하는 버퍼 포인터.
    int type : 버퍼의 타입.
    size_t size : 버퍼의 크기.

    [되돌림값]
    성공하면 0을, 아니면 0 이외의 값을 돌려준다.

    [설명] 지정하는 길이의 새로운 버퍼를 파일에 할당해준다.

    24.1.341. setverify()

    [형식]
    #include <dos.h>
    void setvirify(value);

    [매개변수]
    int value : 베리파이 플랙에 지정하는 값.

    [되돌림값]
    없음.

    [설명] DOS에서 베리파이 플랙의 상태를 설정한다.

    24.1.342. setviewport()

    [형식]
    #include <graphics.h>
    void far setviewport(left, top, right, bottom, clip);

    [매개변수]
    int left, top, right, bottom : 뷰포트의 왼쪽, 위쪽, 오른쪽, 아래쪽 좌표.
    int clip : 클리핑 플랙.

    [되돌림값]
    setviewport에 보내는 값이 부정확하면 -11을 돌려준다.

    [설명] 그래픽 출력에 대하여 새로운 viewport를 설정한다.

    24.1.343. setvisualpage()

    [형식]
    #include <graphics.h>
    void far setvisualpage(page);

    [매개변수]
    int page : 페이지 번호.

    [되돌림값]
    없음.

    [설명] 나타내는 그래픽 페이지 번호를 page로 설정한다.

    24.1.344. setwritemode()

    [형식]
    #include <graphics.h>
    void far setwritemode(mode);

    [매개변수]
    int mode : 라인을 그리는 모드.

    [되돌림값]
    없음.

    [설명] 그래픽 화면에서 라인을 그리는 모드를 설정한다.

    24.1.345. signal()

    [형식]
    #include <signal.h>
    void *signal(sig, fname);

    [매개변수]
    int sig : 시그널 번호.
    sigfun fname : 설정할 처리 함수.

    [되돌림값]
    성공하면 이전 핸들러를 위한 포인터를 돌려주고, 실패하면SIG_ERR을 돌려준다.

    [설명] 시그널의 처리 함수를 설정한다.

    24.1.346. sin()

    [형식]
    #include <math.h>
    double sin(x);

    [매개변수]
    double x : 사인 값을 구할 값.

    [되돌림값]
    x의 사인 값.

    [설명]
    사인 값을 구한다.

    24.1.347. sinh()

    [형식]
    #include <math.h>
    double sinh(x);

    [매개변수]
    double x : 하이퍼볼릭 사인 값을 구하려는 값.

    [되돌림값]
    하이퍼볼릭 사인 값.

    [설명] 하이퍼볼릭 사인 값을 구한다.

    24.1.348. sleep()

    [형식]
    #include <dos.h>
    void sleep(seconds);

    [매개변수]
    int seconds : 실행을 정지할 초의 길이.

    [되돌림값]
    없음.

    [설명] 지정한 초 동안 실행을 중시킨다.

    24.1.349. sopen()

    [형식]
    #include <fcntl.h>
    #include <sys\stat.h>
    #include <share.h>
    #include <io.h>
    int sopen(path, access, shflag, mode);

    [매개변수]
    char *path : 오픈하려는 파일 경로.
    int access : 액세스 모드.
    int shflag : 쉐어 모드.
    int mode : 모드.

    [되돌림값]
    성공하면 음수가 아닌 정수값을 돌려주고, 오류가 발생하면 -1을 돌려준다.

    [설명] 파일을 쉐어 모드로 연다.

    24.1.350. sound()

    [형식]
    #include <dos.h>
    void sound(frequency);

    [매개변수]
    unsigned frequency : 설정할 주파수.

    [되돌림값]
    없음.

    [설명] 스피커 비프음의 주파수를 설정한다.

    24.1.351. spawn() 계열

    [형식]
    #include <process.h>
    #include <stdio.h>
    int spawnl(mode, path, arg0, ..., NULL);
    int spawnle(mode, path, arg0, ..., NULL, env);
    int spawnlp(mode, path, arg0, ..., NULL);
    int spawnlpe(mode, path, arg0, ..., NULL, env);

    int spawnv(mode, path, argv[]);
    int spawnve(mode, path, argv[], env);
    int spawnvp(mode, path, argv[]);
    int spawnvpe(mode, path, argv[], env);

    [매개변수]
    int mode : 모 프로세서의 동작 지정 모드.
    char *path : 실행하는 파일 이름.
    char *arg0 : 인수를 나타내는 문자.
    char **env : 환경 변수를 나타내는 포인터.
    char *argv[] : 인수를 나타내는 문자열을 지정하는 포인터.

    [되돌림값]
    성공하면 차일드 프로세스의 종료 상황을, 실패하면 -1을 돌려준다.

    [설명] 차일드 프로세스를 실행한다.

    24.1.352. sprintf()

    [형식]
    #include <stdio.h>
    int sprintf(buffer, format, ...);

    [매개변수]
    char *buffer : 결과를 저장하는 버퍼.
    const char *format : 포맷 형식.
    ... : 기타 인수.

    [되돌림값]
    성공하면 출력한 바이트 수를, 실패하면 EOF를 돌려준다.

    [설명] 문자열을 포맷에 의해 출력한다.

    24.1.353. sqrt()

    [형식]
    #include <math.h>
    double sqrt(x);

    [매개변수]
    double x : 제곱근을 구할 값.

    [되돌림값]
    x의 양의 제곱근을 돌려준다.

    [설명] x의 양의 제곱근을 구한다.

    24.1.354. srand()

    [형식]
    #include <stdlib.h>
    void srand(seed);

    [매개변수]
    unsigned seed : 초기화에 사용하는 값.

    [되돌림값]
    없음.

    [설명] 난수 발생 함수 지정 수치를 초기화한다.

    24.1.355. sscanf()

    [형식]
    #include <stdio.h>
    int sscanf(buffer, format, ...);

    [매개변수]
    const char *buffer : 입력할 문자열이 저장된 버퍼.
    const char *format : 입력 포맷.
    ... : 결과를 저장하는 주소 등.

    [되돌림값]
    성공하면 필드의 수를, 실패하면 EOF를 돌려준다.

    [설명] 문자열을 입력하고 입력한 내용을 포맷에 의한 변환한다.

    24.1.356. stat()

    [형식]
    #include <sys\stat.h>
    int stat(path, statbuf);

    [매개변수]
    char *path : 조사할 파일 이름.
    struct stat *statbuf : 결과를 저장하는 구조체 포인터.

    [되돌림값]
    파일에 관한 정보를 얻으면 0을, 아니면 -1을 돌려준다.

    [설명] 오픈된 파일에 대한 정보를 얻는다.

    24.1.357. _status87()

    [형식]
    #include <float.h>
    unsigned int _status87(void);

    [매개변수]
    없음.

    [되돌림값]
    수치연산 프로세서의 상태를 돌려준다.

    [설명] 수치연산 프로세서의 상태를 검사한다.

    24.1.358. stime()

    [형식]
    #include <time.h>
    int stime(tp);

    [매개변수]
    time_t *tp : 지정한 시간이 저장된 포인터.

    [되돌림값]
    0을 돌려준다.

    [설명] 시스템의 날짜와 시간을 설정한다.

    24.1.359. stpcpy()

    [형식]
    #include <string.h>
    char *stpcpy(dest, *src);

    [매개변수]
    char *dest : 복사된 문자열이 저장될 포인터.
    const char *src : 복사하려는 원본 문자열.

    [되돌림값]
    dest를 돌려준다.

    [설명] src의 문자열을 dest로 복사한다.

    24.1.360. strcat()

    [형식]
    #include <string.h>
    char *strcat(dest, src);

    [매개변수]
    char *dest : 복사된 문자열이 저장될 포인터.
    const char *src : 복사하려는 원본 문자열.

    [되돌림값]
    dest를 돌려준다.

    [설명] src 문자열을 dest 문자열에 추가한다.

    24.1.361. strchr()

    [형식]
    #include <string.h>
    char *strchr(*str, c);

    [매개변수]
    const char *str : 검색 대상 문자열.
    int c : 찾는 문자.

    [되돌림값]
    문자를 찾으면 첫 번째 발견 포인터를, 아니면 널을 돌려준다.

    [설명] 문자열에서 주어진 문자의 위치를 찾는다.

    24.1.362. strcmp()

    [형식]
    #include <string.h>
    int *strcmp(s1, s2);

    [매개변수]
    const char *s1 : 비교하는 문자열.
    const char *s2 : 비교하는 문자열.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 두 문자열을 비교한다.

    24.1.363. strcmpi()

    [형식]
    #include <string.h>
    char *strcmpi(s1, s2);

    [매개변수]
    char *s1 : 비교할 문자열.
    char *s2 : 비교할 문자열.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 대소문자 구별 없이 두 문자열을 비교한다.

    24.1.364. strcpy()

    [형식]
    #include <string.h>
    char *strcpy(dest, src);

    [매개변수]
    char *dest : 복사된 문자열이 저장될 포인터.
    const char *src : 복사하려는 원본 문자열.

    [되돌림값]
    dest를 돌려준다.

    [설명] src의 문자열을 dest로 복사한다.

    24.1.365. strcspn()

    [형식]
    #include <string.h>
    size_t strcspn(s1, s2);

    [매개변수]
    const char *s1 : 비교 문자열.
    const char *s2 : 비교 문자열.

    [되돌림값]
    s1 중에서 검색하여 s2에 없는 문자를 돌려준다.

    [설명] s1의 문자열에서 str2의 문자열에 없는 글자가 나타날 때까지 비교한다.

    24.1.366. strdup()

    [형식]
    #include <string.h>
    char *strdup(*s);

    [매개변수]
    const char *s : 복사할 문자열

    [되돌림값]
    문자열을 저장하는 포인터를 돌려준다.

    [설명] 문자열을 새 장소에 복사한다.

    24.1.367. _strerror()

    [형식]
    #include <string.h>
    #include <stdio.h>
    char *_strerror(s);

    [매개변수]
    const char *s : 사용자 메시지.

    [되돌림값]
    오류 메시지를 구성하는 포인터를 돌려준다.

    [설명] 오류 메시지를 나타내는 문자열의 포인터를 구한다.

    24.1.368. strerror()

    [형식]
    #include <string.h>
    #include <stdio.h>
    char *strerror(errnum);

    [매개변수]
    int errnum : 오류 메시지 번호.

    [되돌림값]
    오류 메시지를 구성하는 포인터를 돌려준다.

    [설명] 오류 메시지를 나타내는 문자열의 포인터를 구한다.

    24.1.369. stricmp()

    [형식]
    #include <string.h>
    int stricmp(s1, s2);

    [매개변수]
    const char *s1 : 비교할 문자열.
    const char *s2 : 비교할 문자열.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 대소문자 구별 없이 두 문자열을 비교한다.

    24.1.370. strlen()

    [형식]
    #include <string.h>
    size_t strlen(s);

    [매개변수]
    const char *s : 길이를 구하려는 문자열.

    [되돌림값]
    문자의 수를 돌려준다. 단 널 문자는 제외한다.

    [설명] s 문자열의 문자 수를 구한다.

    24.1.371. strlwr()

    [형식]
    #include <string.h>
    char *strlwr(s);

    [매개변수]
    char *s : 변환할 문자열.

    [되돌림값]
    s의 포인터.

    [설명] 문자열에서 대문자를 대문자를 소문자로 변환한다.

    24.1.372. strncat()

    [형식]
    #include <string.h>
    char *strncat(dest, src, maxlen);

    [매개변수]
    char *dest : 문자가 추가되는 기존 문자열.
    const char *src : 추가하려는 문자열.
    size_t maxlen : 추가할 문자열의 최대 길이.

    [되돌림값]
    dest를 돌려준다.

    [설명] dest 끝에 src 문자열을 추가한다.

    24.1.373. strncmp()

    [형식]
    #include <string.h>
    char *strncmp(s1, s2, maxlen);

    [매개변수]
    const char *s1 : 비교할 문자열.
    const char *s2 : 비교할 문자열.
    size_t maxlen : 비교할 문자열의 최대 길이.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 문자열의 일정 부분을 다른 문자열의 일정 부분과 비교한다.

    24.1.374. strncmpi()

    [형식]
    #include <string.h>
    char *strncmpi(s1, s2, maxlen);

    [매개변수]
    const char *s1 : 비교할 문자열.
    const char *s2 : 비교할 문자열.
    size_t maxlen : 비교할 문자열의 최대 길이.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 대소문자 구별 없이 문자열의 일정 부분을 다른 문자열의 일정 부분과 비교한다.

    24.1.375. strncpy()

    [형식]
    #include <string.h>
    char *strncpy(dest, src, maxlen);

    [매개변수]
    char *dest : 복사될 문자열을 저장하는 포인터.
    const char *src : 복사하려는 문자열.
    size_t maxlen : 복사할 문자열의 최대 길이.

    [되돌림값]
    dest를 돌려준다.

    [설명] src를 dest로 정해진 길이만큼 복사한다.

    24.1.376. strnicmp()

    [형식]
    #include <string.h>
    char *strnicmp(s1, s2, maxlen);

    [매개변수]
    const char *s1 : 비교할 문자열.
    const char *s2 : 비교할 문자열.
    size_t maxlen : 비교할 문자열의 최대 길이.

    [되돌림값]
    s1s2면 0보다 큰 값을 돌려준다.

    [설명] 대소문자 구별 없이 문자열의 일정 부분을 다른 문자열의 일정 부분과 비교한다.

    24.1.377. strnset()

    [형식]
    #include <string.h>
    char *strnset(s, c, n);

    [매개변수]
    int *s : 문자열.
    int c : 입력되는 문자.
    size_t n : 입력 갯수.

    [되돌림값]
    s를 돌려준다.

    [설명] 문자 c를 s에 정해진 수만큼 입력한다.

    24.1.378. strpbrk()

    [형식]
    #include <string.h>
    char *strpbrk(s1, s2);

    [매개변수]
    const char *s1 : 검색할 문자열.
    const char *s2 : 검색하는 문자열.

    [되돌림값]
    문자가 처음 발견된 곳의 포인터.

    [설명] s1의 문자열에서 s2의 문자열이 처음 나타나는 곳을 구한다.

    24.1.379. strrchr()

    [형식]
    #include <string.h>
    char *strrchr(s, c);

    [매개변수]
    const char *s : 검색 대상 문자열.
    int c : 검색할 문자.

    [되돌림값]
    c가 마지막으로 발견되는 곳의 포인터를 돌려준다.

    [설명] 문자열에서 문자 c가 마지막으로 나타나는 곳을 구한다.

    24.1.380. strrev()

    [형식]
    #include <string.h>
    char *strrev(s);

    [매개변수]
    char *s : 변환될 문자열.

    [되돌림값]
    변환된 문자열의 포인터를 돌려준다.

    [설명] 문자열을 역순으로 변환한다.

    24.1.381. strset()

    [형식]
    #include <string.h>
    char *strset(s, c);

    [매개변수]
    char *s : 문자열.
    int c : 문자.

    [되돌림값]
    s를 돌려준다.

    [설명] 문자열의 모든 문자를 c로 바꾼다.

    24.1.382. strspn()

    [형식]
    #include <string.h>
    size_t strspn(s1, s2);

    [매개변수]
    const char *s1 : 비교 문자열.
    const char *s2 : 비교 문자열.

    [되돌림값]
    s1 중에서 검색하여 s2가 발견되는 처음 세그먼트의 길이를 돌려준다.

    [설명] s1의 문자열에서 str2의 문자열일 발견되는 첫 번째 세그먼트를 구한다.

    24.1.383. strstr()

    [형식]
    #include <string.h>
    char *strstr(s1, s2);

    [매개변수]
    const char *s1 : 검색되는 문자열.
    const char *s2 : 검색하는 문자열.

    [되돌림값]
    s2의 포인터를 돌려준다.

    [설명] s1에서 s2 문자열이 나타나는지 조사한다.

    24.1.384. strtod()

    [형식]
    #include <stdlib.h>
    double *strtod(s, endptr);

    [매개변수]
    const char *s : 변환할 문자열.
    char **end : 변환을 중지한 문자를 저장하는 영역.

    [되돌림값]
    s의 값을 돌려준다.

    [설명] 문자열을 double 값으로 변환한다.

    24.1.385. strtok()

    [형식]
    #include <string.h>
    char *strtok(s1, s2);

    [매개변수]
    char *s1 : 토큰에 의해 분리되는 문자열.
    const char *s2 : 토큰.

    [되돌림값]
    s1에서 발견된 토큰의 포인터를 돌려준다.

    [설명] s1 문자열에서 s2에 의해 분리되는 문자열을 구한다.

    24.1.386. strtol()

    [형식]
    #include <stdlib.h>
    long *strtol(s, endptr, radix);

    [매개변수]
    const char *s : 변환하는 문자열.
    char **endptr : 변환을 중지한 문자를 저장한 영역.
    int radix : 기수.

    [되돌림값]
    변환된 문자열의 값을 돌려준다. 오류가 발생하면 0을 돌려준다.

    [설명] 문자열을 장정수(long형)로 변환한다.

    24.1.387. strtoul()

    [형식]
    #include <stdlib.h>
    unsigned long *strtoul(s, endptr, radix);

    [매개변수]
    const char *s : 변환하는 문자열.
    char **endptr : 변환을 중지한 문자를 저장한 영역.
    int radix : 기수.

    [되돌림값]
    변환된 값을 돌려준다. 오류가 발생하면 0을 돌려준다.

    [설명] 문자열을 부호 없는 장정수(long형)로 변환한다.

    24.1.388. strupr()

    [형식]
    #include <string.h>
    char *strupr(s);

    [매개변수]
    char *s : 변환할 문자열.

    [되돌림값]
    s를 돌려준다.

    [설명] 문자열의 소문자를 대문자로 변환한다.

    24.1.389. swab()

    [형식]
    #include <stdlib.h>
    void swab(from, to, nbytes);

    [매개변수]
    char *from : 원래의 바이트 배열.
    char *to : 복사될 바이트 배열.
    int nbytes : 문자열의 길이.

    [되돌림값]
    없음.

    [설명] form 문자열을 to 문자열로 nbytes 복사하는데, 짝수 위치와 홀수 위치의 바이트를 교환한다.

    24.1.390. system()

    [형식]
    #include <process.h>
    #include <stdlib.h>
    int system(command);

    [매개변수]
    const char *command : 실행할 DOS 명령.

    [되돌림값]
    성공하면 0을, 오류가 발생하면 -1을 돌려준다.

    [설명] DOS 명령을 실행한다.

    24.1.391. tan()

    [형식]
    #include <math.h>
    double tan(x);

    [매개변수]
    double x : 탄젠트를 구하려는 값.

    [되돌림값]
    x의 탄젠트 값.

    [설명]
    x의 탄젠트 값을 구한다.

    24.1.392. tanh()

    [형식]
    #include <math.h>
    double tanh(x);

    [매개변수]
    double x : 하이퍼볼릭 탄젠트를 구하려는 값.

    [되돌림값]
    x의 하이퍼볼릭 탄젠트 값.

    [설명] x의 하이퍼볼릭 탄젠트 값을 구한다.

    24.1.393. tell()

    [형식]
    #include <io.h>
    long tell(handle);

    [매개변수]
    int handle : 파일 핸들러 번호.

    [되돌림값]
    파일 포인터의 현재 위치.

    [설명] 파일 포인터의 현재 위치를 구한다.

    24.1.394. textattr()

    [형식]
    #include <conio.h>
    void textattr(newattr);

    [매개변수]
    int newattr : 텍스트 속성.

    [되돌림값]
    없음.

    [설명] 텍스트 속성을 설정한다.

    24.1.395. textbackground()

    [형식]
    #include <conio.h>
    void textbackground(newcolor);

    [매개변수]
    int newcolor : 백그라운드 컬러.

    [되돌림값]
    없음.

    [설명] 새로운 텍스트의 배경색을 설정한다.

    24.1.396. textcolor()

    [형식]
    #include <conio.h>
    void textcolor(newcolor);

    [매개변수]
    int newcolor : 텍스트 컬러.

    [되돌림값]
    없음.

    [설명] 텍스트 모드에서 사용할 새 문자 색을 설정한다.

    24.1.397. textheight()

    [형식]
    #include <graphics.h>
    int far textheight(textstring);

    [매개변수]
    char far *textstring : 문자열 포인터.

    [되돌림값]
    문자열의 높이를 돌려준다.

    [설명] 현재 사용중인 font의 높이를 구한다.

    24.1.398. textmode()

    [형식]
    #include <conio.h>
    void textmode(newmode);

    [매개변수]
    int newmode : 새로 지정할 화면 모드.

    [되돌림값]
    없음.

    [설명] 텍스트 모드를 새로 설정한다.

    24.1.399. textwidth()

    [형식]
    #include <graphics.h>
    int far textwidth(textstring);

    [매개변수]
    char far *textstring : 문자열의 포인터.

    [되돌림값]
    문자열의 폭을 돌려준다.

    [설명] 현재 폰트의 픽셀에서 문자열 폭을 구한다.

    24.1.400. time()

    [형식]
    #include <time.h>
    time_t time(timer);

    [매개변수]
    time_t *timer : 시간을 저장하는 변수의 포인터.

    [되돌림값]
    경과 시간을 초로 돌려준다.

    [설명] 1970년 1월 1일 0시 0분 0초부터 경과된 시간을 초 단위로 구한다.

    24.1.401. tmpfile()

    [형식]
    #include <stdio.h>
    FILE *tmpfile(void);

    [매개변수]
    없음.

    [되돌림값]
    임시 파일의 스트림에 대한 포인터를 돌려준다.

    [설명] 바이너리 형태로 임시 파일을 오픈한다.

    24.1.402. tmpnam

    [형식]
    #include <stdio.h>
    char *tmpnam(sptr);

    [매개변수]
    char *sptr : 이름을 저장하는 영역.

    [되돌림값]
    s가 널이 아니면 s를 돌려준다.

    [설명] 임시 파일의 이름으로 사용하는 유일한 파일 이름을 작성한다.

    24.1.403. toascii()

    [형식]
    #include <ctype.h>
    int *toascii(c)

    [매개변수]
    int c : 변환할 값.

    [되돌림값]
    변환된 값을 돌려준다.

    [설명] c를 ASCII문자로 변환한다.

    24.1.404. _tolower()

    [형식]
    #include <ctype.h>
    int _tolower(c);

    [매개변수]
    int c : 변환할 값.

    [되돌림값]
    성공하면 변환된 값을 돌려준다.

    [설명] c를 무조건 소문자로 변환한다.

    24.1.405. tolower()

    [형식]
    #include <ctype.h>
    int tolower(ch);

    [매개변수]
    int ch : 변환할 값.

    [되돌림값]
    성공하면 변환된 값을 돌려준다.

    [설명] 대문자일 경우 ch를 소문자로 변환한다.

    24.1.406. _toupper()

    [형식]
    #include <ctype.h>
    int _toupper(c);

    [매개변수]
    int c : 변환할 값.

    [되돌림값]
    성공하면 변환된 값을 돌려준다.

    [설명] c를 무조건 대문자로 변환한다.

    24.1.407. toupper()

    [형식]
    #include <ctype.h>
    int toupper(ch);

    [매개변수]
    int c

    [매개변수]
    int ch : 변환할 값.

    [되돌림값]
    성공하면 변환된 값을 돌려준다.

    [설명] 소문자일 경우 ch를 대문자로 변환한다.

    24.1.408. tzset()

    [형식]
    #include <time.h>
    void tzset(void);

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 환경 변수 TZ을 기초로 유닉스 time과 호환성 있게 글로발 변수의 값을 설정한다.

    -- -- 24.1.409. ultoa()

    [형식]
    #include <stdlib.h>
    char *ultoa(value, string, radix);

    [매개변수]
    unsigned long value : 변환하는 값.
    char *string : 변환 후 결과를 저장하는 문자열.
    int radix : 기수.

    [되돌림값]
    string을 돌려준다.

    [설명] 부호 없는 장정수를 문자열로 변환한다.

    24.1.410. ungetc()

    [형식]
    #include <stdio.h>
    int ungetc(c, fp);

    [매개변수]
    int c : 밀어내는 문자.
    FILE *fp : 파일 포인터.

    [되돌림값]
    성공하면 밀어내는 문자를 돌려준다. 실패하면 EOF를 돌려준다.

    [설명] 입력 스트림에 문자 c를 되밀어 보낸다.

    24.1.411. ungetch()

    [형식]
    #include <conio.h>
    int ungetch(ch);

    [매개변수]
    int ch : 밀어내는 문자.

    [되돌림값]
    성공하면 문자 ch를, 실패하면 EOF를 돌려준다.

    [설명] 콘솔로 문자 ch를 되밀어 보내고 다음 문자를 읽을 수 있도록 한다.

    24.1.412. unixtodos()

    [형식]
    #include <dos.h>
    void unixtodos(time, d, t);

    [매개변수]
    long time : 변환하는 UNIX 시간.
    struct date *d : 날짜를 저장하는 구조체 포인터.
    struct date *t : 시간을 저장하는 구조체 포인터.

    [되돌림값]
    없음.

    [설명] 날짜와 시간을 DOS 형식으로 바꾼다.

    24.1.413. unlink()

    [형식]
    #include <dos.h>
    #include <io.h>
    #include <stdio.h>
    int unlink(filename);

    [매개변수]
    const char *filename : 삭제할 파일 이름.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 파일을 삭제한다.

    24.1.414. unlock()

    [형식]
    #include <io.h>
    int lock(handle, offset, length);

    [매개변수]
    int handle : 파일 핸들러 번호.
    long offset : 록이 해제되는 영역의 옵셋.
    long length : 록이 해제되는 영역의 길이.

    [되돌림값]
    성공하면 0을, 실패하면 -1을 돌려준다.

    [설명] 파일 공유 록을 해제한다.

    24.1.415. va_ 로 시작하는 함수

    [형식]
    #include <stdarg.h>
    void va_start(ap, parmN);
    void va_arg(ap, type);
    void va_end(ap);

    [매개변수]
    va_list ap : 변수 인수.
    parmN : 고정 인수의 마지막 인수.
    type : 변환 형태.

    [되돌림값]
    va_arg는 현재 인수를 돌려준다. va_start와 va_end는 되돌림값이 없다.

    [설명] 변수 인수 목록을 처리한다.

    24.1.416. vfprintf()

    [형식]
    #include <stdio.h>
    int vfprintf(fp, format, arglist);

    [매개변수]
    FILE *fp : 파일 포인터.
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    출력된 바이트 수를 돌려준다. 오류가 발생하면 EOF를 돌려준다.

    [설명] 인수 목록을 사용해 스트림에 포맷된 출력을 실시한다.

    24.1.417. vfscanf()

    [형식]
    #include <stdio.h>
    int vfscanf(fp, format, arglist);

    [매개변수]
    FILE *fp : 파일 포인터.
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    성공하면 필드의 수를, 실패하면 0이나 EOF를 돌려준다.

    [설명] 인수 목록을 사용해 스트림에 포맷된 입력을 실시한다.

    24.1.418. vprintf()

    [형식]
    #include <stdio.h>
    int vprintf(format, arglist);

    [매개변수]
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    성공하면 출력된 바이트 수를, 실패하면 EOF를 돌려준다.

    [설명] stdout로 포맷에 의한 출력을 실시한다.

    24.1.419. vscanf()

    [형식]
    #include <stdio.h>
    int vscanf(format, arglist);

    [매개변수]
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    성공하면 필수 수를, 실패하면 0이나 EOF를 돌려준다.

    [설명] stdin으로 포맷에 의한 입력을 실시한다.

    24.1.420. vsprintf()

    [형식]
    #include <stdio.h>
    int vsprintf(buffer, format, arglist);

    [매개변수]
    char *buffer : 결과를 저장하는 버퍼.
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    성공하면 출력된 바이트 수를, 실패하면 EOF를 돌려준다.

    [설명] 문자열을 포맷에 의해 출력한다.

    24.1.421. vsscanf()

    [형식]
    #include <stdio.h>
    int vsprintf(buffer, format, arglist);

    [매개변수]
    char *buffer : 입력할 문자열이 저장된 버퍼.
    const char *format : 포맷.
    va_list arglist : 인수 목록의 포인터.

    [되돌림값]
    성공하면 필드 수를, 실패하면 0이나 EOF를 돌려준다.

    [설명] 스트림에서 문자열을 입력하고 포맷에 의해 변환한다.

    24.1.422. wherex()

    [형식]
    #include <conio.h>
    int wherex(void);

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 윈도 안에 있는 현재 커서 위치의 x 좌표를 구한다.

    24.1.423. wherey()

    [형식]
    #include <conio.h>
    int wherey(void);

    [매개변수]
    없음.

    [되돌림값]
    없음.

    [설명] 윈도 안에 있는 현재 커서 위치의 y 좌표를 구한다.

    24.1.424. window()

    [형식]
    #include <conio.h>
    void window(left, top, right, bottom);

    [매개변수]
    int left : 윈도의 왼쪽.
    int top : 윈도의 위쪽.
    int right : 윈도의 오른쪽.
    int bottom : 윈도의 아래쪽.

    [되돌림값]
    없음.

    [설명] 화면에 텍스트 윈도를 설정한다.

    24.1.425. _write()

    [형식]
    #include <io.h>
    int write(handle, buf, len);

    [매개변수]
    int handle : 파일 핸들러 번호.
    char *buf : 기록할 내용이 저장된 버퍼.
    unsigned len : 기록할 길이 바이트 수.

    [되돌림값]
    성공하면 출력된 바이트 수를, 실패하면 -1을 돌려준다.

    [설명] 파일에 버퍼의 내용을 기록한다.

    24.1.426. write()

    [형식]
    #include <io.h>
    int write(handle, buf, len);

    [매개변수]
    int handle : 파일 핸들러 번호.
    char *buf : 기록할 내용이 저장된 버퍼.
    unsigned len : 기록할 길이 바이트 수.

    [되돌림값]
    성공하면 출력된 바이트 수를, 실패하면 -1을 돌려준다.

    [설명] 파일에 버퍼의 내용을 기록한다.

    24.2.볼랜드C++ 3.1 함수 목록(가나다순)


    다음 내용은 볼랜드C++ 3.1의 함수 목록입니다. 앞서 요약한 터보C 2.0의 함수 목록과 비교하면 어떤 함수가 빠지고, 추가되었는지 알 수 있습니다. 터보C의 함수와 이름이 같은 것은 볼랜드C++ 3.1의 도움말을 이용하여 함수 설명과 사용법을 익힐 수 있습니다.

    볼랜드C++에는 함수 도움말 아래 부분에 [Examples] 항목이 있습니다. 이 항목을 이용하면 해당 함수의 예제 파일을 볼 수 있습니다. 즉 printf() 함수의 사용법을 알고 싶다면 볼랜드C++에서 [Ctrl] + [F1]을 누른 다음에 맨 아래에 있는 [Examples] 항목에서 [printf example]을 선택하면 됩니다. 또 abs() 함수의 사용법을 알고 싶다면 도움말에서 맨 아래 쪽에 있는 [abs example]을 선택하면 됩니다.

    이처럼 터보C와 볼랜드C++ 3.1에서 동시에 지원하는 함수는 볼랜드C++ 3.1의 예제를 이용해 사용법을 익힐 수 있습니다. 참고하기 바랍니다.

    [볼랜드C++ 3.1 함수 목록]

    __emit__
    _atold
    _bios_equiplist
    _bios_memsize
    _bios_timeofday
    _c_exit
    _cexit
    _chain_intr
    _chdrive
    _chmod
    _clear87
    _close
    _creat
    _disable
    _dos_close
    _dos_creat
    _dos_creatnew
    _dos_findfirst
    _dos_findnext
    _dos_getdate
    _dos_getdiskfree
    _dos_getdrive
    _dos_getfileattr
    _dos_getftime
    _dos_gettime
    _dos_getvect
    _dos_open
    _dos_read
    _dos_setdate
    _dos_setdrive
    _dos_setfileattr
    _dos_setftime
    _dos_settime
    _dos_setvect
    _dos_write
    _enable
    _exit
    _fmemccpy
    _fmemchr
    _fmemcmp
    _fmemcpy
    _fmemicmp
    _fmemset
    _fsopen
    _fstrcat
    _fstrchr
    _fstrcspn
    _fstrdup
    _fstricmp
    _fstrlen
    _fstrlwr
    _fstrncat
    _fstrncmp
    _fstrncpy
    _fstrnicmp
    _fstrnset
    _fstrpbrk
    _fstrrchr
    _fstrrev
    _fstrset
    _fstrspn
    _fstrstr
    _fstrtok
    _fstrupr
    _fullpath
    _getdcwd
    _getdrive
    _lrotl
    _lrotr
    _makepath
    _matherrl
    _open
    _read
    _rotl
    _rotr
    _searchenv
    _splitpath
    _status87
    _strdate
    _strerror
    _strtime
    _strtold
    _tolower
    _toupper
    _write
    abort
    abs
    access
    acos
    acosl
    arg
    alloca
    asctime
    asin
    asinl
    assert
    atan
    atan2
    atan2l
    atanl
    atexit
    atof
    atoi
    atol
    bcd
    bdos
    bdosptr
    biosequip
    biosmemory
    biostime
    bsearch
    cabs
    cabsl
    calloc
    ceil
    ceill
    chdir
    chmod
    chsize
    clearerr
    clock
    close
    closedir
    clreol
    clrscr
    complex
    conj
    cos
    cosh
    coshl
    cosl
    country
    cprintf
    creat
    creatnew
    creattemp
    cscanf
    ctime
    ctrlbrk
    difftime
    disable
    div
    dosexterr
    dostounix
    dup
    dup2
    ecvt
    enable
    eof
    execl
    execle
    execlp
    execlpe
    execv
    execve
    execvp
    execvpe
    exit
    exp
    expl
    fabs
    fabsl
    farcalloc
    farfree
    farmalloc
    farrealloc
    fclose
    fcloseall
    fcmp
    fcvt
    fdopen
    feof
    ferror
    fflush
    fgetc
    fgetchar
    fgetpos
    fgets
    filelength
    fileno
    findfirst
    findnext
    floor
    floorl
    flushall
    fmod
    fmodl
    fnmerge
    fnsplit
    fopen
    FP_OFF
    FP_SEG
    fprintf
    fputc
    fputchar
    fputs
    fread
    free
    freopen
    frexp
    frexpl
    fscanf
    fseek
    fsetpos
    fstat
    ftell
    ftime
    fwrite
    gcvt
    geninterrupt
    getc
    getcbrk
    getch
    getche
    getchar
    getcurdir
    getcwd
    getdate
    getdfree
    getdisk
    getdta
    getenv
    getfat
    getfatd
    getftime
    getpid
    getpsp
    gets
    gettime
    getvect
    getverify
    getw
    gmtime
    gotoxy
    hypot
    hypotl
    imag
    inp
    inport
    inportb
    inpw
    int86
    int86x
    intdos
    intdosx
    intr
    ioctl
    isalnum
    isalpha
    isascii
    isatty
    iscntrl
    isdigit
    isgraph
    islower
    isprint
    ispunct
    isspace
    isupper
    isxdigit
    itoa
    kbhit
    labs
    ldexp
    ldexpl
    ldiv
    lfind
    localeconv
    localtime
    lock
    locking
    log
    log10
    log10l
    logl
    longjmp
    lsearch
    lseek
    ltoa
    malloc
    matherr
    max
    mblen
    mbstowcs
    mbtowc
    memccpy
    memchr
    memcmp
    memcpy
    memicmp
    memmove
    memset
    min
    MK_FP
    mkdir
    mktemp
    mktime
    modf
    modfl
    movedata
    movmem
    norm
    open
    opendir
    outp
    outport
    outportb
    outpw
    parsfnm
    peek
    peekb
    perror
    poke
    pokeb
    polar
    poly
    polyl
    pow
    pow10
    pow10l
    powl
    printf
    putc
    putch
    putchar
    putenv
    puts
    putw
    qsort
    raise
    rand
    random
    randomize
    read
    readdir
    real
    realloc
    remove
    rename
    rewind
    rewinddir
    rmdir
    rmtmp
    scanf
    searchpath
    segread
    setbuf
    setcbrk
    setdate
    setdisk
    setdta
    setftime
    setjmp
    setlocale
    setmem
    setmode
    set_new_handler
    settime
    setvbuf
    setvect
    setverify
    signal
    sin
    sinh
    sinhl
    sinl
    sopen
    spawnl
    spawnle
    spawnlp
    spawnlpe
    spawnv
    spawnve
    spawnvp
    spawnvpe
    sprintf
    sqrt
    sqrtl
    srand
    sscanf
    stat
    stime
    stpcpy
    strcat
    strchr
    strcmp
    strcmpi
    strcoll
    strcpy
    strcspn
    strdup
    strerror
    strftime
    stricmp
    strlen
    strlwr
    strncat
    strncmp
    strncmpi
    strncpy
    strnicmp
    strnset
    strpbrk
    strrchr
    strrev
    strset
    strspn
    strstr
    strtod
    strtok
    strtol
    strtoul
    strupr
    strxfrm
    swab
    tan
    tanh
    tanhl
    tanl
    tell
    tempnam
    time
    tmpfile
    tmpnam
    toascii
    tolower
    toupper
    tzset
    ultoa
    umask
    ungetc
    ungetch
    unixtodos
    unlink
    unlock
    utime
    va_arg
    va_end
    va_list
    va_start
    vfprintf
    vfscanf
    vprintf
    vscanf
    vsprintf
    vsscanf
    wcstombs
    wctomb
    wherex
    wherey
    write

    'c or linux' 카테고리의 다른 글

    POSIX 쓰레드로 멀티 쓰레드 프로그래밍하기  (0) 2005.02.18
    함수 포인터  (0) 2005.02.16
    ctags 활용  (0) 2005.02.15
    #ifdef __cplusplus  (1) 2005.02.12
    Setjmp()  (0) 2005.02.11
    Posted by '김용환'
    ,