home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / zcpp.doc / mnlzt.p3 < prev   
Encoding:
Text File  |  1980-01-01  |  274.0 KB  |  9,398 lines

  1.  
  2.                            ùáßΓ∞ 3
  3.  
  4.              ü ê ü ï ê Ä Æ à è Ç  ö ô ì è û ê ë
  5.  
  6.  
  7.  
  8.                                          üêüïêÄÆàèÇ  öôìèûêë
  9.                                          ───────────────────
  10.  
  11.  
  12.    ü¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿ ÑßΓÑßΓóÑ¡¡« αáºñѽ∩εΓß∩ ¡á ñóÑ ¬áΓÑ-
  13. ú«α¿¿:
  14.  
  15.      * Σπ¡¬µ¿¿, ß«ó¼ÑßΓ¿¼δÑ ß ANSI ßΓá¡ñáαΓ«¼ ∩ºδ¬á "C";
  16.      * ¡Ñß«ó¼ÑßΓ¿¼δÑ ß ANSI ßΓá¡ñáαΓ«¼ ñ«»«½¡¿Γѽ∞¡δÑ í¿í½¿-
  17.        «ΓÑτ¡δÑ Σπ¡¬µ¿¿
  18.  
  19.    ANSI C  Σπ¡¬µ¿¿   ºá½«ªÑ¡δ  ó  »αÑñ½«ªÑ¡¡δ⌐  Ç¼Ñਪá¡ß¬¿¼
  20. ê¡ßΓ¿ΓπΓ«¼ ìᵿ«¡á½∞¡δσ æΓá¡ñáαΓ«ó  ßΓá¡ñáαΓ ñ½∩ ∩ºδ¬á »α«ú-
  21. αá¼¼¿α«óá¡¿∩ "C".  ¥Γ¿ Σπ¡¬µ¿¿ «íÑß»Ñτ¿óáεΓ  ¡á¿í«½∞Φπε ßΓÑ-
  22. »Ñ¡∞ »ÑαÑ¡«ß¿¼«ßΓ¿ ¼Ñªñπ αẽ¿τ¡δ¼¿ «»Ñαᵿ«¡¡δ¼¿ «¬απªÑ¡¿∩-
  23. ¼¿ ΓᬠªÑ, ¬á¬ ¿ í«½∞Φ¿¡ßΓó« ß»Ñµ¿Σ¿τÑ߬¿σ  MS DOS  Σπ¡¬µ¿⌐.
  24. ANSI ßΓá¡ñáαΓ - φΓ« αáßΦ¿αÑ¡¿Ñ ¿ßσ«ñ¡«ú« ∩ºδ¬á, »αÑñ½«ªÑ¡¡«-
  25. ú« Kernighan ¿ Ritchie, ó¬½ετáεΘÑÑ  ó ßΓá¡ñáαΓ ∩ºδ¬á "C" α∩ñ
  26. τÑαΓ ∩ºδ¬á C++.
  27.    ü¿í½¿«ΓѬá Zortech C «τÑ¡∞ ΓÑß¡« ß«ú½áßπÑΓß∩ ß »αÑñ½«ªÑ¡-
  28. ¡δ¼ ANSI ßΓá¡ñáαΓ«¼, á ΓᬪѠ߫ñÑαª¿Γ í«½∞Φ«Ñ τ¿ß½« ñ«»«½¡¿-
  29. Γѽ∞¡δσ Σπ¡¬µ¿⌐,  αáºαáí«Γá¡¡δσ ñ½∩ «í½ÑúτÑ¡¿∩ »α«úαá¼¼¿ßΓá¼
  30. ¿ß»«½∞º«óá¡¿∩  á»»áαáΓπαδ ¿ αÑßπα߫󠠫»Ñαᵿ«¡¡«⌐  ß¿ßΓѼδ.
  31. ü¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ  ó¬½ετáεΓß∩ ó »αÑñóáα¿Γѽ∞¡δ⌐
  32. ANSI ßΓá¡ñáαΓ, »«¼ÑτáεΓß∩ ß½ÑñπεΘ¿¼ «íαáΘº«¼: /* ANSI */.
  33.    êß»«½∞º«óá¡¿Ñ  Γᬿσ  Σπ¡¬µ¿⌐  πóѽ¿τ¿óáÑΓ  »ÑαÑ¡«ß¿¼«ßΓ∞
  34. »α¿¬½áñ¡δσ »α«úαá¼¼. ¥Γ«Γ αáºñѽ απ¬«ó«ñßΓóá ß«ñÑαª¿Γ «»¿ßá-
  35. ¡¿Ñ ß««íΘÑ¡¿⌐ « ß¿ßΓѼ¡δσ  «Φ¿í¬áσ ¿ «Φ¿í¬áσ  ¼áΓѼáΓ¿τÑ߬¿σ
  36. Σπ¡¬µ¿⌐,  Σá⌐½«ó ºáú«½«ó¬«ó ¿ »ÑαÑτ¿ß½Ñ¡¡δσ ó á½Σáó¿Γ¡«¼ »«-
  37. α∩ñ¬Ñ  Σπ¡¬µ¿⌐.  ä« φΓ«ú« ñáÑΓß∩ ¿¡Σ«α¼áµ¿∩ « ñóπσ «Γñѽ∞¡δσ
  38. úαπ»»áσ Σπ¡¬µ¿⌐:
  39.  
  40.       * Σπ¡¬µ¿¿ αáí«Γδ ß Σá⌐½á¼¿
  41.       * Σπ¡¬µ¿¿ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε
  42.  
  43.    ìѬ«Γ«αδÑ Zortech  Σπ¡¬µ¿¿  ΓαÑíπεΓ  ß»Ñµ¿á½∞¡δσ º¡á¡¿⌐ «
  44. ¼¿¬α«»α«µÑßß«αÑ  8086,  á»»áαáΓπαÑ  »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá
  45. ¿½¿  «»Ñαᵿ«¡¡«⌐  ß¿ßΓѼѠ MS DOS.  î¡«ú«Ñ  ¿º  φΓ«ú« ¼«ª¡«
  46. πº¡áΓ∞ »α¿ τΓÑ¡¿¿ ß½ÑñπεΘ¿σ ñ«¬π¼Ñ¡Γ«ó:
  47.  
  48.       - ÆÑσ¡¿τÑ߬¿⌐ ß»αáó«τ¡¿¬ »« IBM PC (á»»áαáΓπαá).
  49.       - æ»αáó«τ¡¿¬ »α«úαá¼¼¿ßΓá »« MS DOS (Σ¿α¼á Microsoft).
  50.  
  51.  
  52. Äí¼Ñ¡ ß Σá⌐½á¼¿
  53.  
  54.  
  55.    é¿ñδ Σá⌐½«ó
  56.  
  57.    öá⌐½δ  ¼«úπΓ íδΓ∞ ßτ¿Γá¡δ ¿½¿ ºá»¿ßá¡δ  ó  ñóπσ  αѪ¿¼áσ:
  58. ΓѬßΓ«ó«¼ αѪ¿¼Ñ ¿ ñó«¿τ¡«¼ αѪ¿¼Ñ.  äó«¿τ¡δ⌐ αѪ¿¼ ∩ó½∩ÑΓß∩
  59. "α«ñ¡δ¼" ñ½∩ MS DOS.  é ¡Ñ¼ Σá⌐½δ ßτ¿ΓδóáεΓß∩ ¿ ºá»¿ßδóáεΓß∩
  60. íá⌐Γ ºá íá⌐Γ«¼,  «Γ¬πñá ¿ ¬πñá  π¬áºá¡«.  é ΓѬßΓ«ó«¼ αѪ¿¼Ñ
  61. »α«¿ºó«ñ∩Γß∩ αẽ¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¬á¬-Γ«:
  62.  
  63.       éδó«ñ:  Ñß½¿ π¬áºδóáÑΓß∩ ½¿ΓÑαá "»ÑαÑó«ñ ßΓ᫬¿" '\n',
  64.               ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ºá»¿ßδóáεΓß∩ '\r'\n' (½¿ΓÑ-
  65.               αδ "ó«ºóαáΓ ¬áαÑΓ¬¿" ¿ "»ÑαÑó«ñ ßΓ᫬¿").
  66.  
  67.       éó«ñ:  »α¿ óó«ñÑ  "ó«ºóαáΓ ¬áαÑΓ¬¿" '\r' ¿ú¡«α¿απÑΓß∩,
  68.              á ½¿ΓÑαá control Z (0σ1A) »«¼ÑτáÑΓ ¬«¡Ñµ Σá⌐½á.
  69.  
  70.    Äíδτ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ (¡á»α¿¼Ñα,  Σá⌐½ ¿ßσ«ñ¡«ú« ΓѬßΓá
  71. »α«úαá¼¼δ) ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ΓѬßΓ«óδ⌐ αѪ¿¼,  ¬«Γ«αδ⌐ óδ-
  72. í¿αáÑΓß∩ »« π¼«½τá¡¿ε.  öá⌐½δ,  ß«ñÑαªáΘ¿Ñ  ñó«¿τ¡δÑ ñá¡¡δÑ,
  73. ñ«½ª¡δ  ¿ß»«½∞º«óáΓ∞  ñó«¿τ¡δ⌐  αѪ¿¼.  æ¼«Γα¿ΓÑ  «  Σπ¡¬µ¿¿
  74. fopen() ñ½∩ «íΩ∩ߡѡ¿∩ »«ñα«í¡«ßΓÑ⌐  «Γ¬αδΓ¿∩  Σá⌐½«ó ó αáº-
  75. ½¿τ¡δσ αѪ¿¼áσ.
  76.  
  77.  
  78.    éδß«¬¿⌐ ¿ ¡¿º¬¿⌐ πα«ó¡¿ «í¼Ñ¡á ß Σá⌐½á¼¿
  79.  
  80.    ê¼ÑÑΓß∩ ñóá ¡áí«αá  »α«úαá¼¼  «í¼Ñ¡á ß Σá⌐½á¼¿:  óδß«¬«ú«
  81. πα«ó¡∩ ¿ ¡¿º¬«ú« πα«ó¡∩.  Åα«úαá¼¼δ óδß«¬«ú« πα«ó¡∩ τ¿ΓáεΓ ¿
  82. »¿ΦπΓ Σá⌐½δ ¬á¬ ó ΓѬßΓ«ó«¼,  Γᬠ¿ ó ñó«¿τ¡«¼ αѪ¿¼áσ. ì¿º-
  83. ¬«πα«ó¡ÑóδÑ »α«úαá¼¼δ τ¿ΓáεΓ ¿ »¿ΦπΓ Σá⌐½δ Γ«½∞¬« ó ñó«¿τ¡«¼
  84. αѪ¿¼Ñ.
  85.  
  86.    éδß«¬«πα«ó¡ÑóδÑ  ¿  ¡¿º¬«πα«ó¡ÑóδÑ  »α«úαá¼¼δ  ¡¿¬«úñá ¡Ñ
  87. ß½ÑñπÑΓ  ¿ß»«½∞º«óáΓ∞  «ñ¡«óαѼѡ¡« ß «ñ¡¿¼ ¿ ΓѼ ªÑ Σá⌐½«¼.
  88. Åα«úαá¼¼¿ßΓπ,¬á¬ »αá󿽫,ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ óδß«¬«πα«ó¡ÑóδÑ
  89. »α«úαá¼¼δ,»«ß¬«½∞¬π «¡¿ ó í«½∞ΦÑ⌐ ßΓѻѡ¿ »ÑαÑ¡«ß¿¼δ.
  90.  
  91.  
  92.    ì¿º¬¿⌐ πα«óÑ¡∞ «í¼Ñ¡á ß Σá⌐½á¼¿
  93.  
  94.    Åα«úαá¼¼δ ¡¿º¬«ú« πα«ó¡∩ ñ½∩ «í¼Ñ¡á ß Σá⌐½á¼¿ - φΓ« Σπ¡¬-
  95. µ¿¿ creat(), open(), close(), lseek(), read() ¿ write(). Ä¡¿
  96. αÑ὿ºπεΓß∩ ¬á¬ »α∩¼«Ñ «íαáΘÑ¡¿Ñ (hooks) ¬ «»Ñαᵿ«¡¡«⌐ ß¿ß-
  97. ΓѼѠMS DOS.
  98.  
  99.    öá⌐½, ß ¬«Γ«αδ¼ αáí«ΓáεΓ φΓ¿ Σπ¡¬µ¿¿, ºáñáÑΓß∩ ñÑß¬α¿»Γ«-
  100. α«¼ Σá⌐½á (handle).  éó«ñ/óδó«ñ  ∩ó½∩ÑΓß∩ ¡ÑíπΣÑਧ«óá¡¡δ¼ ¿
  101. ñó«¿τ¡δ¼. ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ ¡Ñ¬«Γ«αδÑ ñÑß¬α¿»Γ«αδ ß»Ñµ¿á½∞¡δσ
  102. Σá⌐½«ó, ¬«Γ«αδÑ óßÑúñá «Γ¬αδΓδ:
  103.  
  104.       0   æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óó«ñá.
  105.       1   æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá.
  106.       2   æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ.
  107.       3   æΓá¡ñáαΓ¡«Ñ ñ«»«½¡¿Γѽ∞¡«Ñ (auxiliary) πßΓα«⌐ßΓó«.
  108.       4   æΓá¡ñáαΓ¡«Ñ »ÑτáΓáεΘÑÑ πßΓα«⌐ßΓó«.
  109.  
  110.  
  111.    éδß«¬¿⌐ πα«óÑ¡∞ «í¼Ñ¡á ß Σá⌐½á¼¿
  112.  
  113.    öπ¡¬µ¿¿ «í¼Ñ¡á ß Σá⌐½á¼¿ óδß«¬«ú« πα«ó¡∩, ó¬½ετá∩ Σπ¡¬µ¿¿
  114. fopen(), fread(), fwrite() ¿ fclose(),  »«ßΓα«Ñ¡δ  ¡á «ß¡«óÑ
  115. ¡¿º¬«πα«ó¡Ñóδσ Σπ¡¬µ¿⌐.  ¥Γ¿  Σπ¡¬µ¿¿  óºá¿¼«ñÑ⌐ßΓóπεΓ τÑαѺ
  116. π¬áºáΓѽ∞ »«Γ«¬á óó«ñá/óδó«ñá («íΩ∩ó½Ñ¡¡«ú« ¬á¬ FILE *). éδ-
  117. ß«¬«πα«ó¡ÑóδÑ  Σπ¡¬µ¿¿  «ßπΘÑßΓó½∩εΓ  íπΣÑਧ«óá¡¡δ⌐  «í¼Ñ¡.
  118. Å∩Γ∞ »«Γ«¬«ó óó«ñá/óδó«ñá óßÑúñá «Γ¬αδΓδ, φΓ«:
  119.  
  120.       stdin    æΓá¡ñáαΓ¡δ⌐ óó«ñ
  121.       stdout   æΓá¡ñáαΓ¡δ⌐ óδó«ñ
  122.       stderr   æΓá¡ñáαΓ¡δ⌐ óδó«ñ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ
  123.       stdaux   æΓá¡ñáαΓ¡δ⌐ ñ«»«½¡¿Γѽ∞¡δ⌐ »«Γ«¬ (auxiliary)
  124.       stdprn   æΓá¡ñáαΓ¡δ⌐ »α¿¡ΓÑα
  125.  
  126.    ä½∩ ¿ß»«½∞º«óá¡¿∩ óδß«¬«πα«ó¡Ñóδσ Σπ¡¬µ¿⌐ éδ ñ«½ª¡δ ó¬½ε-
  127. τ¿Γ∞ ßΓ᫬π
  128.  
  129.       #include <stdio.h>
  130.  
  131. ó ¡áτὫ éáΦÑú« Σá⌐½á ¿ßσ«ñ¡«ú« ΓѬßΓá »α«úαá¼¼δ.
  132.  
  133.  
  134. Éáß»αÑñѽѡ¿Ñ »á¼∩Γ¿
  135.  
  136.  
  137.    'èπτá' (Heap)
  138.  
  139.    'èπτá' - φΓ« «í½áßΓ∞ »á¼∩Γ¿,  αáß»αÑñѽ∩Ѽ«⌐ ñ¿¡á¼¿τÑ߬¿.
  140. Åá¼∩Γ∞  αáß»αÑñѽ∩ÑΓß∩  ¿ «ßó«í«ªñáÑΓß∩  »α¿  »«¼«Θ¿ Σπ¡¬µ¿⌐
  141. malloc(), realloc(), calloc() ¿ free().
  142.  
  143.    ä½∩  S (¼á½«⌐),  M (ßαÑñ¡Ñ⌐)  ¿  T (Γ«¡¬«⌐)  ¼«ñѽÑ⌐ »α«-
  144. ßΓαá¡ßΓó« ñ½∩ '¬πτ¿' ¼«ªÑΓ αáß»αÑñѽ∩Γ∞ß∩ ó  MS DOS  µÑ½¿¬«¼
  145. ºá αẠ¿½¿ »« ¼ÑαÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿. ü«½∞Φ¿¡ßΓó« »α«úαá¼¼ íπñÑΓ
  146. ¿ß»«½∞º«óáΓ∞ ßσѼπ  αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ »« π¼«½τá¡¿ε, ¬«Γ«-
  147. αá∩ αáßΦ¿α∩ÑΓ ßÑú¼Ñ¡Γ ñá¡¡δσ, ¿ß»«½∞ºπ∩ óßÑ ñ«ßΓπ»¡«Ñ »α«ßΓ-
  148. αá¡ßΓó« »á¼∩Γ¿ (ñ« 64K) »α¿ ºá»π߬Ѡ»α«úαá¼¼δ.
  149.  
  150.    äαπúá∩   ßσѼᠠ óδñѽѡ¿∩   »α«ßΓαá¡ßΓóá   »«ñ  '¬πτπ' -
  151. '»«  ¡Ñ«íσ«ñ¿¼«ßΓ¿' - ¿ß»«½∞ºπÑΓß∩  ñ½∩  »α«úαá¼¼,   ¬«Γ«αδÑ
  152. ¿ß»«½¡∩εΓ ñαπú¿Ñ  »α«úαá¼¼δ,  Γ.Ñ.  ¿ß»«½∞ºπεΓ  Σπ¡¬µ¿¿ Γ¿»á
  153. spawn().
  154.    Éáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ »«ñ '¬πτπ' '»« ¡Ñ«íσ«ñ¿¼«ßΓ¿' «ßΓáó-
  155. ½∩ÑΓ ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó«  ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ ñ«τÑα¡¿¼ »α«-
  156. µÑßßá¼.  éΓ«αá∩  ßσѼᠠóδí¿αáÑΓß∩  »α¿ «íΩ∩ó½Ñ¡¿¿ ¿ ¿¡¿µ¿á-
  157. ½¿ºáµ¿¿ »ÑαѼѡ¡«⌐ _okbigbuf  0.  æ½ÑñπεΘ¿⌐ »α¿¼Ñα »«¬áºδóá-
  158. ÑΓ, ¬á¬ óδí¿αáÑΓß∩ óΓ«αá∩ ßσѼá αáß»αÑñѽѡ¿∩ »á¼∩Γ¿:
  159.  
  160.       int _okbigbuf = 0; /* êß»«½∞º«óáΓ∞ ßσѼπ αáß»αÑñѽѡ¿∩
  161.                             »á¼∩Γ¿ '»« ¡Ñ«íσ«ñ¿¼«ßΓ¿' */
  162.  
  163.    _okbigbuf != 0 «º¡áτáÑΓ ¿ß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ ñ¿ß¬«óδσ íπ-
  164. ΣÑα«ó ñ½∩ »«Γ«¬á óó«ñá/óδó«ñá ó¡Ñ ßÑú¼Ñ¡Γá  ñá¡¡δσ.  éßÑ φΓ«
  165. π»αáó½Ñ¡¿Ñ ºá»α«úαá¼¼¿α«óá¡« ó C.ASM.
  166.    C.ASM - φΓ« ßΓáαΓ«óδ⌐  C  ¼«ñπ½∞,  ¬«Γ«αδ⌐  áóΓ«¼áΓ¿τÑ߬¿
  167. »α¿¬«¼»«¡«óδóáÑΓß∩ ó ¡áτὫ  éáΦÑ⌐ »α«úαá¼¼δ ¿ ¿¡¿µ¿á½¿º¿απ-
  168. ÑΓ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ó ß««ΓóÑΓßΓó¿¿ ß ¿ß»«½∞ºπѼ«⌐ ¼«ñѽ∞ε
  169. »á¼∩Γ¿;  C.ASM ΓᬪѠ úáαá¡Γ¿απÑΓ,  τΓ« »α«úαἼᠿ¼ÑÑΓ ¬«α-
  170. αÑ¬Γ¡πε ßΓαπ¬Γπαπ, ¬á¬ φΓ« ΓαÑíπÑΓ MS DOS. ¥Γ«Γ ¼«ñπ½∞ πßΓá-
  171. ¡áó½¿óáÑΓ ΓᬪѠßσѼπ  αáß»αÑñѽѡ¿∩  »á¼∩Γ¿,  ¬«Γ«αá∩ íπñÑΓ
  172. ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »«½πτÑ¡¿∩ »á¼∩Γ¿ ¿º ßÑú¼Ñ¡Γ«ó ñá¡¡δσ.
  173.  
  174.    ä½∩ »«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ »« αáß»αÑñѽѡ¿ε
  175. »á¼∩Γ¿ ß¼«Γα¿ΓÑ αáºñѽ '¿¡ΓÑαΣÑ⌐ß ß áßßѼí½Ñα«¼'  ß»αáó«τ¡«-
  176. ú« απ¬«ó«ñßΓóá.
  177.  
  178.  
  179.    æΓѬ (Stack)
  180.  
  181.    æΓѬ αáßΓÑΓ ó¡¿º »« ¡á»αáó½Ñ¡¿ε ¬ ßΓáΓ¿τÑ߬¿  αẼÑΘÑ¡¡δ¼
  182. ñá¡¡δ¼. àß½¿ ßΓѬ »ÑαÑσ«ñ¿Γ úαá¡¿µπ  óδñѽѡ¡«ú« »α«ßΓαá¡ßΓ-
  183. óá,  Γ« ßΓáΓ¿τÑ߬¿  αáß»αÑñѽѡ¡δÑ  ñá¡¡δÑ íπñπΓ αáºαπΦÑ¡δ ¿
  184. »α«úαἼᠼ«ªÑΓ óδ»«½¡∩Γ∞ß∩ ¡Ñ«íΩ∩ß¡¿¼δ¼  «íαẫ¼.  ä½∩ »α«-
  185. óÑન Γ«ú«,  τΓ« ßΓѬ ¡Ñ ¡áαπΦáÑΓ úαá¡¿µπ,  ¿¼ÑÑΓß∩  Σπ¡¬µ¿∩
  186. _chkstack().
  187.  
  188.    öπ¡¬µ¿ε _chkstack() ß½ÑñπÑΓ óδºδóáΓ∞ ¿º Σπ¡¬µ¿⌐, ¬«Γ«αδÑ,
  189. 󫺼«ª¡«, ¿ß»«½∞ºπεΓ ß½¿Φ¬«¼ ¼¡«ú«  ßΓѬ«ó«ú«  »α«ßΓαá¡ßΓóá.
  190. àß½¿ φΓ« ß½πτáÑΓß∩, _chkstack() áóáα¿⌐¡«  ºáóÑαΦáÑΓ óδ»«½¡Ñ-
  191. ¡¿Ñ »α«úαá¼¼δ ß ß««íΘÑ¡¿Ñ¼  «  »ÑαÑ»«½¡Ñ¡¿¿  ßΓѬá.
  192.  
  193.    è½ετ -s  ¬«¼»¿½∩Γ«αá ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ß∩  ñ½∩ úÑ¡Ñαᵿ¿
  194. »α«úαá¼¼δ ß »α«óÑᬫ⌐ »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬᠠ»α¿ óσ«ñÑ ó ¬áªñπε
  195. Σπ¡¬µ¿ε. ò«Γ∩ φΓ« πóѽ¿τ¿óáÑΓ  αẼÑα  »α«úαá¼¼δ ¿ ó½¿∩ÑΓ ¡á
  196. ߬«α«ßΓ∞ ¿ß»«½¡Ñ¡¿∩, ¡« «íÑß»Ñτ¿óáÑΓ »«¼«Θ∞ »α¿ αÑΦÑ¡¿¿ »α«í-
  197. ½Ñ¼δ »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá. àß½¿ «í¡áαπª¿Γß∩ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá,
  198. ß««íΘÑ¡¿Ñ:
  199.  
  200.       STACK OVERFLOW
  201.  
  202. óδó«ñ¿Γß∩ ¡á φ¬αá¡ ΓÑନ¡á½á ¿ »α«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦáÑΓ-
  203. ß∩. ÉẼÑα ßΓѬᠼ«ªÑΓ íδΓ∞ πßΓá¡«ó½Ñ¡ ßΓáΓ¿τÑ߬¿ »πΓѼ ¿¡¿-
  204. µ¿á½¿ºáµ¿¿ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐ _stack:
  205.  
  206.    unsigned _stack = nnnn;
  207.  
  208. ó ¡áτá½Ñ éáΦÑ⌐ »α«úαá¼¼δ;  'nnnn' - φΓ« αẼÑα ó íá⌐Γáσ ΓαÑ-
  209. íπѼ«ú« ßΓѬá.  Å« π¼«½τá¡¿ε  αẼÑα  ßΓѬá αáóÑ¡ 2048 íá⌐Γ.
  210. ä«»πßΓ¿¼δ¼¿ º¡áτÑ¡¿∩¼¿ ñ½∩ nnnn ∩ó½∩εΓß∩ 1024 ... 30000. Åá-
  211. ¼∩Γ∞,  αáß»αÑñѽѡ¡á∩ »«ñ ßΓѬ, ¡Ñ ºáí¿αáÑΓß∩ «Γ ßΓáΓ¿τÑ߬¿σ
  212. ñá¡¡δσ ó C ¿ L ¼«ñѽ∩σ »á¼∩Γ¿,Γᬠ¬á¬ ßΓѬ »«¼ÑΘáÑΓß∩ ó ßó«⌐
  213. ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ.
  214.  
  215.  
  216. ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ
  217.  
  218.    ê¼ÑÑΓß∩ ¡Ñ߬«½∞¬« ú½«íá½∞¡δσ »ÑαѼѡ¡δσ,  ¬«Γ«αδÑ «»αÑñÑ-
  219. ½∩εΓ ß«ßΓ«∩¡¿Ñ τáßΓÑ⌐ »α«úαá¼¼δ. çñÑß∞ «»¿ßδóáεΓß∩ ¿¼Ñ¡á »Ñ-
  220. αѼѡ¡δσ ¿ ¿σ ¿ß»«½∞º«óá¡¿Ñ.
  221.  
  222.  
  223.    _8087
  224.  
  225.    éß∩¬¿⌐ αẠó ¡áτá½Ñ ¿ß»«½∞º«óá¡¿∩ »α«úαá¼¼δ «»αÑñѽ∩ÑΓß∩,
  226. ¿¼ÑÑΓß∩ ½¿ ó ¡á½¿τ¿¿ ß«»α«µÑßß«α 8087, 80287 ¿½¿ 80387. àß½¿
  227. ÑßΓ∞,  óßÑ  óδτ¿ß½Ñ¡¿∩  ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¼«úπΓ óδ»«½¡∩Γ∞ß∩
  228. φΓ¿¼ ß«»α«µÑßß«α«¼. àß½¿ ªÑ Ñú« ¡ÑΓ, óßÑ óδτ¿ß½Ñ¡¿∩ ß »½áóá-
  229. εΘÑ⌐ Γ«τ¬«⌐ »α«úαá¼¼¡«  φ¼π½¿απεΓß∩.  â½«íá½∞¡á∩  »ÑαѼѡ¡á∩
  230. _8087 «»αÑñѽ∩ÑΓß∩ ó Σá⌐½Ñ  C.ASM ¿ ¼«ªÑΓ  íδΓ∞ »α«óÑαѡᠡá
  231. »αÑñ¼ÑΓ ¡á½¿τ¿∩ ß«»α«µÑßß«αá _8087. àß½¿ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
  232. _8087 αáó¡« 0, ß«»α«µÑßß«αá  8087  ¡ÑΓ. ç¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐,
  233. αáó¡«Ñ 1,  π¬áºδóáÑΓ ¡á Γ«,  τΓ«  ß«»α«µÑßß«α  8087  ¡á⌐ñÑ¡;
  234. 2 - ¿¼ÑÑΓß∩ 80287; 3 - ¿¼ÑÑΓß∩ 80387.
  235.  
  236.    Å«óÑñÑ¡¿Ñ Zortech í¿í½¿«ΓѬ ΓᬪѠπ»αáó½∩ÑΓß∩ φΓ«⌐ »ÑαÑ-
  237. ¼Ñ¡¡«⌐. ìá»α¿¼Ñα:
  238.  
  239.       extern int _8087;
  240.          if(_8087)
  241.             printf("8087 »α¿ßπΓßΓóπÑΓ\n");
  242.          else
  243.             printf("8087 «ΓßπΓßΓóπÑΓ\n");
  244.  
  245.  
  246.       éáα¿á¡Γδ áα¿Σ¼ÑΓ¿¬¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
  247.  
  248.    ÅαÑñ½áúáÑΓß∩ τÑΓδαÑ ß»«ß«íá óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß »½áóáε-
  249. ΘÑ⌐ Γ«τ¬«⌐:
  250.  
  251.       1. ìÑΓ ¡¿¬á¬¿σ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.  ìÑ ºáúαπ-
  252.          ªáΓ∞ ¿º í¿í½¿«ΓѬ¿  »α«úαá¼¼δ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß
  253.          »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  254.  
  255.       2. éßÑ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐  Γ«τ¬«⌐  ¿ß»«½¡∩Γ∞ ó 8086.
  256.          àß½¿ ¿¼ÑÑΓß∩ 8087, ¡Ñ ¿ß»«½∞º«óáΓ∞ Ñú«.
  257.  
  258.       3. éδ»«½¡∩Γ∞  «»Ñαᵿ¿ ß »½áóáεΘÑ⌐  Γ«τ¬«⌐,  ¿ß»«½∞ºπ∩
  259.          8086. àß½¿ ¿¼ÑÑΓß∩ 8087, ¿ß»«½∞º«óáΓ∞ Ñú« ñ½∩ óδτ¿ß-
  260.          ½Ñ¡¿⌐ ó¼ÑßΓ« 8086. ü¿í½¿«ΓÑτ¡δÑ ¼áΓѼáΓ¿τÑ߬¿Ñ Σπ¡¬-
  261.          µ¿¿ »ÑαѬ½ετ¿Γ∞ ¡á óßΓα«Ñ¡¡δÑ  8087 »α«úαá¼¼δ, Ñß½¿
  262.          ÑßΓ∞ 8087. ¥Γá «»µ¿∩ ¿ß»«½∞ºπÑΓß∩ »« π¼«½τá¡¿ε.
  263.  
  264.       4. âÑ¡Ñα¿απÑΓ »α∩¼«⌐ ¬«ñ ñ½∩  8087.  ä½∩ ºá»π߬ᠻα«ú-
  265.          αá¼¼δ ΓαÑíπÑΓß∩ ¡á½¿τ¿Ñ 8087.
  266.  
  267.  
  268.       ÅαÑ¿¼πΘÑßΓóá:
  269.  
  270.       1. ÉẼÑα αѺπ½∞Γ¿απεΘÑ⌐  »α«úαá¼¼δ  ßΓá¡«ó¿Γß∩ º¡áτ¿-
  271.          Γѽ∞¡« ¼Ñ¡∞ΦÑ.
  272.  
  273.       2. 8087 ¡Ñ ¡πªÑ¡.  ÉѺπ½∞ΓáΓδ ó  Γ«τ¡«ßΓ¿  »«óΓ«α∩εΓß∩
  274.          ¡á óßÑσ 8086 ¼áΦ¿¡áσ. è«¼»¿½∩Γ«α ßá¼ ¿ß»«½∞ºπÑΓ φΓπ
  275.          «»µ¿ε.
  276.  
  277.       3. üѺ 8087 αáí«ΓáÑΓ  ΓᬪѠ¬á¬ 2,  ¡« »α¿ ¡á½¿τ¿¿ ¿ß-
  278.          »«½∞ºπÑΓß∩ 8087 ¿ »α«úαá¼¼á íπñÑΓ αáí«ΓáΓ∞ íδßΓαÑÑ.
  279.  
  280.       4. âÑ¡Ñα¿απÑΓß∩  ßá¼δ⌐  íδßΓαδ⌐  ¿  ¬«¼»á¬Γ¡δ⌐ ¬«ñ,  ¿
  281.          »«ΓÑ¡µ¿á½∞¡« »«½πτáεΓß∩  ¡á¿í«½ÑÑ Γ«τ¡δÑ αѺπ½∞ΓáΓδ
  282.          (áα¿Σ¼ÑΓ¿¬á ó 8087 óδ»«½¡∩ÑΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ  80
  283.          í¿Γ »α«Γ¿ó 64 í¿Γ ñ½∩ 8086). ÄΓ¡«ß¿Γѽ∞¡«Ñ πóѽ¿τÑ-
  284.          ¡¿Ñ ß¬«α«ßΓ¿,  »«½πτáѼ«Ñ  »α¿  ¿ß»«½∞º«óá¡¿¿ 8087,
  285.          óÑß∞¼á ß¿½∞¡« ºáó¿ß¿Γ «Γ «Γ¡«ΦÑ¡¿∩ ß¬«α«ßΓÑ⌐ 8087 ¿
  286.          «ß¡«ó¡«ú« »α«µÑßß«αá), á ΓᬪѠ«Γ ¿ß»«½∞ºπѼ«⌐ éἿ
  287.          óÑαß¿¿  8087  (80287,  80387,  ß«ó¼ÑßΓ¿¼δÑ  ß  ¡¿¼¿
  288.          ¿ Γ.ñ.). ä½∩ »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá φΓ¿ π½πτΦÑ¡¿∩
  289.          ßΓá¡«ó∩Γß∩  ºá¼ÑΓ¡δ¼¿ ¡á »α«úαá¼¼áσ, ¿¡Γѡ߿󡫠¿ß-
  290.          »«½∞ºπεΘ¿σ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  291.  
  292.  
  293.       ìÑñ«ßΓáΓ¬¿:
  294.  
  295.       1. ìѽ∞º∩ óδ»«½¡¿Γ∞ ¡¿¬á¬«⌐  «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ-
  296.          ¬«⌐.
  297.  
  298.       2. æá¼δ⌐ ¼Ññ½Ñ¡¡δ⌐ ¬«ñ.  îÑ¡ÑÑ Γ«τ¡δÑ óδτ¿ß½Ñ¡¿∩. Éáº-
  299.          ¼Ñα »α«úαá¼¼δ óѽ¿¬.
  300.  
  301.       3. ÉѺπ½∞ΓáΓδ ¼«úπΓ ºáó¿ßÑΓ∞ «Γ Γ«ú«, ¿¼ÑÑΓß∩ ½¿ ß«»α«-
  302.          µÑßß«α  8087.  Åα«úαá¼¼á  Γ«ú« ªÑ αẼÑαᠬᬠ¿ ñ½∩
  303.          ß½πτá∩ 2.
  304.  
  305.       4. ä½∩ αáí«Γδ ΓαÑíπÑΓß∩ 8087.  êß»«½¡Ñ¡¿Ñ  ¬«¼á¡ñ »α«-
  306.          µÑßß«αá 8087 »α¿ Ñú« «ΓßπΓßΓó¿¿  ¼«ªÑΓ óδºóáΓ∞ ¬αáσ
  307.          ß¿ßΓѼδ.
  308.  
  309.  
  310.       éáα¿á¡Γ 1:
  311.  
  312.    Åα«úαá¼¼á ß«ºñáÑΓß∩ ∩ó¡«⌐  »α¿¬«¼»«¡«ó¬«⌐ ¼«ñπ½∩ INT.OBJ.
  313. INT.OBJ  «»αÑñѽ∩ÑΓ  óßÑ Γ«τ¬¿ óσ«ñá »α«úαá¼¼ í¿í½¿«ΓѬ¿ ñ½∩
  314. αáí«Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, ΓᬠτΓ« ¡¿ «ñ¡á ¿º Γᬿσ »α«úαá¼¼
  315. ¡Ñ óδí¿αáÑΓß∩  ¿º  í¿í½¿«ΓѬ¿.  àß½¿  »α«¿ßσ«ñ¿Γ  ¬á¬«⌐-½¿í«
  316. óδº«ó  »α«úαá¼¼δ  óδτ¿ß½Ñ¡¿⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐,  »ÑτáΓáÑΓß∩
  317. ß««íΘÑ¡¿Ñ:
  318.  
  319.     FLOATING POINT NOT LOADED (»α«úαá¼¼δ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐
  320.                              ß »½áóáεΘÑ⌐ Γ«τ¬á ¡Ñ ºáúαπªÑ¡δ)
  321.  
  322. ¿ »α«úαἼᠫßΓá¡áó½¿óáÑΓß∩.  Äñ¿¡ ¿ Γ«Γ ªÑ  INT.OBJ  ¼«ñπ½∞
  323. ¿ß»«½∞ºπÑΓß∩ ñ½∩ óßÑσ ¼«ñѽÑ⌐ »á¼∩Γ¿.
  324.  
  325.    Åਪ«¼»«¡«ó¬á ¼«ñπ½∩ INT.OBJ ¼«ªÑΓ íδΓ∞ π¬áºá¡á »α«úαá¼¼Ñ
  326. ZTC ß »«¼«Θ∞ε Σ½áúá [-mi]. ZTC ¿ß»«½∞ºπÑΓ »ÑαѼѡ¡πε «¬απªÑ-
  327. ¡¿∩ LIB ñ½∩ »«¿ß¬á  INT.OBJ ¿ »ÑαÑñáÑΓ Ñú« αÑñá¬Γ«απ ßó∩ºÑ⌐.
  328. ìá»α¿¼Ñα:
  329.  
  330.       ZTC -mi hello
  331.  
  332.  
  333.       éáα¿á¡Γ 2:
  334.  
  335.    éáα¿á¡Γ 2 αÑ὿ºπÑΓß∩  »α¿  »«¼«Θ¿  ß½ÑñπεΘÑú«  Σαáú¼Ñ¡Γá
  336. »α«úαá¼¼δ:
  337.  
  338.       main()
  339.       {  extern int _8087;
  340.          _8087 = 0;       /* ¡¿¬«úñá ¡Ñ ¿ß»«½∞º«óáΓ∞ 8087 */
  341.          ...
  342.       }
  343.  
  344.  
  345.       éáα¿á¡Γ 3:
  346.  
  347.    éáα¿á¡Γ 3 αÑ὿ºπÑΓß∩ »« π¼«½τá¡¿ε.
  348.  
  349.  
  350.       éáα¿á¡Γ 4:
  351.  
  352.    éáα¿á¡Γ 4 ß«ºñáÑΓß∩ »α¿ Γαá¡ß½∩µ¿¿ »α«úαá¼¼δ  »«ßαÑñßΓó«¼
  353. ZTC ß Σ½áú«¼ -f.
  354. ìá»α¿¼Ñα:
  355.  
  356.       ZTC file -f
  357.  
  358.    Å«ß¬«½∞¬π  ¬«ñ  »α«úαá¼¼δ, «ΓΓαá¡ß½¿α«óá¡¡«⌐ ß Σ½áú«¼ -f,
  359. íπñÑΓ »α¿ó«ñ¿Γ∞ ¬ ¬αáσπ  ß¿ßΓÑ¼δ »α¿ ÑÑ ºá»π߬Ѡ¿ «ΓßπΓßΓó¿¿
  360. 8087,  «τÑ¡∞ αѬ«¼Ñ¡ñπѼ ó φΓ«¼ ß½πτáÑ ó¬½ετ¿Γ∞ ó éáΦπ »α«ú-
  361. αá¼¼π ß½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ:
  362.  
  363.       main ()
  364.       {  extern int _8087;
  365.          if(_8087==0)            /* Ñß½¿ 8087 «ΓßπΓßΓóπÑΓ */
  366.                {  printf("¥Γá »α«úαá¼¼á ΓαÑíπÑΓ 8087\n");
  367.                   exit(1);            /* «ßΓá¡«ó »α«úαá¼¼δ*/
  368.                }
  369.            ...
  370.       }
  371.  
  372.    ü«½ÑÑ '«Γτá∩¡¡δÑ'  »α«úαá¼¼¿ßΓδ,  ¬«Γ«αδÑ  ¿ß»«½∞ºπεΓ óá-
  373. α¿á¡Γ 4, ¼«úπΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿ »ÑαѬ«¼»¿½¿α«óáΓ∞ φΓ¿ í¿í½¿-
  374. «ΓѬ¿ ñ½∩ πñá½Ñ¡¿∩ ¿º ¡¿σ óßÑσ ¡Ñ 8087 »α«úαá¼¼ αáí«Γδ ß »½á-
  375. óáεΘÑ⌐ Γ«τ¬«⌐ ñ½∩ Γ«ú«,  τΓ«íδ  ßñѽáΓ∞  »α«úαá¼¼π  ¼Ñ¡∞ΦÑ ¿
  376. ¡Ñ߬«½∞¬« íδßΓαÑÑ.
  377.  
  378.    Äñ¡¿ ΓÑ ªÑ Zortech í¿í½¿«ΓѬ¿ ¿ß»«½∞ºπεΓß∩ ó« óßÑσ óáα¿á¡-
  379. Γáσ.
  380.  
  381.       çá¼ÑΓ¿¼,  τΓ« ¡ÑΓ αẽ¿τ¿⌐ ó  call/return  ß«ú½áΦÑ¡¿∩σ
  382.       ¼Ñªñπ Σπ¡¬µ¿∩¼¿, »«φΓ«¼π obj ¼«ñπ½¿,  ¬«Γ«αδÑ ¬«¼»¿½¿-
  383.       απεΓß∩ ó αạδσ óáα¿á¡Γáσ, ¼«úπΓ ßó«í«ñ¡« ¬«¼»«¡«óáΓ∞-
  384.       ß∩ ó¼ÑßΓÑ.
  385.  
  386.    ìá»α¿¼Ñα, »α¿¬½áñ¡á∩ »α«úαá¼¼á, ¬«Γ«αá∩ «ßπΘÑßΓó½∩ÑΓ ¼áΓ-
  387. α¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¼«ªÑΓ ¿¼ÑΓ∞ ñóÑ óÑαß¿¿ »αÑ«íαẫóá¡¿⌐:
  388.  
  389.       ZTC -c -f matrix -DINLINE8087 -omatrix87.obj
  390.       ZTC -c matrix
  391.       ZTC main matrix.obj matrix87.obj
  392.  
  393.    öá⌐½ matrix.c ¼«ªÑΓ ß«ñÑαªáΓ∞:
  394.  
  395.       #ifdef INLINE8087
  396.       void matrix87()
  397.                     /* ñ½∩ óÑαß¿¿ ß 8087 ¡πª¡« ñαπú«Ñ ¿¼∩ */
  398.       #else
  399.       void matrix()
  400.       #endif
  401.       {
  402.          ...
  403.       }
  404.  
  405.    öá⌐½ main.c ¼«ªÑΓ ß«ñÑαªáΓ∞:
  406.  
  407.       extern int _8087;
  408.       ...
  409.  
  410.       if(_8087)                      /* Ñß½¿ ¿¼ÑÑΓß∩ 8087 */
  411.          matrix87();      /* ¿ß»«½∞ºπÑΓß∩ óÑαß¿∩ ñ½∩ 8087 */
  412.       else
  413.          matrix();
  414.           /* ¿ß»«½∞ºπÑΓß∩ óÑαß¿∩ ß »α«úαá¼¼¡«⌐ αÑ὿ºáµ¿Ñ⌐*/
  415.                                        /* »½áóáεΘÑ⌐ Γ«τ¬¿ */
  416.  
  417.    Æá¬¿¼ «íαẫ¼ ¿ß»«½¡∩Ѽá∩  »α«úαἼᠠ¼«ªÑΓ  »«½∞º«óáΓ∞ß∩
  418. óßѼ¿ »αÑ¿¼πΘÑßΓóἿ ß«»α«µÑßß«αá 8087, ¡« ΓᬪѠíπñÑΓ αáí«-
  419. ΓáΓ∞ ¬«ααÑ¬Γ¡« ¿ »α¿ Ñú« «ΓßπΓßΓó¿¿.  Å«ñ«í¡δÑ »α¿¼Ñαδ ¼«ª¡«
  420. πó¿ñÑΓ∞ ó í¿í½¿«ΓÑτ¡«¼ Σá⌐½Ñ math.c.
  421.  
  422.  
  423.    _okbigbuf (Γ«½∞¬« ñ½∩ T, S ¿ M ¼«ñѽÑ⌐ »á¼∩Γ¿)
  424.  
  425.    ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ,  ¬á¬πε ßσѼπ αáß»αÑñѽѡ¿∩ »á-
  426. ¼∩Γ¿ ¿ß»«½∞º«óáΓ∞. æπΘÑßΓóπÑΓ ñóá ß»«ß«íá αáß»αÑñѽѡ¿∩:
  427.  
  428.       æ»«ß«í 1:
  429.  
  430.          Éáß»αÑñѽ∩ÑΓ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞ (ñ« 64K) »«ñ '¬π-
  431.          τπ' »α¿ ßΓáαΓÑ »α«úαá¼¼δ.  ¥Γ«Γ ß»«ß«í ¿ß»«½∞ºπÑΓß∩
  432.          »« π¼«½τá¡¿ε.
  433.  
  434.       æ»«ß«í 2:
  435.  
  436.          Åá¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ »«ñ '¬πτπ' Γ«½∞¬« »α¿ ¡Ñ«íσ«-
  437.          ñ¿¼«ßΓ¿. ¥Γ«Γ ß»«ß«í ñ«½ªÑ¡ íδΓ∞ ¿ß»«½∞º«óá¡,  Ñß½¿
  438.          »«ΓαÑíπÑΓß∩ Σπ¡¬µ¿∩ spawn.  ä½∩ ¿ß»«½∞º«óá¡¿∩ φΓ«ú«
  439.          ß»«ß«íá «íΩ∩ó¿ΓÑ  _okbigbuf  ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ.
  440.          ä½∩ í«½ÑÑ »«ñα«í¡«⌐  ¿¡Σ«α¼áµ¿¿ ß¼«Γα¿ΓÑ 'Éáß»αÑñÑ-
  441.          ½Ñ¡¿Ñ »á¼∩Γ¿'.
  442.  
  443.       êß»«½∞º«óá¡¿Ñ:
  444.  
  445.          int _okbigbuf = 0;    /* ÄΓó«ñ¿Γ∞ »á¼∩Γ∞ »« ¼ÑαÑ */
  446.                                          /* ¡Ñ«íσ«ñ¿¼«ßΓ¿ */
  447.  
  448.    _okbigbuf!=0  «º¡áτáÑΓ ΓᬪѠ¿ß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ ñ¿ß¬«-
  449. óδσ íπΣÑα«ó ñ½∩ »«Γ«¬á óó«ñá/óδó«ñá ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ. éßÑ
  450. φΓ« π»αáó½∩ÑΓß∩ ¼«ñπ½Ñ¼ C.ASM.
  451.  
  452.  
  453.    _osmajor
  454.  
  455.    ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ «ß¡«ó¡«⌐ ¡«¼Ñα ¿ß»«½¡∩Ѽ«⌐ óÑα-
  456. ß¿¿ MS DOS. ç¡áτÑ¡¿Ñ  _osmajor  íπñÑΓ αáó¡« 3 »α¿ αáí«ΓÑ »«ñ
  457. π»αáó½Ñ¡¿Ñ¼ MS DOS 3.2 ¿½¿ 2 »α¿ αáí«ΓÑ »«ñ MS DOS 2.0.
  458.  
  459.       êß»«½∞º«óá¡¿Ñ:
  460.  
  461.          extern unsigned char _osmajor;
  462.  
  463.  
  464.    _osminor
  465.  
  466.    ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ  ñ«»«½¡¿Γѽ∞¡δ⌐ ¡«¼Ñα ¿ß»«½¡∩Ñ-
  467. ¼«⌐ óÑαß¿¿ MS DOS.  ç¡áτÑ¡¿Ñ _osminor íπñÑΓ αáó¡« 11 »α¿ αá-
  468. í«ΓÑ  »«ñ  π»αáó½Ñ¡¿Ñ¼  MS DOS 2.11  ¿½¿  1  »α¿  αáí«ΓÑ »«ñ
  469. MS DOS 3.1.
  470.  
  471.       êß»«½∞º«óá¡¿Ñ:
  472.  
  473.          extern unsigned char _osminor;
  474.  
  475.  
  476.  
  477.    _psp
  478.  
  479.    ¥Γá »ÑαѼѡ¡á∩  ß«ñÑαª¿Γ  áñαÑß ßÑú¼Ñ¡Γ¡«ú« »áαáúαáΣá ñ½∩
  480. »αÑΣ¿¬ßá »α«úαá¼¼¡δσ ßÑú¼Ñ¡Γ«ó. ¥Γá »ÑαѼѡ¡á∩ ¼«ªÑΓ ¿ß»«½∞-
  481. º«óáΓ∞ß∩ ñ½∩ »«ßΓα«Ñ¡¿∩ 'ñá½∞¡¿σ' π¬áºáΓѽÑ⌐, «íÑß»Ñτ¿óáεΘ¿σ
  482. ñ«ßΓπ» ¬ »αÑΣ¿¬ßπ  »α«úαá¼¼¡δσ  ßÑú¼Ñ¡Γ«ó ¿º »α«úαá¼¼δ »«½∞-
  483. º«óáΓѽ∩.
  484.  
  485.       êß»«½∞º«óá¡¿Ñ:
  486.  
  487.          extern unsigned _psp;
  488.  
  489.  
  490.    errno
  491.  
  492.    ¥Γ«⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óáεΓß∩ ¡«¼Ñαá «Φ¿í«¬ »«ß½Ñ ¿ß»«½∞-
  493. º«óá¡¿∩ ¡Ñ¬«Γ«αδσ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐ »α¿ »«∩ó½Ñ¡¿¿ «Φ¿í«¬.
  494. ç¡áτÑ¡¿∩ errno ß½ÑñπεΘ¿Ñ:
  495.  
  496.       E2BIG                       100
  497.       EACCES                        5
  498.       EBADF                         6
  499.       EDOM                        102
  500.       EEXIST                       80
  501.       EMFILE                        4
  502.       ENOENT                        2
  503.       ENOEXEC                      01
  504.       ENOMEM                        8
  505.       ENOTDIR                       3
  506.       ERANGE                      103
  507.  
  508.       êß»«½∞º«óá¡¿Ñ:
  509.  
  510.          extern int errno;
  511.  
  512.    æ¼«Γα¿ΓÑ ΓᬪѠΣá⌐½  errno.h  ñ½∩ «»¿ßá¡¿∩ ß¼δ߽ᠬáªñ«ú«
  513. º¡áτÑ¡¿∩ «Φ¿í¬¿.
  514.  
  515.  
  516.  
  517.                                       æÄÄüÖàìꃠ Äü  ÄÿêüèÇò
  518.                                       ──────────────────────
  519.  
  520.    ÄΦ¿í¬¿ äÄæ
  521.  
  522.  
  523.    é Γáí½¿µáσ ¡¿ªÑ »ÑαÑτ¿ß½Ñ¡δ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ, ó«ºóαá-
  524. ΘáѼδÑ Σπ¡¬µ¿Ñ⌐ perror(), ß ß««ΓóÑΓßΓóπεΘ¿¼ ¡«¼Ñα«¼ «Φ¿í¬¿ ó
  525. errno.
  526.  
  527.       E2BIG          æ»¿ß«¬  áαúπ¼Ñ¡Γ«ó   ß½¿Φ¬«¼   í«½∞Φ«⌐.
  528.                      (滿߫¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ 128 íá⌐Γ).
  529.  
  530.       EACCES         ÄΓ¬áº ó αáºαÑΦÑ¡¿¿ ñ«ßΓπ»á.
  531.                      (ìá»α¿¼Ñα, ºá»¿ß∞ ó Σá⌐½, «Γ¬αδΓδ⌐ Γ«½∞-
  532.                      ¬« »« τΓÑ¡¿ε).
  533.  
  534.       EBADF          Å½«σ«⌐ ñÑß¬α¿»Γ«α Σá⌐½á.
  535.  
  536.       EDOM           Çαúπ¼Ñ¡Γ ¼áΓѼáΓ¿τÑ߬«⌐ Σπ¡¬µ¿¿ ó¡Ñ «í-
  537.                      ½áßΓ¿ «»αÑñѽѡ¿∩.
  538.  
  539.       EEXIST         öá⌐½ πªÑ ßπΘÑßΓóπÑΓ.
  540.  
  541.       EMFILE         æ½¿Φ¬«¼ ¼¡«ú« «Γ¬αδΓδσ Σá⌐½«ó.
  542.  
  543.       ENOENT         ìÑΓ Γᬫú« Σá⌐½á ¿½¿ ¬áΓὫúá.
  544.  
  545.       ENOEXEC        ÄΦ¿í¬á Σ«α¼áΓá ¿ß»«½¡∩Ѽ«ú« Σá⌐½á.
  546.  
  547.       ENOMEM         ìÑΓ  ñ«ßΓáΓ«τ¡«ú«  »α«ßΓαá¡ßΓóá »á¼∩Γ¿.
  548.                      (ìá»α¿¼Ñα,  ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ ¿ß-
  549.                      »«½¡∩Ѽ«⌐ Σπ¡¬µ¿¿).
  550.  
  551.       ENOTDIR        îáαΦαπΓ ¬ ¬áΓὫúπ ¡Ñ ¡á⌐ñÑ¡.
  552.  
  553.       ERANGE         ÉѺπ½∞ΓáΓ ó¡Ñ ñ¿á»áº«¡á º¡áτÑ¡¿⌐.
  554.                      (Çαúπ¼Ñ¡Γ ¼áΓѼáΓ¿τÑ߬«⌐  Σπ¡¬µ¿¿ ß½¿Φ-
  555.                       ¬«¼ óѽ¿¬).
  556.  
  557.    æ¼«Γα¿ΓÑ »α¿¼Ñα ¿º «»¿ßá¡¿∩ í¿í½¿«ΓѬ¿ »« Σπ¡¬µ¿¿ perror()
  558. ñ½∩ óδ∩ߡѡ¿∩ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ.
  559.  
  560.  
  561.    ÄΦ¿í¬¿ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐
  562.  
  563.  
  564.    ÄΦ¿í¬¿, óßΓαÑτáεΘ¿Ñß∩ »α¿ ¿ß»«½¡Ñ¡¿¿ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬-
  565. µ¿⌐, ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐ matherror().
  566.  
  567.    math.h
  568.  
  569.       DOMAIN         ìÑñ«»πßΓ¿¼á∩ «»Ñαᵿ∩.
  570.  
  571.       OVERFLOW       ÉѺπ½∞ΓáΓ  ß½¿Φ¬«¼  óѽ¿¬ ñ½∩ Ñú« »αÑñ-
  572.                      ßΓáó½Ñ¡¿∩.
  573.  
  574.       PLOSS          ùáßΓ¿τ¡á∩ »«ΓÑα∩ Γ«τ¡«ßΓ¿ º¡áτ¿¼«ßΓ¿.
  575.  
  576.       SING           Äß«íÑ¡¡«ßΓ∞ áαúπ¼Ñ¡Γá, (¡á»α¿¼Ñα, ¡π½Ñ-
  577.                    ó«Ñ º¡áτÑ¡¿Ñ »ÑαÑñáÑΓß∩ Σπ¡¬µ¿¿  log(),
  578.              ΓαÑíπεΘÑ⌐ ¡Ñ¡π½Ñó«ú« »áαá¼ÑΓαá).
  579.  
  580.       TLOSS          Å«½¡á∩ »«ΓÑα∩ Γ«τ¡«ßΓ¿ º¡áτ¿¼«ßΓ¿.
  581.  
  582.       UNDERFLOW      ÉѺπ½∞ΓáΓ ß½¿Φ¬«¼ ¼á½ ñ½∩ Ñú« »αÑñßΓáó-
  583.                      ½Ñ¡¿∩.
  584.  
  585.  
  586.                                             öÇë çÇâÄïÄéèê
  587.                                             ────────────────
  588.  
  589. assert.h
  590.  
  591.    Ä»αÑñѽ∩ÑΓ ¼á¬α«ß assert().
  592.  
  593.    àß½¿  ¿ñÑ¡Γ¿Σ¿¬áΓ«α  NDEBUG  ¡Ñ íδ½ «»αÑñѽѡ ó ¬«¼á¡ñ¡«⌐
  594. ßΓα«¬Ñ ¬«¼»¿½∩Γ«αá ¿½¿ ó #define  ñ¿αÑ¬Γ¿óÑ,  ¼á¬α«ß «»αÑñÑ-
  595. ½Ñ¡ ¿ ß½πª¿Γ  ñ½∩ »α«óÑન  ºáñá¡¡«ú«  »áαá¼ÑΓα«¼ óδαáªÑ¡¿∩.
  596. àß½¿ φΓ« πΓóÑαªñÑ¡¿Ñ ½«ª¡«, »ÑτáΓáÑΓß∩ ß««íΘÑ¡¿Ñ ¿ »α«úαá¼¼á
  597. ºáóÑαΦáÑΓß∩.
  598.    àß½¿  NDEBUG  «»αÑñѽѡ,  assert  «»αÑñѽ∩ÑΓß∩ ¬á¬ »πßΓ«⌐
  599. ΓѬßΓ. é αѺπ½∞ΓáΓÑ óßÑ assert πΓóÑαªñÑ¡¿∩ ¬á¬ íδ ßΓá¡«ó∩Γß∩
  600. ¬«¼¼Ñ¡Γáα¿∩¼¿.
  601.  
  602.  
  603. conio.h
  604.  
  605.    ÄíΩ∩ó½∩ÑΓ  »α«Γ«Γ¿»δ ñ½∩ Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá ¡á ¬«¡ß«½∞.
  606.  
  607.       getch     getche     inp     inpw     outp     oupw
  608.  
  609.  
  610. ctype.h
  611.  
  612.    Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ ¿ ¬«¡ßΓá¡Γδ,  ¿ß»«½∞ºπѼδÑ »α¿ ¬½áßß¿-
  613. Σ¿¬áµ¿¿ ½¿ΓÑα.
  614.  
  615.       isalnum    isalpha    isascii    iscntrl    isdigit
  616.       isgraph    islower    isprint    ispunct    isspace
  617.       isupper    isxdigit   toascii
  618.  
  619.    é  Σá⌐½  ctype.h  ó¬½ετÑ¡«  ΓᬪѠ ú½«íá½∞¡«Ñ  «íΩ∩ó½Ñ¡¿Ñ
  620. ¼áßß¿óá  _ctype.  ¥Γ«Γ  ¼áßß¿ó  ∩ó½∩ÑΓß∩  «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á
  621. ASCII Γáí½¿µÑ⌐ ¬«ñ«ó ¬½áßß¿Σ¿¬áµ¿¿.
  622.  
  623.  
  624. direct.h
  625.  
  626.    ÄíΩ∩ó½∩ÑΓ  »α«Γ«Γ¿»δ  ñ½∩  Σπ¡¬µ¿⌐ αáí«Γδ ß ¬áΓὫú«úἿ.
  627.  
  628.       chdir          getcwd          mkdir          rmdir
  629.  
  630.  
  631. disp.h
  632.  
  633.    Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ,  «íΩ∩ó½∩ÑΓ  ¬«¡ßΓá¡Γδ ¿ »α«Γ«Γ¿»δ ñ½∩
  634. Σπ¡¬µ¿⌐ »α∩¼«ú« ñ«ßΓπ»á ¬ φ¬αá¡π.
  635.  
  636.       disp_close         disp_eeol           disp_eeop
  637.       disp_endstand      disp_flush          disp_getmode
  638.       disp_move          disp_open           disp_pokew
  639.       disp_printf        disp_putc           disp_reset43
  640.       disp_scroll        disp_set43          disp_setattr
  641.       disp_setmode       disp_usebios        disp_startstand
  642.       disp_setcursortype
  643.  
  644.  
  645. dos.h
  646.  
  647.    Ä»αÑñѽ∩ÑΓ  ¼á¬α«ßδ,  ¬«¡ßΓá¡Γδ ¿ «íΩ∩ó½∩ÑΓ  ¿¡ΓÑαΣÑ⌐ß¡δÑ
  648. Σπ¡¬µ¿¿ ñ½∩  MS DOS ¿ IBM PC.  Ä¡¿  ó¬½ετáεΓ ó ßÑí∩ ñ«ßΓπ» ¬
  649. óó«ñπ/óδó«ñπ τÑαѺ »«αΓδ, «»αÑñѽѡ¿∩ ó¿ñ«ó Σá⌐½«ó, »α«µÑñπα
  650. «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, á ΓᬪѠßΓαπ¬Γπαδ αÑú¿ßΓα«ó.
  651.  
  652.    ÄíΩ∩ó½Ñ¡¿∩ »α«Γ«Γ¿»«ó dos-»á¬ÑΓá:
  653.  
  654.       dos_abs_disk_read               dos_abs_disk_write
  655.       dos_getdiskfreespace            dos_get_ctrl_break
  656.       dos_get_verify                  dos_set_ctrl_break
  657.       dos_set_verify
  658.  
  659.    ÄíΩ∩ó½Ñ¡¿∩ »α«Γ«Γ¿»«ó ñ½∩ Σπ¡¬µ¿⌐ MS DOS αáí«Γδ ß ¬áΓὫ-
  660. úἿ:
  661.  
  662.       findfirst                       findnext
  663.  
  664.    ÄíΩ∩ó½Ñ¡¿∩  »α«Γ«Γ¿»«ó Σπ¡¬µ¿⌐ ñ½∩ 'ñá½∞¡Ñú«' αáß»αÑñѽÑ-
  665. ¡¿∩ »á¼∩Γ¿:
  666.  
  667.       farmalloc            farcalloc             farrealloc
  668.       farfree              farcoreleft
  669.  
  670.    ÄíΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ñ«ßΓπ»á ¬ »«αΓá¼ óó«ñá/óδó«ñá:
  671.  
  672.       inp           inpw           outp            outpw
  673.  
  674.    ÉÑú¿ßΓα«óδÑ ßΓαπ¬Γπαδ,  ¿ß»«½∞ºπѼδÑ Σπ¡¬µ¿∩¼¿  intdos(),
  675. intdosx(), int86(), int86x():
  676.  
  677.       WORDREGS         BYTEREGS        REGS         SREGS
  678.  
  679.    îá¬α«ßδ   ñ½∩   αáí«Γδ   ß   ñá½∞¡¿¼¿   π¬áºáΓѽ∩¼¿
  680. (ßÑú¼Ñ¡Γ:ß¼ÑΘÑ¡¿Ñ):
  681.  
  682.             FP_SEG        FP_OFF         MK_FP
  683.  
  684.  
  685. fg.h
  686.  
  687.    Ä»αÑñѽ∩ÑΓ ¬«¡ßΓá¡Γδ, Γ¿»δ, »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ »á¬ÑΓá íδßΓ-
  688. α«⌐ úαáΣ¿¬¿.  æ½ÑñπεΘ¿Ñ  ¬«¡ßΓá¡Γδ ß««ΓóÑΓßΓóπεΓ úαáΣ¿τÑ߬¿¼
  689. αѪ¿¼á¼:
  690.  
  691.       FG_CGAMEDRES  0σ04  IBM CGA , 320*200,  µóÑΓ¡«⌐
  692.                                                 (αѪ¿¼ 0σ04)
  693.       FG_CGAHIRES   0σ06  IBM CGA , 640*200     (αѪ¿¼ 0σ06)
  694.  
  695.       FG_EGACOLOR   0σ0E  IBM EGA  ß ¡«α¼á½∞¡δ¼ µóÑΓ¡δ¼ «Γ«-
  696.                                    íαáªÑ¡¿Ñ¼    (αѪ¿¼ 0σ0E)
  697.       FG_EGAMONO    0σ0F  IBM EGA  ß IBM ¼«¡«σα«¼¡δ¼ ¼«¡¿Γ«-
  698.                                    α«¼          (αѪ¿¼ 0σ0F)
  699.       FG_EGAECD     0σ10  IBM EGA  ß π½πτΦÑ¡¡δ¼ µóÑΓ¡δ¼ «Γ«-
  700.                                    íαáªÑ¡¿Ñ¼    (αѪ¿¼ 0σ10)
  701.       FG_VGA11      0σ11  IBM VGA , 640*480,  1 µóÑΓ.
  702.  
  703.       FG_VGA12      0σ12  IBM VGA , 640*480,  16 µóÑΓ«ó.
  704.  
  705.       FG_VGA13      0σ13  IBM VGA , 320*200,  256 µóÑΓ«ó.
  706.  
  707.       FG_HERCHALF   0σ02  Hercules ("âÑα¬π½Ñß"), ¼«¡«σα«¼¡δ⌐,
  708.                                1 ßΓαá¡¿µá ñ¿ß»½Ñ⌐¡«⌐ »á¼∩Γ¿.
  709.       FG_HERCFULL   0σ03  Hercules, ¼«¡«σα«¼¡δ⌐,  2 ßΓαá¡¿µδ
  710.                                           ñ¿ß»½Ñ⌐¡«⌐ »á¼∩Γ¿.
  711.       FG_TOSHIBA    0σFA  TOSHIBA J-3100.
  712.  
  713.       FG_8514A            âαáΣ¿τÑ߬¿⌐ áñá»ΓÑα IBM 8514A.
  714.  
  715.    öπ¡¬µ¿¿:
  716.  
  717.       fg_adjustxy         fg_drawarc       fg_writebox
  718.       fg_drawbox          fg_drawdot       fg_drawellipse
  719.       fg_drawline         fg_drawlinep     fg_drawmatrix
  720.       fg_drawthickline    fg_enclose       fg_fillbox
  721.       fg_flush            fg_getcolormap   fg_init
  722.       fg_init_all         fg_init_cga      fg_init_cgamedres
  723.       fg_init_egacolor    fg_init_egaecd   fg_init_egamono
  724.       fg_init_herc        fg_blit          fg_init_toshiba
  725.       fg_init_vga11       fg_init_vga12    fg_init_vga13
  726.       fg_putc             fg_puts          fg_readbox
  727.       fg_readdot          fg_restore       fg_save
  728.       fg_setactivepage    fg_setcolormap   fg_setdisplaypage
  729.       fg_text_mode        fg_term          fg_setlinepattern
  730.  
  731.    Æ¿»δ ½¿¡¿⌐:
  732.  
  733.       FG_LINE_MEDIUM_DOTTED             FG_LINE_LONG_DASH
  734.       FG_LINE_DENSE_DOTTED              FG_LINE_SHORT_DASH
  735.       FG_LINE_MEDIUM_DASHED             FG_LINE_MAX
  736.       FG_LINE_DASH_DOTTED               FG_LINE_SOLID
  737.       FG_LINE_SPARSE_DOTTED             FG_LINE_USER_DEFINED
  738.       FG_LINE_DASH_W_2_DOTS
  739.  
  740.    ûóÑΓá:
  741.  
  742.       FG_BLACK                FG_BLUE             FG_GREEN
  743.       FG_CYAN                 FG_BLUE_GREEN       FG_RED
  744.       FG_PURPLE               FG_YELLOW           FG_WHITE
  745.       FG_LIGHT_BLUE_GREEN     FG_LIGHT_GREEN      FG_GRAY
  746.       FG_LIGHT_BLUE           FG_LIGHT_RED        FG_MAGENTA
  747.       FG_LIGHT_CYAN           FG_LIGHT_WHITE      FG_BROWN
  748.       FG_LIGHT_MAGENTA        FG_HIGHLIGHT        FG_BLINK
  749.  
  750.  
  751.  
  752. errno.h
  753.  
  754.    Ä»αÑñѽ∩ÑΓ ¼¡Ñ¼«¡¿τÑ߬¿Ñ ¬«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ Σπ¡¬µ¿Ñ⌐
  755. perror.
  756.  
  757.       æ¼«Γα¿ΓÑ αáºñѽ »« ß««íΘÑ¡¿∩¼ «í «Φ¿í¬áσ.
  758.  
  759.  
  760.  
  761. int.h
  762.  
  763.    æ«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ¿ ßΓαπ¬Γπα ñ½∩ »α«úαá¼¼ «íαá-
  764. í«Γ¬¿ »αÑαδóá¡¿⌐.
  765.  
  766.       int_getvector         int_intercept        int_off
  767.       int_restore           int_setvector        int_on
  768.  
  769.  
  770.  
  771. io.h
  772.  
  773.    æ«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩  Σπ¡¬µ¿⌐ ñ½∩  ¡¿º¬«πα«ó¡Ñó«⌐ αáí«Γδ ß
  774. Σá⌐½á¼¿.
  775.  
  776.       close      creat     delete     filesize     getDS
  777.       isatty     lseek     open       read         remov
  778.       rename     write     unlink
  779.  
  780.  
  781.  
  782. limits.h
  783.  
  784.    Ä»αÑñѽ∩ÑΓ »αÑñѽ∞¡δÑ º¡áτÑ¡¿∩ ¿ ñ¿á»áº«¡δ τ¿ß½«óδσ óѽ¿-
  785. τ¿¡.
  786.  
  787.  
  788.  
  789. math.h
  790.  
  791.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐:
  792.  
  793.       acos       asin       atan        atan2        atof
  794.       ceil       cos        cosh        exp          fabs
  795.       floor      fmod       frexp       hypot        ldex
  796.       log        log10      modf        poly         pow
  797.       sin        sinh       sqrt        tan          tanh
  798.  
  799.  
  800.  
  801. msmouse.h
  802.  
  803.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ MS-MOUSE Σπ¡¬µ¿⌐ αáí«Γδ ß '¼δΦ∞ε':
  804.  
  805.       msm_condoff        msm_getpress      msm_getrelease
  806.       msm_getstatus      msm_hidecursor    msm_init
  807.       msm_lightpenoff    msm_lightpenon    msm_readcounters
  808.       msm_setareax       msm_setareay      msm_setcurpos
  809.       msm_setgraphcur    msm_setratio      msm_settextcur
  810.       msm_showcursor     msm_signal        msm_setthreshhold
  811.       msm_term
  812.  
  813.  
  814. process.h
  815.  
  816.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ óßÑσ  Σπ¡¬µ¿⌐  π»αáó½Ñ¡¿∩ »α«µÑßßἿ:
  817.  
  818.    _exit       execl        execlp      execv         execvp
  819.    spawnl      spawnlp      spawnv      spawnvp
  820.  
  821.  
  822. setjmp.h
  823.  
  824.    ÄíΩ∩ó½∩ÑΓ Γ¿»  jmp_buf,  ¿ß»«½∞ºπѼδ⌐  Σπ¡¬µ¿∩¼¿ setjmp ¿
  825.    longjmp (ΓᬪѠ«íΩ∩ó½Ñ¡¡δ¼¿).
  826.  
  827.  
  828. signal.h
  829.  
  830.    Ä»αÑñѽ∩ÑΓ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩ ñ½∩ ß¿ú¡á½«ó:
  831.  
  832.       SIG_DFL     SIG_ERR     SIG_IGN     SIGABRT     SIGFPE
  833.       SIGILL      SIGINT      SIGSEGV     SIGTERM
  834.  
  835.    ÄíΩ∩ó½∩ÑΓ Σπ¡¬µ¿¿ raise() ¿ signal().
  836.  
  837.  
  838. sound.h
  839.  
  840.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ Σπ¡¬µ¿⌐ αáí«Γδ ß« ºóπ¬«¼:
  841.  
  842.              sound_beep    sound_click    sound_tone
  843.  
  844. stdarg.h
  845.  
  846.    Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ,  ¿ß»«½∞ºπѼδÑ ñ½∩ τΓÑ¡¿∩ ß»¿ß¬á áαúπ-
  847. ¼Ñ¡Γ«ó »ÑαѼѡ¡«⌐ ñ½¿¡δ:
  848.  
  849.       va_list         va_start         va_arg         va_end
  850.  
  851.  
  852. stddef.h
  853.  
  854.    Ä»αÑñѽ∩ÑΓ «íΘ¿Ñ Γ¿»δ ñá¡¡δσ.
  855.  
  856.       errno        â½«íá½∞¡á∩  »ÑαѼѡ¡á∩,  ß«ñÑαªáΘá∩ ¡«¼Ñα
  857.                    ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ.
  858.       ptrdiff_t    æ¿¡«¡¿¼ Γ¿»á,  ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ αạ«ßΓ∞ε
  859.                    ñóπσ π¬áºáΓѽÑ⌐.
  860.       size_t       æ¿¡«¡¿¼ Γ¿»á,  ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞-
  861.                    º«óá¡ ñ½∩ σαá¡Ñ¡¿∩ αẼÑαá »ÑαѼѡ¡«⌐.
  862.  
  863. stdio.h
  864.  
  865.    Ä»αÑñѽ∩ÑΓ ¬«¡ßΓá¡Γδ, Γ¿»δ,  ¼á¬α«ßδ  ¿ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐
  866. ñ½∩ »«Γ«¬«ó«ú« óó«ñá/óδó«ñá.
  867.  
  868.       bdos        clearerr    fclose      feof      ferror
  869.       fflush      fgetc       fgets       fileno    filesize
  870.       flushall    fopen       fprintf     fputc     fputs
  871.       fread       freopen     fscanf      fseek     ftell
  872.       fwrite      getc        getch       getchar   getche
  873.       gets        max         min         printf    putc
  874.       putchar     puts        rewind      stdaux    stderr
  875.       stdin       stdout      stdprn      scanf     setbuf
  876.       setvbuf     sprintf     sscanf      ungetc    vfprintf
  877.       vprintf     vsprintf
  878.  
  879.       BUFSIZ    αẼÑα  »« π¼«½τá¡¿ε  íπΣÑαá,  ¿ß»«½∞ºπѼ«ú«
  880.                 ñ½∩ »«Γ«¬«ó«ú« óó«ñá/óδó«ñá.
  881.       _NFILE    Ä»αÑñѽ∩ÑΓ  ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½«  «ñ¡«óαѼѡ¡«
  882.                 «Γ¬αδΓδσ Σá⌐½«ó.
  883.       EOF       Ä»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ »α«úαá¼¼«⌐
  884.                 óó«ñá/óδó«ñá »α¿ «í¡áαπªÑ¡¿¿ ¬«¡µá Σá⌐½á.
  885.       NULL      ìπ½Ñó«Ñ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩.
  886.  
  887.       BIGBUF    ÉẼÑα  íπΣÑαá  ñ½∩  ¿ß»«½∞º«óá¡¿∩ ó »«Γ«¬áσ
  888.                 óó«ñá/óδó«ñá »α¿ _okbigbuf==1.
  889.  
  890.  
  891. stdlib.h
  892.  
  893.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ ß½ÑñπεΘ¿σ Σπ¡¬µ¿⌐:
  894.  
  895.       abort        abs          atexit      atof       atoi
  896.       bsearch      calloc       div         exit       free
  897.       getenv       itoa         labs        atol       ldiv
  898.       malloc       qsort        rand        realloc    srand
  899.       strtod       strtol       strtoul     system
  900.  
  901.  
  902. string.h
  903.  
  904.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ «íαáí«Γ¬¿ ßΓ᫬:
  905.  
  906.       strcat      strchr      strcmp      strcmpl    strcpy
  907.       strcspn     strdup      strerror    strlen     strlwr
  908.       strncat     strncmp     strncpy     strnset    strpbrk
  909.       strrchr     strrev      strset      strspn     strstr
  910.       strtok      strupr      swab
  911.  
  912.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ αáí«Γδ ß »á¼∩Γ∞ε:
  913.  
  914.       memcpy          memcmp          memchr          memset
  915.  
  916.  
  917.  
  918. sys\stat.h
  919.  
  920.    Ä»αÑñѽ∩ÑΓ  Σ½áú¿,  ¿ß»«½∞ºπѼδÑ  »α¿ ß«ºñá¡¿¿ ¿ «Γ¬αδΓ¿¿
  921. Σá⌐½«ó. ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ ñ½∩ stat() ¿ fstat().
  922.  
  923.       S_IFCHR         S_IFDIR         S_IFMT         S_IFREG
  924.       S_IEXEC         S_IREAD         S_IWRITE
  925.  
  926.    stat.h  ¡Ñ ¼«ªÑΓ ó¬½ετáΓ∞ß∩ ó  C++  Σá⌐½δ,  stat.h  ú«ñÑ¡
  927. Γ«½∞¬« ñ½∩ C Σá⌐½«ó ¿º-ºá ¬«¡Σ½¿¬Γá ¿¼Ñ¡ ¼Ñªñπ struct stat ¿
  928. int stat().
  929.  
  930.  
  931.  
  932. time.h
  933.  
  934.    ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ αáí«Γδ ß« óαѼѡѼ.
  935.  
  936.       asctime     clock      ctime       difftime     gmtime
  937.       localtime   mktime     strftime    time
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.                                        üêüïêÄÆàùì¢à  öôìèûêê
  952.                                        ─────────────────────
  953.  
  954.  
  955.    Ä»¿ßá¡¿Ñ  ¬áªñ«⌐   í¿í½¿«ΓÑτ¡«⌐  Σπ¡¬µ¿¿  ¿¼ÑÑΓ  αáºñѽδ:
  956.  
  957.       ¿ß»«½∞º«óá¡¿Ñ
  958.       «»¿ßá¡¿Ñ
  959.       »α¿¼Ñα
  960.       ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
  961.       αѬ«¼Ñ¡ñᵿ∩,
  962.  
  963. «»¿ßá¡¡δÑ ¡¿ªÑ.
  964.  
  965.       ¿¼∩_Σπ¡¬µ¿¿
  966.  
  967.    èáªñá∩ í¿í½¿«ΓÑτ¡á∩  Σπ¡¬µ¿∩  ¡áτ¿¡áÑΓß∩ ß ¿¼Ñ¡¿ Σπ¡¬µ¿¿.
  968. èáªñ«Ñ  ¿¼∩  Σπ¡¬µ¿¿   »αÑñ¡áº¡áτÑ¡«   ñ½∩  ¿ß»«½∞º«óá¡¿∩  ó
  969. C-»α«úαἼѠ¿ ¼«ªÑΓ ó¬½ετáΓ∞ óÑñπΘ¿⌐ »«ñτÑα¬ (`_'),  ºáú½áó-
  970. ¡δÑ íπ¬óδ (`FP_OFF')  ¿ ß«ó¼ÑßΓ¡«Ñ  ¿ß»«½∞º«óá¡¿Ñ  αÑú¿ßΓα«ó
  971. (`getDS').  é᪡«  «Γ¼ÑΓ¿Γ∞,  τΓ«  ¿ß»«½∞º«óá¡¿Ñ  `printf' ¿
  972. `PRINTF' ¡Ñ φ¬ó¿óá½Ñ¡Γ¡«.
  973.  
  974.       êß»«½∞º«óá¡¿Ñ:
  975.  
  976.    é«-»Ñαóδσ, ó φΓ«¼ αáºñѽѠ߫ñÑনΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«-
  977. απ #include <filename.h>.  <filename.h> ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ Σá⌐-
  978. ½á ºáú«½«ó¬«ó, ß«ñÑαªáΘÑú« »α«Γ«Γ¿» Σπ¡¬µ¿¿. Åα«Γ«Γ¿» ß«ñÑα-
  979. ª¿Γ «»¿ßá¡¿Ñ Γ¿»á ó«ºóαáΘáѼ«ú«  º¡áτÑ¡¿∩ ¿ óσ«ñ¡δσ »áαá¼ÑΓ-
  980. α«ó. öá⌐½ ºáú«½«ó¬«ó ¼«ªÑΓ ΓᬪѠ ß«ñÑαªáΓ∞  «»¿ßá¡¿Ñ Γ¿»«ó,
  981. ßΓαπ¬Γπα ¿ ¬«¡ßΓá¡Γ, ¿ß»«½∞ºπѼδσ Σπ¡¬µ¿Ñ⌐.
  982.    Å«ß½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩ ß«ñÑαª¿Γ  «»¿ßá¡¿Ñ »α«Γ«Γ¿»á Σπ¡¬-
  983. µ¿¿ ó Γ«¼ ªÑ ó¿ñÑ, ¬á¬ «¡ «»αÑñѽѡ ó Σá⌐½Ñ ºáú«½«ó¬«ó. é«º-
  984. ¼«ª¡« «íΩ∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ »πΓѼ »α¿óÑñÑ¡¿∩ »α«Γ«Γ¿»á Σπ¡¬µ¿¿,
  985. ó¬½ετÑ¡¡«ú«  ó  φëàΣá⌐½,  ó¼ÑßΓ«  ¿ß»«½∞º«óá¡¿∩  ñ¿αÑ¬Γ¿óδ
  986. `#include'.
  987.    Å«ß¬«½∞¬π Σπ¡¬µ¿∩ ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ ñαπú¿Ñ Γ¿»δ ñá¡¡δσ,
  988. ó¬½ετÑ¡¡δÑ ó Σá⌐½ ºáú«½«ó¬«ó, ó¬½ετÑ¡¿Ñ φΓ«ú« Σá⌐½á «íÑß»Ñτ¿-
  989. óáÑΓ ¡Ñ«íσ«ñ¿¼δ⌐ ¬«¡Γα«½∞ «Φ¿í«¬, á ¡Ñ Γ«½∞¬« «íΩ∩ó½Ñ¡¿Ñ »α«-
  990. Γ«Γ¿»á Σπ¡¬µ¿¿.
  991.  
  992.       Ä»¿ßá¡¿Ñ:
  993.  
  994.    æ«ñÑαª¿Γ  ¿¡Σ«α¼áµ¿ε « ¡áº¡áτÑ¡¿¿  Σπ¡¬µ¿¿,  «»¿ßδóáÑΓ ÑÑ
  995. áαúπ¼Ñ¡Γδ ¿ ñαπú¿Ñ ñÑΓ὿ ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿¿.
  996.  
  997.       Åα¿¼Ñα:
  998.  
  999.    é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó  »α¿ó«ñ¿Γß∩  »«½¡«ßΓ∞ε  ºá¬«¡τÑ¡¡δ⌐
  1000. óδτ¿ß½¿Γѽ∞¡δ⌐ »α¿¼Ñα,  ¬«Γ«αδ⌐ ¼«ª¡«  óóÑßΓ¿  ¿  óδ»«½¡¿Γ∞.
  1001. èáªñδ⌐ »α¿¼Ñα ó¬½ετáÑΓ óßÑ ¡Ñ«íσ«ñ¿¼δÑ Σá⌐½δ ºáú«½«ó¬«ó, ¿ß-
  1002. »«½∞ºπѼδÑ  Σπ¡¬µ¿Ñ⌐.  é  í«½∞Φ¿¡ßΓóÑ  ß½πτáÑó  ¿ß»«½∞ºπÑΓß∩
  1003. ΓᬪѠstdio.h Σá⌐½. ¥Γ« «íπß½«ó½Ñ¡« ΓѼ, τΓ« printf ∩ó½∩ÑΓß∩
  1004. Σπ¡¬µ¿Ñ⌐ ß »ÑαѼѡ¡δ¼ τ¿ß½«¼  »áαá¼ÑΓα«ó,  ΓᬠτΓ« ó¬½ετÑ¡¿Ñ
  1005. stdio.h  Σá⌐½á,  ß«ñÑαªáΘÑú« »α«Γ«Γ¿» Σπ¡¬µ¿¿ printf, úáαá¡-
  1006. Γ¿απÑΓ »α«óÑñÑ¡¿Ñ ¡áñ½ÑªáΘÑú« ¬«¡Γα«½∩.
  1007.  
  1008.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1009.  
  1010.    æ»Ñµ¿Σ¿µ¿απÑΓ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐.  é« ¼¡«ú¿σ
  1011. ß½πτá∩σ ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¿¡Σ«α¼¿απÑΓ «í πß»ÑσÑ ¿½¿ ¡Ñπ-
  1012. ñáτÑ.  ò«Γ∩ ¡Ñ óßÑúñá ¡Ñ«íσ«ñ¿¼« ¬«¡Γα«½¿α«óáΓ∞ ó«ºóαáΘáѼ«Ñ
  1013. º¡áτÑ¡¿Ñ,  Γᬫ⌐ ¬«¡Γα«½∞ «Φ¿í«¬  »«¼«ªÑΓ úáαá¡Γ¿α«óáΓ∞ ¡áñ-
  1014. ½ÑªáΘÑÑ ¿ß»«½¡Ñ¡¿Ñ éáΦÑ⌐ »α«úαá¼¼δ.
  1015.  
  1016.       ÉѬ«¼Ñ¡ñᵿ∩:
  1017.  
  1018.    ÄΓßδ½áÑΓ ¬ ñαπú¿¼  á¡á½«ú¿τ¡δ¼  ¿½¿ óß»«¼«úáΓѽ∞¡δ¼ Σπ¡¬-
  1019. µ¿∩¼.
  1020.  
  1021.  
  1022.  
  1023. abort                       æüÉÄæêÆ£ é¢ÅÄïìàìêà ÅÉÄâÉÇîî¢
  1024.  
  1025.       êß»«½∞º«óá¡¿Ñ:
  1026.  
  1027.          #include <stdlib.h>
  1028.          void abort (void);                       /* ANSI */
  1029.  
  1030.       Ä»¿ßá¡¿Ñ:
  1031.  
  1032.          ÅαѬαáΘáÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑ⌐ »α«úαá¼¼δ. Ç¡á½«ú¿τ¡á
  1033.          ó맮óπ Σπ¡¬µ¿¿ _exit ß ¡Ñ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼ ßΓáΓπßá.
  1034.  
  1035.       Åα¿¼Ñα:
  1036.  
  1037.          #include <stdio.h>
  1038.          #include <stdlib.h>
  1039.          main ()
  1040.          {
  1041.            FILE * fp;
  1042.            fp=fopen("file.dat", "r");
  1043.            if (fp==NULL)
  1044.              {
  1045.                fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ file.dat\n");
  1046.                abort();
  1047.              }
  1048.            printf("öá⌐½ «Γ¬αδΓ\n");
  1049.          }
  1050.  
  1051.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1052.  
  1053.          ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  1054.  
  1055.       ÉѬ«¼Ñ¡ñᵿ∩:
  1056.  
  1057.          æ¼«Γα¿ΓÑ ΓᬪѠexit, _exit, raise
  1058.  
  1059.  
  1060. abs                          ÇüæÄï₧ÆìÄà çìÇùàìêà ûàïÄâÄ
  1061.  
  1062.       êß»«½∞º«óá¡¿Ñ:
  1063.  
  1064.          #include <stdlib.h>
  1065.          int abs(int i);                          /* ANSI */
  1066.  
  1067.       Ä»¿ßá¡¿Ñ:
  1068.  
  1069.          éδτ¿ß½∩ÑΓ  áíß«½εΓ¡«Ñ  º¡áτÑ¡¿Ñ  µÑ½«ú«  áαúπ¼Ñ¡Γá.
  1070.  
  1071.       Åα¿¼Ñα:
  1072.  
  1073.          #include <stdlib.h>
  1074.          #include <stdio.h>
  1075.          main ()
  1076.          {
  1077.            int numbr, absval;
  1078.            numbr = -3;
  1079.            absval= abs(numbr);
  1080.            printf("abs «Γ (%d) αáó¡« %d\n",
  1081.                      numbr,absval);
  1082.          }
  1083.  
  1084.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1085.  
  1086.          é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ µÑ½«ú« áαúπ¼Ñ¡Γá.
  1087.  
  1088.       ÉѬ«¼Ñ¡ñᵿ∩:
  1089.  
  1090.          æ¼«Γα¿ΓÑ labs.
  1091.  
  1092.  
  1093.  
  1094. acos                               ÇÉèèÄæêìôæ
  1095.  
  1096.       êß»«½∞º«óá¡¿Ñ:
  1097.  
  1098.          #include <math.h>
  1099.          double acos(double x);
  1100.  
  1101.       Ä»¿ßá¡¿Ñ:
  1102.  
  1103.      éδτ¿ß½∩ÑΓ arccos (x) ó ñ¿á»áº«¡Ñ [0, »¿].  Çαúπ¼Ñ¡Γ
  1104.          x ñ«½ªÑ¡ íδΓ∞ ó ñ¿á»áº«¡Ñ [-1, 1].
  1105.  
  1106.       Åα¿¼Ñα:
  1107.  
  1108.          #include <math.h>
  1109.          #include <stdio.h>
  1110.          main ()
  1111.          {
  1112.            double x, y;
  1113.            x = .94;
  1114.            y = acos(x);
  1115.            printf("Çᬬ«ß¿¡πß «Γ %f αáóÑ¡ %f\n",x,y);
  1116.          }
  1117.  
  1118.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1119.  
  1120.          é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ  arccos  «Γ óσ«ñ¡«ú« áαúπ¼Ñ¡Γá.
  1121.          àß½¿ óѽ¿τ¿¡á x ¼Ñ¡∞ΦÑ -1 ¿½¿ í«½∞ΦÑ 1,  πßΓá¡áó½¿-
  1122.          óáÑΓ Ñrrno ó EDOM,  ó stderr »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ «í
  1123.          «Φ¿í¬Ñ DOMAIN  ¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0.  Äíαáí«Γ¬π
  1124.          «Φ¿í¬¿  ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞  »«ßαÑñßΓó«¼  Σπ¡¬µ¿¿
  1125.          matherr.
  1126.  
  1127.       ÉѬ«¼Ñ¡ñᵿ∩:
  1128.  
  1129.          æ¼«Γα¿ΓÑ ΓᬪѠasin, atan, atan2.
  1130.  
  1131.  
  1132.  
  1133. asctime                                           äÇÆ£ éÉàîƒ
  1134.  
  1135.       êß»«½∞º«óá¡¿Ñ:
  1136.  
  1137.         #include <time.h>
  1138.         char * asctime(struct tm * ntime);        /* ANSI */
  1139.  
  1140.      Ä»¿ßá¡¿Ñ:
  1141.  
  1142.         ÅαÑ«íαáºπÑΓ   áαúπ¼Ñ¡Γ,   ∩ó½∩εΘ¿⌐ß∩  π¬áºáΓѽѼ  ¡á
  1143.         ßΓαπ¬Γπαπ tm, ó ASCII ßΓα«¬π ¿º 26 ½¿ΓÑα, ó¬½ετá∩ ºá-
  1144.         óÑαΦáεΘ¿⌐ 0:
  1145.  
  1146.            DDD MMM dd hh:mm:ss YYYY\n\0
  1147.  
  1148.         úñÑ:
  1149.  
  1150.            DDD       -  ñÑ¡∞ ¡Ññѽ¿
  1151.            MMM       -  ¼Ñß∩µ
  1152.            dd        -  ñÑ¡∞ ¼Ñß∩µá
  1153.            hh:mm:ss  -  τáßδ:¼¿¡πΓδ:ßѬπ¡ñδ
  1154.            YYYY      -  ú«ñ
  1155.  
  1156.         ç¡áτÑ¡¿Ñ  ntime  ¼«ªÑΓ  íδΓ∞  »«½πτÑ¡«  «íαáΘÑ¡¿Ñ¼ ¬
  1157.         localtime(), ó«ºóαáΘáεΘÑ⌐ π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ tm,
  1158.         «»αÑñѽѡ¡πε ó time.h.
  1159.  
  1160.      Åα¿¼Ñα:
  1161.  
  1162.         #include <time.h>
  1163.         #include <stdio.h>
  1164.         main ()
  1165.         {
  1166.           time_t  tclock;
  1167.           time(& tclock);
  1168.           printf("ÆÑ¬πΘ¿Ñ ñáΓá ¿ óαѼ∩: %s\n",
  1169.              asctime(localtime(& tclock)));
  1170.         }
  1171.  
  1172.      é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1173.  
  1174.         é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓα«¬π ½¿ΓÑα, ß«ñÑαªáΘπε ñáΓπ
  1175.         ¿ óαѼ∩.  æΓα«¬á ¿¼ÑÑΓ ßΓáΓ¿τÑ߬¿⌐ ¬½áßß ¿ »ÑαѺỿßδ-
  1176.         óáÑΓß∩ »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ asctime.
  1177.  
  1178.      ÉѬ«¼Ñ¡ñᵿ∩:
  1179.  
  1180.         æ¼«Γα¿ΓÑ ΓᬪѠclock, ctime, difftime, localtime.
  1181.  
  1182.  
  1183. asin                                                ÇÉèæêìôæ
  1184.  
  1185.       êß»«½∞º«óá¡¿Ñ:
  1186.  
  1187.          #include <math.h>
  1188.          double asin(double x);                   /* ANSI */
  1189.  
  1190.       Ä»¿ßá¡¿Ñ:
  1191.  
  1192.          éδτ¿ß½∩ÑΓ    º¡áτÑ¡¿Ñ   arcsin(x)    ó    ñ¿á»áº«¡Ñ
  1193.          [-»¿/2, »¿/2].  ç¡áτÑ¡¿Ñ  áαúπ¼Ñ¡Γá x ñ«½ª¡« íδΓ∞ ó
  1194.          ñ¿á»áº«¡Ñ [-1, 1].
  1195.  
  1196.       Åα¿¼Ñα:
  1197.  
  1198.          #include <math.h>
  1199.          #include <stdio.h>
  1200.          main ()
  1201.          {
  1202.            double x, y;
  1203.            x = .94;
  1204.            y = asin(x);
  1205.            printf("Çα¬ß¿¡πß «Γ %f αáóÑ¡ %f\n", x, y);
  1206.          }
  1207.  
  1208.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1209.  
  1210.          é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ  arcsin  «Γ óσ«ñ¡«ú« áαúπ¼Ñ¡Γá.
  1211.          àß½¿ º¡áτÑ¡¿Ñ ¼Ñ¡∞ΦÑ -1 ¿½¿ í«½∞ΦÑ 1, πßΓá¡áó½¿óáÑΓ
  1212.          errno ó EDOM, »ÑτáΓáÑΓ DOMAIN ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ó
  1213.          stderr ¿ ó«ºóαáΘáÑΓ 0. Äíαáí«Γ¬π «Φ¿í¬¿ ¼«ª¡« ¼«ñ¿-
  1214.          Σ¿µ¿α«óáΓ∞ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ matherr.
  1215.  
  1216.       ÉѬ«¼Ñ¡ñᵿ∩:
  1217.  
  1218.          æ¼«Γα¿ΓÑ ΓᬪѠatan, atan2, acos.
  1219.  
  1220.  
  1221.  
  1222. assert                                 ÅÉÄéàÉêÆ£ ôÆéàÉåäàìêà
  1223.  
  1224.       êß»«½∞º«óá¡¿Ñ:
  1225.  
  1226.          #include <assert.h>
  1227.          void assert(expression);                 /* ANSI */
  1228.  
  1229.       Ä»¿ßá¡¿Ñ:
  1230.  
  1231.          îá¬α«ß assert  oßπΘÑßΓó½∩ÑΓ  ó¡πΓαÑ¡¡¿⌐  ¬«¡Γα«½∞ ó
  1232.          »α«úαá¼¼Ñ. Ä¡ »α«óÑα∩ÑΓ áαúπ¼Ñ¡Γ expression (óδαáªÑ-
  1233.          ¡¿∩) ¿ ó ß½πτáÑ,  Ñß½¿ «¡« αáó¡« 0 (Γ. Ñ. ½«ª¡«), Γ«
  1234.          »αѬαáΘáÑΓ ¿ß»«½¡Ñ¡¿Ñ »α«úαá¼¼δ; »ÑαÑñ φΓ¿¼ »ÑτáΓáÑΓ
  1235.          ¡á ßΓá¡ñáαΓ¡«¼ πßΓα«⌐ßΓóÑ óδó«ñá «Φ¿í«¬ ß««íΘÑ¡¿Ñ:
  1236.  
  1237.      Assertion failure: 'expression' on line ?? in file '???'
  1238.    (ÄΦ¿í¬á πΓóÑαªñÑ¡¿∩: 'óδαáªÑ¡¿Ñ' ó ßΓα«¬Ñ ?? ó Σá⌐½Ñ '???')
  1239.  
  1240.       Åα¿¼Ñα:
  1241.  
  1242.          #include <assert.h>
  1243.          #include <stdio.h>
  1244.          char * string= "";               /* »πßΓá∩ ßΓ᫬á*/
  1245.          int value=1;
  1246.          main ()
  1247.          {
  1248.            assert(value>0);
  1249.            printf("Åα«Φ½¿ assert(value>0)\n");
  1250.            assert(*string != '0');
  1251.          }
  1252.  
  1253.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1254.  
  1255.          ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  1256.  
  1257.  
  1258.  
  1259. atan, atan2                                       ÇÉèÆÇìâàìæ
  1260.  
  1261.       êß»«½∞º«óá¡¿Ñ:
  1262.  
  1263.          #include <math.h>
  1264.          double atan(double x);                   /* ANSI */
  1265.          double atan2(double x, double y);        /* ANSI */
  1266.  
  1267.       Ä»¿ßá¡¿Ñ:
  1268.  
  1269.          atan   óδτ¿ß½∩ÑΓ   º¡áτÑ¡¿Ñ  arctg(x)  ó  ñ¿á»áº«¡Ñ
  1270.          [-»¿/2, »¿/2].  atan2 óδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ arctg(y/x)
  1271.          ó ñ¿á»áº«¡Ñ [-»¿, »¿].  atan2 ¿ß»«½∞ºπÑΓ º¡á¬¿ x, y
  1272.          ñ½∩ «»αÑñѽѡ¿∩  ¬óáñαá¡Γá,  ¬ ¬«Γ«α«¼π »α¿¡áñ½Ñª¿Γ
  1273.          αѺπ½∞ΓáΓ.
  1274.  
  1275.       Åα¿¼Ñα:
  1276.  
  1277.          #include <math.h>
  1278.          #include <stdio.h>
  1279.          main ()
  1280.          {
  1281.            double x, y;
  1282.            x = 1.0;
  1283.            y = atan(x);
  1284.            printf("Çα¬Γá¡úѡߠ«Γ %f αáóÑ¡ %f\n", x, y);
  1285.          }
  1286.  
  1287.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1288.  
  1289.       ÄíÑ  Σπ¡¬µ¿¿  ó«ºóαáΘáεΓ  º¡áτÑ¡¿Ñ  arctg  «Γ óσ«ñ¡«ú«
  1290.       áαúπ¼Ñ¡Γá (áαúπ¼Ñ¡Γ«ó).  àß½¿ x ¿ y «íá 0, atan2 πßΓá-
  1291.       ¡áó½¿óáÑΓ errno ó EDOM,  »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ DOMAIN  «í
  1292.       «Φ¿í¬Ñ ó stderr ¿ ó«ºóαáΘáÑΓ 0. Äíαáí«Γ¬π «Φ¿í¬¿ ¼«ª¡«
  1293.       ¼«ñ¿Σ¿µ¿α«óáΓ∞ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ matherr.
  1294.  
  1295.       ÉѬ«¼Ñ¡ñᵿ∩:
  1296.  
  1297.          æ¼«Γα¿ΓÑ ΓᬪѠacos, asin.
  1298.  
  1299.  
  1300.  
  1301. atof, atoi, atol                   ÅÉàÄüÉÇçÄéÇÆ£ é ÅïÇéÇ₧Öàà
  1302.                                    ÅÉàÄüÉÇçÄéÇÆ£ é ûàïÄà
  1303.                                    ÅÉàÄüÉÇçÄéÇÆ£ é äïêììÄà
  1304.       êß»«½∞º«óá¡¿Ñ:
  1305.  
  1306.          #include <stdlib.h>
  1307.          double atof(char* nptr)                  /* ANSI */
  1308.          int atoi(char *nptr)                     /* ANSI */
  1309.          long atol(char *nptr)                    /* ANSI */
  1310.  
  1311.       Ä»¿ßá¡¿Ñ:
  1312.  
  1313.          ÅαÑ«íαáºπÑΓ ßΓ᫬𠻫 π¬áºáΓѽε nptr ó µÑ½«Ñ (atoi),
  1314.          πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿ (atof) ¿½¿ ñ½¿¡¡«Ñ (atol) º¡áτÑ-
  1315.          ¡¿Ñ.  æΓα«¬á ¼«ªÑΓ ¿¼ÑΓ∞  óÑñπΘ¿Ñ »α«íѽδ,  ß¿¼ó«½δ
  1316.          Γáíπ½∩µ¿¿, º¡á¬¿ + ¿½¿ -. ÅαÑ«íαẫóá¡¿Ñ ºá¬á¡τ¿óá-
  1317.          ÑΓß∩ ¡á »Ñαó«⌐ »«ñσ«ñ∩ΘÑ⌐ ½¿ΓÑαÑ. àß½¿ »Ñαóá∩ ªÑ ½¿-
  1318.          ΓÑαá ¡Ñ »«ñσ«ñ¿Γ, αѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ 0.
  1319.  
  1320.       Åα¿¼Ñα:
  1321.  
  1322.          #include <math.h>
  1323.          #include <stdio.h>
  1324.          #include <stdlib.h>
  1325.          main ()
  1326.          {
  1327.            printf("atof function=%e\n",   atof("123.5e15"));
  1328.            printf("atoi function=%d\n", atoi("153"));
  1329.            printf("atol function=%ld\n",atol("1234 string"));
  1330.          }
  1331.  
  1332.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1333.  
  1334.          é«ºóαáΘáεΓß∩ º¡áτÑ¡¿∩:  µÑ½«Ñ,  πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿,
  1335.          ñ½¿¡¡«Ñ, »«½πτáѼδÑ »αÑ«íαẫó᡿Ѽ ßΓ᫬¿. é«ºóαá-
  1336.          ΘáÑΓß∩ 0, Ñß½¿ ó« óσ«ñ¡«⌐ ßΓα«¬Ñ ¡ÑΓ »«ñσ«ñ∩Θ¿σ ½¿-
  1337.          ΓÑα.
  1338.  
  1339.       ÉѬ«¼Ñ¡ñᵿ∩:
  1340.  
  1341.          æ¼«Γα¿ΓÑ ΓᬪѠecvt, fcvt, strtod, strtol, scanf.
  1342.  
  1343.  
  1344. bdos, bdosx                              é¢çéÇÆ£ öôìèûê₧ DOS
  1345.  
  1346.       êß»«½∞º«óá¡¿Ñ:
  1347.  
  1348.          #include <bios.h>
  1349.          int bdos(int func, unsigned DX, unsigned AL);
  1350.          int bdosx(int func, char *ptr);
  1351.  
  1352.       Ä»¿ßá¡¿Ñ:
  1353.  
  1354.          éδºδóáεΓ Σπ¡¬µ¿ε MSDOS (»αÑαδóá¡¿Ñ 21h).  func ÑßΓ∞
  1355.          ¡«¼Ñα Σπ¡¬µ¿¿,  DX ¿ AL ∩ó½∩εΓß∩ º¡áτÑ¡¿∩¼¿, ºáúαπ-
  1356.          ªÑ¡¡δ¼¿ ó αÑú¿ßΓαδ  DX  ¿  AL »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿.
  1357.          bdosx «Γ½¿τáÑΓß∩ «Γ bdos ½¿Φ∞ ΓѼ τΓ« ó¼ÑßΓ« AL ¿ DX
  1358.          ó »áαπ αÑú¿ßΓα«ó DS:DX ºáúαπªáÑΓß∩ áαúπ¼Ñ¡Γ »« ptr.
  1359.  
  1360.       Åα¿¼Ñα:
  1361.  
  1362.          #include <bios.h>
  1363.          main ()
  1364.          {
  1365.            bdos(2, 'c')           /* óδßóÑΓ¿Γ∞ íπ¬óπ  c */
  1366.          }
  1367.  
  1368.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1369.  
  1370.          Å«ß½Ñ ó맮óá  ß¿ßΓÑ¼δ «íÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ º¡áτÑ-
  1371.          ¡¿Ñ ó αÑú¿ßΓαÑ AX.
  1372.  
  1373.       ÉѬ«¼Ñ¡ñᵿ∩:
  1374.  
  1375.          æ¼«Γα¿ΓÑ ΓᬪѠintdos, intdosx, int86, int86x.
  1376.  
  1377.  
  1378.  
  1379. bioskey, _bios_keybrd                   ÉÇüÄÆÇ æ èïÇéêÇÆôÉÄë
  1380.  
  1381.       êß»«½∞º«óá¡¿Ñ:
  1382.  
  1383.          #include <bios.h>
  1384.          int bioskey(int flag);
  1385.          int _bios_keybrd (int flag);
  1386.  
  1387.       Ä»¿ßá¡¿Ñ:
  1388.  
  1389.          Äíá ¿¼Ñ¡¿ «í«º¡áτáεΓ «ñ¡π Σπ¡¬µ¿ε. äóá »α«¿º¡«ΦÑ¡¿∩
  1390.          ¡πª¡δ  ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿  ß αáº¡δ¼¿  ¬«¼»¿½∩Γ«αἿ.
  1391.          bioskey  »ÑαÑñáÑΓ Σ½áú ñ½∩  BIOS_»αÑαδóá¡¿∩  0x14 -
  1392.          - »αÑαδóá¡¿Ñ «Γ ¬½áó¿áΓπαδ. ç¡áτÑ¡¿∩ flag:
  1393.  
  1394.             0 - τΓÑ¡¿Ñ º¡áτÑ¡¿∩ óó«ñá ß ¬½áó¿áΓπαδ ¿º íπΣÑαá
  1395.                 óó«ñá. åñÑΓ óó«ñá, Ñß½¿ íπΣÑα »πßΓ.
  1396.  
  1397.             1 - «»αÑñѽѡ¿Ñ ¡á½¿τ¿∩ º¡áτÑ¡¿⌐ ¡áªáΓδσ  ¬½áó¿Φ
  1398.                 ó íπΣÑαÑ óó«ñá «Γ ¬½áó¿áΓπαδ.
  1399.  
  1400.             2 - τΓÑ¡¿Ñ ß«ßΓ«∩¡¿∩ ¬½áó¿Φ Γ¿»á 'shift'.
  1401.  
  1402.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1403.  
  1404.          àß½¿ flag=0, Γ« ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ αáß-
  1405.          Φ¿αÑ¡¡δ¼ ¬«ñ«¼ ¬½áó¿Φ¿. ASCII ¬«ñ ¬½áó¿Φ¿ ¡áσ«ñ¿Γß∩
  1406.          »α¿ φΓ«¼ ó ¼½áñΦѼ íá⌐ΓÑ, á ß¬á¡-¬«ñ ÑÑ - ó ßΓáαΦѼ
  1407.          íá⌐ΓÑ.  àß½¿ ¼½áñΦ¿⌐ íá⌐Γ ¡π½Ñó«⌐,  Γ« φΓ« ¡Ñ ASCII
  1408.          ¬«ñ (φΓ« ¼«ªÑΓ íδΓ∞ ßΓαѽ¬á  ¿½¿ Σπ¡¬µ¿«¡á½∞¡á∩ ¬½á-
  1409.          ó¿Φá). àß½¿ flag=1, Γ« 0 ó«ºóαáΘáÑΓß∩ »α¿ «ΓßπΓßΓó¿¿
  1410.          óó«ñá «Γ ¬½áó¿áΓπαδ ó íπΣÑαÑ óó«ñá; ó »α«Γ¿ó¡«¼ ß½π-
  1411.          τáÑ ó«ºóαáΘáÑΓß∩ αáßΦ¿αÑ¡¡δ⌐ ¬«ñ ¬½áó¿Φ¿.  Åα¿ φΓ«¼,
  1412.          ¬«ñ ¬½áó¿Φ¿ «ßΓáÑΓß∩  ó íπΣÑαÑ óó«ñá  ¿ ÑΘÑ ñ«ßΓπ»Ñ¡
  1413.          ñ½∩ τΓÑ¡¿∩. àß½¿ flag=2, Γ« ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¿¡-
  1414.          Σ«α¼¿απÑΓ « ß«ßΓ«∩¡¿¿ 'shift' ¬½áó¿Φ:
  1415.  
  1416.             0x01 - ¡áªáΓá »αáóá∩ shift ¬½áó¿Φá
  1417.             0x02 - ¡áªáΓá ½Ñóá∩  shift ¬½áó¿Φá
  1418.             0x04 - ¡áªáΓá ¬½áó¿Φá Ctrl
  1419.             0x08 - ¡áªáΓá ¬½áó¿Φá Alt
  1420.             0x10 - ó¬½ετÑ¡  ¬½ετ Scrolllock
  1421.             0x20 - ó¬½ετÑ¡  ¬½ετ Numlock
  1422.             0x40 - ó¬½ετÑ¡  ¬½ετ Capslock
  1423.             0x80 - ó¬½ετÑ¡  ¬½ετ Ins
  1424.  
  1425.       Åα¿¼Ñα:
  1426.  
  1427.          #include <bios.h>
  1428.          #include <stdio.h>
  1429.          main ()
  1430.          {
  1431.            int key, shift;
  1432.            int lastshift = 0;
  1433.            while (1)
  1434.            {
  1435.              shift=bioskey(2);
  1436.              if(shift!=lastshift)
  1437.                             /* àß½¿ ¿º¼Ñ¡¿½ß∩ shift ßΓáΓπß*/
  1438.                printf("shift = 0x%02x\n", shift);
  1439.                                  /* àß½¿ ¬½áó¿Φá ¡áªáΓá*/
  1440.              if (bioskey(1))
  1441.              {                           /* ù¿ΓáѼ ¬½áó¿Φπ*/
  1442.                Key=bioskey(0);
  1443.                if ((Key & 0xFF)== 'q') break;
  1444.                printf("è½áó¿Φá = 0x%04x\n", Key);
  1445.              }
  1446.              lastshift=shift;
  1447.            }
  1448.          }
  1449.  
  1450.  
  1451. bsearch                             äéÄêùì¢ë ÅÄêæè é îÇææêéà
  1452.  
  1453.       êß»«½∞º«óá¡¿Ñ:
  1454.  
  1455.          #include <stdlib.h>
  1456.          void *bsearch(const void *key, const void *base,
  1457.                                   size_t num, size_t width,
  1458.             int(*cmp)(const void *elem1,const void *elem2));
  1459.                                                   /* ANSI */
  1460.  
  1461.       Ä»¿ßá¡¿Ñ:
  1462.  
  1463.          éδ»«½¡∩ÑΓ ñó«¿τ¡δ⌐ »«¿ß¬ ó π»«α∩ñ«τÑ¡¡«¼ ¼áßß¿óÑ ¿º
  1464.          num  φ½Ñ¼Ñ¡Γ«ó »« π¬áºáΓÑ½ε  base φ½Ñ¼Ñ¡Γá, αáó¡«ú«
  1465.          key.  èáªñδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá ¿¼ÑÑΓ αẼÑα width íá⌐-
  1466.          Γ«ó. Ç½ú«α¿Γ¼ »«¿ß¬á αÑ὿ºπÑΓ Σπ¡¬µ¿∩ *cmp, «»αÑñÑ-
  1467.          ½Ñ¡¡á∩ »«½∞º«óáΓѽѼ.  Ä¡á ñ«½ª¡á ¿ß»«½∞º«óáΓ∞  ñóá
  1468.          áαúπ¼Ñ¡Γá, ∩ó½∩εΘ¿σß∩ π¬áºáΓѽ∩¼¿ ¡á φ½Ñ¼Ñ¡Γδ, ¿ ó«-
  1469.          ºóαáΘáΓ∞ «ñ¡« ¿º º¡áτÑ¡¿⌐:
  1470.  
  1471.             <0 - elem1 ¼Ñ¡∞ΦÑ elem2
  1472.              0 - elem1 ß«ó»áñáÑΓ ß elem2
  1473.             >0 - elem1 í«½∞ΦÑ elem2
  1474.  
  1475.       Åα¿¼Ñα:
  1476.  
  1477.          #include <stdio.h>
  1478.          #include <stdlib.h>
  1479.          #include <string.h>
  1480.          #define SIZE(arr)(sizeof(arr)/sizeof(arr[0]))
  1481.          int array[]={1254,3427,1111,3901,6677,0101};
  1482.          int intcmp(int *p1, int *p2)
  1483.          {
  1484.            return(*p1 - *p2);
  1485.          }
  1486.          main()
  1487.          {
  1488.            int * pointer;
  1489.            int Key = 3901;
  1490.            pointer = (int *) bsearch(& Key, array,
  1491.                      SIZE(array), sizeof(int), intcmp);
  1492.            if(pointer)
  1493.            {
  1494.              printf("[ %d] ¿¼ÑÑΓß∩ ó ¼áßß¿óÑ\n", Key);
  1495.            }
  1496.            else
  1497.            {
  1498.              printf("[ %d] «ΓßπΓßΓóπÑΓ ó ¼áßß¿óÑ\n", Key);
  1499.            }
  1500.          }
  1501.  
  1502.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1503.  
  1504.          é«ºóαáΘáÑΓß∩  π¬áºáΓѽ∞ ¡á ß««ΓóÑΓßΓóπεΘ¿⌐  φ½Ñ¼Ñ¡Γ
  1505.          ¼áßß¿óá base ¿½¿ NULL, Ñß½¿ Γᬫó«⌐ ¡Ñ ¡á⌐ñÑ¡.
  1506.  
  1507.  
  1508. calloc                                           äÇÆ£ ÅÇîƒÆ£
  1509.  
  1510.       êß»«½∞º«óá¡¿Ñ:
  1511.  
  1512.          #include <stdlib.h>
  1513.          void * calloc(unsigned numelems, size_t sizelem);
  1514.                                                   /* ANSI */
  1515.       Ä»¿ßá¡¿Ñ:
  1516.  
  1517.          éδñѽ∩ÑΓ í½«¬ »á¼∩Γ¿ »«ñ numelems φ½Ñ¼Ñ¡Γ«ó ¿ αẼÑ-
  1518.          α«¼ sizelem íá⌐Γ«ó ¬áªñδ⌐. Åá¼∩Γ∞ «í¡π½∩ÑΓß∩ ¿ ó«ºó-
  1519.          αáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á ¡ÑÑ. é ß½πτáÑ «Φ¿í¬¿(¡á»α¿¼Ñα,
  1520.          ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿) ó«ºóαáΓ¿Γß∩ NULL. àß½¿ numelems
  1521.          ¿½¿ sizelem αáóÑ¡ 0,ó«ºóαáΘáÑΓß∩ NULL. ÉẼÑα ºá»αá-
  1522.          Φ¿óáѼ«⌐ »á¼∩Γ¿ ¡Ñ ñ«½ªÑ¡ »αÑóδΦáΓ∞ 64 èíá⌐Γá.
  1523.  
  1524.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1525.  
  1526.          é ß½πτáÑ πß»Ñσá  ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á óδñѽѡ-
  1527.          ¡πε »á¼∩Γ∞; ó »α«Γ¿ó¡«¼ ß½πτáÑ - NULL.
  1528.  
  1529.       ÉѬ«¼Ñ¡ñᵿ∩:
  1530.          æ¼«Γα¿ΓÑ ΓᬪѠfree,  malloc,  realloc,  farcalloc.
  1531.  
  1532.       Åα¿¼Ñα:
  1533.  
  1534.                              /* ¬«¼»¿½¿α«óáΓ∞ ó C ¿½¿ L ¼«ñѽ¿*/
  1535.       #include <stdlib.h>
  1536.       #include <stdio.h>
  1537.       #include <dos.h>
  1538.       #define num 50
  1539.       main()
  1540.       {
  1541.         long * buffer;
  1542.         unsigned int segment, offset;
  1543.         buffer = calloc(num, sizeof(long));
  1544.         if(! buffer)
  1545.            {
  1546.              fprint(stderr, "Calloc ¡Ñ ßαáí«Γá½á\n");
  1547.              abort();
  1548.            }
  1549.         segment = FP_SEG(buffer);
  1550.         offset = FP_OFF(buffer);
  1551.         printf("Åá¼∩Γ∞ αẼÑΘÑ¡á ó ßÑú¼Ñ¡ΓÑ
  1552.                 %x ß¼ÑΘÑ¡¿Ñ:   %x\n", segment, offset);
  1553.         free(buffer);
  1554.       }
  1555.  
  1556.  
  1557. ceil                         ûàïǃ éàÉò샃 âÉÇì£
  1558.  
  1559.       êß»«½∞º«óá¡¿Ñ:
  1560.  
  1561.          #include <math.h>
  1562.          double ceil(double x);                   /* ANSI */
  1563.  
  1564.       Ä»¿ßá¡¿Ñ:
  1565.  
  1566.          éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿, »αÑñßΓáó½∩ε-
  1567.          ΘÑÑ ¡á¿¼Ñ¡∞ΦÑÑ µÑ½«Ñ, ¬«Γ«α«Ñ í«½∞ΦÑ ¿½¿ αáó¡« x.
  1568.  
  1569.       Åα¿¼Ñα:
  1570.  
  1571.          #include <math.h>
  1572.          #include <stdio.h>
  1573.          main()
  1574.          {
  1575.            double x = 5.3, result;
  1576.            result = ceil(x);
  1577.            printf("The ceil of %f is %f \n", x, result);
  1578.          }
  1579.  
  1580.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1581.  
  1582.          é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿, αáó¡«Ñ ¡á¿-
  1583.          ¼Ñ¡∞ΦѼπ µÑ½«¼π, »αÑóδΦáεΘѼπ x.
  1584.  
  1585.       ÉѬ«¼Ñ¡ñᵿ∩:
  1586.  
  1587.          æ¼«Γα¿ΓÑ ΓᬪѠfloor, fmod.
  1588.  
  1589.  
  1590. chdir                           æîàìêÆ£ ÆàèôÖêë èÇÆÇïÄâ
  1591.  
  1592.       êß»«½∞º«óá¡¿Ñ:
  1593.  
  1594.          #include <direct.h>
  1595.          int chdir(char * path);
  1596.  
  1597.       Ä»¿ßá¡¿Ñ:
  1598.  
  1599.          ¥Γ« ß¿ßΓѼ¡δ⌐ ó맮ó, ¬«Γ«αδ⌐ ñѽáÑΓ ΓѬπΘ¿¼ ¬áΓὫú
  1600.          (directory) »« ß»Ñµ¿Σ¿µ¿α«óá¡¡«¼π áαúπ¼Ñ¡Γ«¼  ¼áαΦ-
  1601.          απΓπ (path). Å«ß½Ññ¡¿⌐ ñ«½ªÑ¡ »α¿ó«ñ¿Γ∞ ¬ ßπΘÑßΓóπ-
  1602.          εΘѼπ ¬áΓὫúπ.
  1603.  
  1604.       Åα¿¼Ñα:
  1605.  
  1606.          #include <direct.h>
  1607.          #include <stdio.h>
  1608.          char * path = "\\temp";
  1609.          main()
  1610.          {
  1611.            int result;
  1612.            result = chdir(path);
  1613.            if(result != 0)
  1614.               printf("ìÑ ¼«úπ »ÑαÑ⌐Γ¿ ¬ ¬áΓὫúπ %s\n",
  1615.                       path);
  1616.            else
  1617.               printf("ÆÑ¬πΘ¿¼ ßΓá½ ¬áΓὫú %s\n", path);
  1618.          }
  1619.  
  1620.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1621.  
  1622.          é«ºóαáΘáÑΓß∩  0  ó ß½πτáÑ  πß»Ñσá  ¿ -1 ó »α«Γ¿ó¡«¼
  1623.          ß½πτáÑ ß πßΓá¡«ó½Ñ¡¿Ñ¼ errno.
  1624.  
  1625.       ÉѬ«¼Ñ¡ñᵿ∩:
  1626.          æ¼«Γα¿ΓÑ ΓᬪѠmKdir, rmdir.
  1627.  
  1628.  
  1629. _chkstack                                     ÅÉÄéàÉêÆ£ æÆàè
  1630.  
  1631.       êß»«½∞º«óá¡¿Ñ:
  1632.  
  1633.          #include <stddef.h>
  1634.          size_t _chkstack(void);
  1635.  
  1636.       Ä»¿ßá¡¿Ñ:
  1637.  
  1638.          Ä»αÑñѽ∩ÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá, »αѬαáΘáÑΓ »α«úαá¼¼π
  1639.          ß ß««íΘÑ¡¿Ñ¼ «í φΓ«¼. ¥Γá Σπ¡¬µ¿∩ ¼«ú½á íδ óδºδóáΓ∞-
  1640.          ß∩ ¿º αѬπαß¿ó¡δσ ¿ »α«τ¿σ Σπ¡¬µ¿⌐,  ¬«Γ«αδÑ ¿ß»«½∞-
  1641.          ºπεΓ í«½∞Φπε τáßΓ∞ ßΓѬá. è«¡Γα«½∞ »ÑαÑ»«½¡Ñ¡¿∩ ßΓÑ-
  1642.          ¬á ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿ πßΓá¡«ó¬«⌐ ¬½ετá
  1643.          -s ñ½∩ ZTC2.
  1644.  
  1645.       Åα¿¼Ñα:
  1646.                            /* do_tree - αѬπαß¿ó¡á∩ Σπ¡¬µ¿∩ */
  1647.          do_tree(t)
  1648.          struct tree * t;
  1649.          {
  1650.          #ifdef _ZTC_     /* «»αÑñѽѡ, Ñß½¿ Zortech C\C++ */
  1651.           _chkstack();
  1652.          #endif
  1653.               .
  1654.               .
  1655.               do_tree(t ─> left);
  1656.               do_tree(t ─> right);
  1657.          }
  1658.  
  1659.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1660.  
  1661.          é«ºóαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ«ó, «ßΓáóΦ¿σß∩ ó ßΓÑ-
  1662.          ¬Ñ,  Ñß½¿ ßΓѬ ÑΘÑ ¡Ñ »ÑαÑ»«½¡Ñ¡.
  1663.  
  1664. clearerr                               æüÉÄæêÆ£  öïÇâ Äÿêüèê
  1665.  
  1666.       êß»«½∞º«óá¡¿Ñ:
  1667.  
  1668.          #include <stdio.h>
  1669.          void clearerr(FILE * fp);               /* ANSI */
  1670.  
  1671.       Ä»¿ßá¡¿Ñ:
  1672.          æíαáßδóáÑΓ  «Φ¿í¬π  ¿  Σ½áú EOF,  ßó∩ºá¡¡δÑ ß »«Γ«-
  1673.          ¬«¼ fp.
  1674.  
  1675.        Åα¿¼Ñα:
  1676.           #include <stdio.h>
  1677.           main()
  1678.           {
  1679.             FILE *stream;
  1680.             char * string = "»α¿¼Ñα ñá¡¡δσ";
  1681.             stream = fopen("file.dat", "r");
  1682.             fprintf(stream, "%s\n", string);
  1683.             if(ferror(stream))
  1684.               {
  1685.                 fprintf(stderr,"ÄΦ¿í¬á ºá»¿ß¿ ó file.dat\n");
  1686.                 clearerr(stream);
  1687.               }
  1688.            printf"Åα¿ ºá»¿ß¿ ó Σá⌐½ «Φ¿í«¬ ¡Ñ í佫\n");
  1689.            fclose(stream);
  1690.          }
  1691.  
  1692.        é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1693.  
  1694.           ìÑΓ.
  1695.  
  1696.        ÉѬ«¼Ñ¡ñᵿ∩:
  1697.  
  1698.           æ¼«Γα¿ΓÑ ΓᬪѠfeof, ferror.
  1699.  
  1700.  
  1701. clock                          ÄÅÉàäàïêÆ£ ÅÉÄûàææÄÉìÄà éÉàîƒ
  1702.  
  1703.       êß»«½∞º«óá¡¿Ñ:
  1704.  
  1705.          #include <time.h>
  1706.          clock_t clock(void);                     /* ANSI */
  1707.  
  1708.       Ä»¿ßá¡¿Ñ:
  1709.  
  1710.          Ä»αÑñѽ∩ÑΓ  »α«µÑßß«α¡«Ñ óαѼ∩,  ¿ß»«½∞º«óá¡¡«Ñ óδ-
  1711.          ºδóáεΘ¿¼ »α«µÑßß«¼ ó ¼«¼Ñ¡Γ «íαáΘÑ¡¿∩ ¬ clock.  IBM
  1712.          PC ¿¼ÑÑΓ ñ¿ß¬αÑΓ¡«ßΓ∞  1/18 ßѬ.  äαπú¿Ñ ¬«¼»∞εΓÑαδ
  1713.          »«ñ π»αáó½Ñ¡¿Ñ¼  MS DOS ¿¼ÑεΓ ñ¿ß¬αÑΓ¡«ßΓ∞  ó 1 ßѬ,
  1714.          σ«Γ∩ ó«ºóαáΘáѼ«Ñ ó ¬áτÑßΓóÑ αѺπ½∞ΓáΓá óαѼ∩ óδαá-
  1715.          ªáÑΓß∩ ó ß«Γδσ ñ«½∩σ ßѬπ¡ñδ.
  1716.  
  1717.       Åα¿¼Ñα:
  1718.  
  1719.          #include <stdio.h>
  1720.          #include <time.h>
  1721.          main()
  1722.          {
  1723.            clock_t process;
  1724.            process = clock()/CLK_TCK;
  1725.            printf("Åα«µÑßß«α¡«Ñ óαѼ∩ ó ßѬπ¡ñáσ =%d\n",
  1726.                    process);
  1727.          }
  1728.  
  1729.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1730.  
  1731.          é«ºóαáΘáÑΓ  óαѼ∩,  á»α«¬ß¿¼¿απεΘÑÑ  ¿ß»«½∞º«óá¡¡«Ñ
  1732.          óδºδóáεΘÑ⌐ »α«úαá¼¼«⌐ »α«µÑßß«α¡«Ñ óαѼ∩. äѽ∩ ó«º-
  1733.          óαáΘáѼ«Ñ clock() º¡áτÑ¡¿Ñ ¡á óѽ¿τ¿¡π,  «»αÑñѽ∩Ñ-
  1734.          ¼πε ¼á¬α«ß«¼ CLK_TCK, »«½πτ¿ΓÑ óαѼ∩ ó ßѬπ¡ñáσ.
  1735.  
  1736.       ÉѬ«¼Ñ¡ñᵿ∩:
  1737.  
  1738.          æ¼«Γα¿ΓÑ ΓᬪѠasctime, ctime, difftime, localtime.
  1739.  
  1740.  
  1741. close                                           çÇèɢƣ öÇëï
  1742.  
  1743.       êß»«½∞º«óá¡¿Ñ:
  1744.  
  1745.          #include <io.h>
  1746.          int close(int fd);
  1747.  
  1748.       Ä»¿ßá¡¿Ñ:
  1749.  
  1750.          çá¬αδóáÑΓ Σá⌐½,  áßß«µ¿¿α«óá¡¡δ⌐ ß ñÑß¬α¿»Γ«α«¼ fd.
  1751.  
  1752.       Åα¿¼Ñα:
  1753.  
  1754.          #include <io.h>
  1755.          #include <dos.h>
  1756.          #include <stdio.h>
  1757.          main()
  1758.          {
  1759.            int fd, result;
  1760.            fd = open("CON", O_RDONLY);
  1761.            if(fd<0)
  1762.              {
  1763.                fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ CON\n");
  1764.                abort();
  1765.              }
  1766.            result = close(fd);
  1767.            printf("ÉѺπ½∞ΓáΓ «Γ close %d\n", result);
  1768.          }
  1769.  
  1770.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1771.  
  1772.          é«ºóαáΘáÑΓ  0  ó  ß½πτáÑ  πß»Ñσá  ¿ -1 ß πßΓá¡«ó¬«⌐
  1773.          errno ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  1774.  
  1775.       ÉѬ«¼Ñ¡ñᵿ∩:
  1776.  
  1777.          æ¼«Γα¿ΓÑ ΓᬪѠopen, unlink.
  1778.  
  1779.  
  1780. cos, cosh                   èÄæêìôæ, èÄæêìôæ âêÅàÉüÄïêùàæèêë
  1781.  
  1782.       êß»«½∞º«óá¡¿Ñ:
  1783.  
  1784.          #include <math.h>
  1785.          double cos(double x);                    /* ANSI */
  1786.          double cosh(double x);                   /* ANSI */
  1787.  
  1788.       Ä»¿ßá¡¿Ñ:
  1789.  
  1790.          é«ºóαáΘáεΓ º¡áτÑ¡¿Ñ ¬«ß¿¡πßá (cos) ¿½¿ ú¿»Ñαí«½¿τÑ-
  1791.          ß¬«ú« ¬«ß¿¡πßá (cosh) «Γ x, úñÑ x - ó αáñ¿á¡áσ.
  1792.  
  1793.       Åα¿¼Ñα:
  1794.  
  1795.          #include <math.h>
  1796.          #include <stdio.h>
  1797.          main()
  1798.          {
  1799.            double value = 2.5556, result, hycos;
  1800.            result = cos(value);
  1801.            printf("The cosine of %f is %f\n", value, result);
  1802.            hycos = cosh(value);
  1803.            printf("The hyperbolic cosine of %f is %f\n",
  1804.                   value, hycos);
  1805.          }
  1806.  
  1807.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1808.  
  1809.          é«ºóαáΘáεΓß∩ º¡áτÑ¡¿∩ cos(x) ¿½¿ ch(x) ß««ΓóÑΓßΓóÑ-
  1810.          ¡¡«. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓß∩ 0.
  1811.  
  1812.  
  1813. creat                                          æÄçäÇÆ£  öÇëï
  1814.  
  1815.       êß»«½∞º«óá¡¿Ñ:
  1816.  
  1817.          #include <io.h>
  1818.          #include <sys\stat.h>
  1819.          int creat(char * name, int pmode);
  1820.  
  1821.       Ä»¿ßá¡¿Ñ:
  1822.  
  1823.          æ¿ßΓѼ¡δ⌐ ó맮ó  creat()  ½¿í« ß«ºñáÑΓ  ¡«óδ⌐ Σá⌐½,
  1824.          ½¿í« «Γ¬αδóáÑΓ ¿ τ¿ßΓ¿Γ ßπΘÑßΓóπεΘ¿⌐.  Pmode ºáñáÑΓ
  1825.          αѪ¿¼δ τΓÑ¡¿∩-ºá»¿ß¿ Σá⌐½á ó ñá½∞¡Ñ⌐ΦѼ, »«ß½Ñ »Ñα-
  1826.          ó«ú« ºá¬αδΓ¿∩.  Pmode  »α¿¡¿¼áÑΓ  «ñ¡« (¿½¿ «íá) ¿º
  1827.          ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐, «»αÑñѽѡ¡δσ  ó stat.h :
  1828.  
  1829.       #define S_IREAD  0000400  /* read permission, owner */
  1830.  
  1831.       #define S_IWRITE 0000200 /* write permission, owner */
  1832.  
  1833.          è«úñá ΓαÑíπεΓß∩ «íÑ ¬«¡ßΓá¡Γδ, ¿σ ß½ÑñπÑΓ ß«Ññ¿¡¿Γ∞
  1834.          ½«ú¿τÑ߬«⌐  «»ÑαᵿÑ⌐  (¿½¿)  OR.  Å«ñ  π»αáó½Ñ¡¿Ñ¼
  1835.          MS DOS  ¡ÑΓ  ó«º¼«ª¡«ßΓ¿  ñáΓ∞ αáºαÑΦÑ¡¿Ñ Γ«½∞¬« ¡á
  1836.          ºá»¿ß∞.  é ¡áßΓ«∩ΘÑÑ óαѼ∩ º¡áτÑ¡¿Ñ pmode ¿ú¡«α¿απ-
  1837.          ÑΓß∩.
  1838.  
  1839.       Åα¿¼Ñα:
  1840.  
  1841.          #include <io.h>
  1842.          #include <sys\stat.h>
  1843.          main()
  1844.          {
  1845.            int fp;
  1846.            fp = creat("file.dat",S_READ|S_WRITE);
  1847.            IF(FP==-1)
  1848.               printf("ìÑ ¼«úπ ß«ºñáΓ∞ (creat) file.dat\n");
  1849.          }
  1850.  
  1851.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1852.  
  1853.          àß½¿ ó«º¡¿¬áÑΓ «Φ¿í¬á, ó«ºóαáΘáÑΓß∩ -1 ¿ πßΓá¡áó½¿-
  1854.          óáÑΓß∩ errno ó «ñ¡« ¿º º¡áτÑ¡¿⌐:
  1855.  
  1856.             ENOENT - ìÑΓ Γᬫú« Σá⌐½á ¿½¿ ¬áΓὫúá.
  1857.  
  1858.             EMFILE - æ½¿Φ¬«¼ ¼¡«ú« «Γ¬αδΓδσ Σá⌐½«ó.
  1859.  
  1860.             EACCES - ÉáºαÑΦÑ¡¿Ñ ¡Ñ óδñá¡«.
  1861.  
  1862.          Ç¡á½«ú¿τ¡« ¿ß»«½∞ºπÑ¼δ¼ ó  chdir(),  close() ¿ Γ.ñ.
  1863.          àß½¿ Σá⌐½ ß«ºñá¡, creat ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α π»αáó-
  1864.          ½Ñ¡¿∩ Σá⌐½«¼ ó MS DOS.
  1865.  
  1866.       ÉѬ«¼Ñ¡ñᵿ∩:
  1867.  
  1868.          æ¼«Γα¿ΓÑ ΓᬪѠdos_creat, close, fopen, open.
  1869.  
  1870.  
  1871. ctime                                äÇÆ£  èÇïàìäÇÉìÄà éÉàîƒ
  1872.  
  1873.       êß»«½∞º«óá¡¿Ñ:
  1874.  
  1875.          #include <time.h>
  1876.          char *ctime(time_t *ntime);              /* ANSI */
  1877.  
  1878.       Ä»¿ßá¡¿Ñ:
  1879.  
  1880.          ÅαÑ«íαáºπÑΓ  ¬á½Ñ¡ñáα¡πε  ñáΓπ  ¿  óαѼ∩,  ºáñá¡¡πε
  1881.          ntime, ¬« óαѼѡ¿ ó Σ«α¼Ñ ASCII ßΓ᫬¿ ½¿ΓÑα.
  1882.  
  1883.       Åα¿¼Ñα:
  1884.  
  1885.          #include <time.h>
  1886.          #include <stdio.h>
  1887.          time_t ntime;
  1888.          main()
  1889.          {
  1890.            time(&ntime);
  1891.            printf("ÆÑ¬πΘÑÑ óαѼ∩ %s\n", ctime(&ntime));
  1892.          }
  1893.  
  1894.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1895.  
  1896.          é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á ßΓáΓ¿τÑ߬πε  ßΓα«¬π ¿º 26
  1897.          ASCII ½¿ΓÑα ó ó¿ñÑ:
  1898.  
  1899.             DDD MMM dd hh:mm:ss YYYY\n\0
  1900.  
  1901.          úñÑ:
  1902.  
  1903.             DDD       -  ñÑ¡∞ ¡Ññѽ¿
  1904.             MMM       -  ¼Ñß∩µ
  1905.             dd        -  ñÑ¡∞ ¼Ñß∩µá
  1906.             hh:mm:ss  -  τáßδ:¼¿¡πΓδ:ßѬπ¡ñδ
  1907.             YYY       -  ú«ñ
  1908.  
  1909.          æΓα«¬á »ÑαѺỿßδóáÑΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ ctime().
  1910.  
  1911.       ÉѬ«¼Ñ¡ñᵿ∩:
  1912.  
  1913.          æ¼«Γα¿ΓÑ ΓᬪѠasctime, clock, difftime, localtime,
  1914.          time.
  1915.  
  1916.  
  1917. difftime                         ÄÅÉàäàïêÆ£  ÄÆÉàçÄè éÉàîàìê
  1918.  
  1919.       êß»«½∞º«óá¡¿Ñ:
  1920.  
  1921.          #include <time.h>
  1922.          double difftime(time_t time2, time_t time1);
  1923.                                                   /* ANSI */
  1924.       Ä»¿ßá¡¿Ñ:
  1925.  
  1926.          éδτ¿ΓáÑΓ time1 ¿º time2.
  1927.  
  1928.       Åα¿¼Ñα:
  1929.  
  1930.          #include <stdio.h>
  1931.          #include <time.h>
  1932.          main()
  1933.          {
  1934.            register int delay;                /* çáñÑ᪬á */
  1935.            time_t start, finish;
  1936.            time(&start);
  1937.            for (delay = 0; delay<1000; delay++)
  1938.                 printf("%d\n", delay);
  1939.            time(&finish);
  1940.            printf("çáñÑ᪬á ñ½¿½áß∞ %f ßѬπ¡ñ",
  1941.                                    difftime(start, finish));
  1942.          }
  1943.  
  1944.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  1945.  
  1946.          é«ºóαáΘáÑΓ αạ¿µπ time1 ¿ time2 ó ßѬπ¡ñáσ.
  1947.  
  1948.       ÉѬ«¼Ñ¡ñᵿ∩:
  1949.  
  1950.       æ¼«Γα¿ΓÑ ΓᬪѠ asctime, clock, ctime, localtime, time
  1951.  
  1952.  
  1953. Display Package                            Åá¬ÑΓ «Γ«íαáªÑ¡¿∩
  1954.  
  1955.       êß»«½∞º«óá¡¿Ñ:
  1956.  
  1957.          #include <disp.h>
  1958.          void disp_close(void);
  1959.  
  1960.          éδΓὬ¿óáÑΓ óδó«ñ ¿ ºáóÑαΦáÑΓ  ¿ß»«½∞º«óá¡¿Ñ »á¬ÑΓá
  1961.          «Γ«íαáªÑ¡¿∩.
  1962.  
  1963.          void disp_box(int type, int attr, unsigned row,
  1964.               unsigned col, unsigned brow, unsigned rcol);
  1965.  
  1966.          É¿ßπÑΓ  αἬπ ß í«αñεα«¼ type ¿ áΓα¿íπΓ«¼ attr. ìá-
  1967.          τ¿¡á∩ ß ½Ñó«ú« óÑασ¡Ñú« πú½á ó  row,col  ¿ ¬«¡τá∩ ó
  1968.          ¡¿ª¡Ñ¼ »αáó«¼ πú½Ñ ó brow,rcol.
  1969.  
  1970.          ç¡áτÑ¡¿∩ type «»αÑñѽ∩εΓ:
  1971.  
  1972.             0   -   ñó«⌐¡πε í«αñεα¡πε ½¿¡¿ε
  1973.  
  1974.             1   -   «ñ¿¡áα¡πε í«αñεα¡πε ½¿¡¿ε
  1975.  
  1976.             2   -   Γ«½ßΓδ⌐ í«αñεα.
  1977.  
  1978.          void disp_eeol(void);
  1979.          ù¿ßΓ¿Γ «ßΓáΓ«¬  ΓѬπΘÑ⌐ ßΓ᫬¿,  ó¬½ετá∩ ½¿ΓÑαπ »«ñ
  1980.          ¬παß«α«¼.
  1981.  
  1982.          void disp_eeop(void);
  1983.          ù¿ßΓ¿Γ φ¬αá¡, ¡áτ¿¡á∩  ß ΓѬπΘÑ⌐  »«º¿µ¿¿  ¬παß«αá.
  1984.  
  1985.          void disp_endstand(void);
  1986.          é䬽ετáÑΓ ¿¡óÑαß¡δ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩. ä«½ª¡á óδºδ-
  1987.          óáΓ∞ß∩ »«ß½Ñ disp_startstand.
  1988.  
  1989.          void disp_flush(void);
  1990.          éδΓὬ¿óáÑΓ óδó«ñ ¡á φ¬αá¡.  üδóáÑΓ  ¡Ñ«íσ«ñ¿¼á ñ½∩
  1991.          »«ñú«Γ«ó¬¿ φ¬αá¡á ¬ «ª¿ñáѼ«¼π óó«ñπ »«½∞º«óáΓѽ∩.
  1992.  
  1993.          int disp_getmode(void);
  1994.          é«ºóαáΘáÑΓ  ΓѬπΘ¿⌐  αѪ¿¼  «Γ«íαáªÑ¡¿∩   (漫Γα¿ΓÑ
  1995.          disp_setmode).
  1996.  
  1997.          void disp_move(int row, int col);
  1998.          æñó¿úáÑΓ ¬παß«α ¬ »«º¿µ¿¿  row.col.  Å«º¿µ¿∩  0,0
  1999.          ÑßΓ∞ óÑασ¡¿⌐ ½Ñóδ⌐ πú«½ ñ¿ß»½Ñ∩.
  2000.  
  2001.          void disp_open(void);
  2002.          ê¡¿µ¿á½¿º¿απÑΓ ñ¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ. é »α«µÑßßÑ «íαáΘÑ-
  2003.          ¡¿∩ «»αÑñѽ∩εΓß∩  Γ¿»  ñ¿ß»½Ñ∩ ¿ áñαÑßᵿ∩ φ¬αá¡¡«⌐
  2004.          »á¼∩Γ¿. ê¡¿µ¿á½¿º¿απεΓß∩ óßÑ ú½«íá½δ.
  2005.  
  2006.          unsigned disp_peekw(int row, int col);
  2007.          æτ¿ΓδóáÑΓ  áΓα¿íπΓ  ½¿ΓÑαδ ó ºáñá¡¡«⌐  »«º¿µ¿¿ ñ¿ß-
  2008.          »½Ñ∩.
  2009.  
  2010.          unsigned disp_peekbox(unsigned * save, unsigned row,
  2011.                 unsigned col, unsigned brow, unsigned rcol);
  2012.          çừ¼¿¡áÑΓ »α∩¼«πú«½∞¡πε «í½áßΓ∞ φ¬αá¡á, «»αÑñѽѡ-
  2013.          ¡πε óÑασ¡¿¼ ½Ñóδ¼ πú½«¼  (row,col) ¿ ¡¿ª¡¿¼ »αáóδ¼
  2014.          (brow,rcol), ó íπΣÑαÑ save.
  2015.  
  2016.          void disp_pokebox(unsigned * save, unsigned row,
  2017.                 unsigned col, unsigned brow, unsigned rcol);
  2018.          é«ßßΓá¡áó½¿óáÑΓ »α∩¼«πú«½∞¡πε «í½áßΓ∞ φ¬αá¡á, «»αÑ-
  2019.          ñѽѡ¡πε  óÑασ¡¿¼ ½Ñóδ¼ πú½«¼  (row, col)  ¿ ¡¿ª¡¿¼
  2020.          »αáóδ¼ (brow, rcol), ¿º íπΣÑαá save.
  2021.  
  2022.          void disp_pokew(int row, int col, int attr,charc);
  2023.          çỿßδóáÑΓ ½¿ΓÑαπ ß π¬áºá¡¡δ¼  áΓα¿íπΓ«¼ ó ß»Ñµ¿Σ¿-
  2024.          µ¿α«óá¡¡πε »«º¿µ¿ε.
  2025.  
  2026.          void disp_printf(char *format, ...);
  2027.          ÄßπΘÑßΓó½∩ÑΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐  Σ«α¼áΓ¡δ⌐  óδó«ñ ¡á
  2028.          φ¬αá¡ (漫Γα¿ΓÑ «»¿ßá¡¿Ñ Σπ¡¬µ¿¿ printf).
  2029.  
  2030.          void disp_putc(int c);
  2031.          çỿßδóáÑΓ  ½¿ΓÑαπ c ó ΓѬπΘπε »«º¿µ¿ε φ¬αá¡á,  ¿ß-
  2032.          »«½∞ºπ∩ áΓα¿íπΓ ½¿ΓÑαδ,  πßΓá¡«ó½Ñ¡¡δ⌐  »«ßαÑñßΓó«¼
  2033.          disp_setattr().   ÄΓαáíáΓδóáÑΓ  Γáíπ½∩µ¿ε,  »ÑαÑó«ñ
  2034.          ßΓ᫬¿, ó«ºóαáΓ ¬áαÑΓ¬¿, backspace ¿ Γ.ñ. ¬«ααÑ¬Γ¡«.
  2035.  
  2036.          void disp_reset43(void);
  2037.          æíαáßδóáÑΓ ΓѬßΓ«óδ⌐  αѪ¿¼  80σ43 EGA  ¡áºáñ ó αÑ-
  2038.          ª¿¼ 80σ25.
  2039.  
  2040.          void disp_scroll(int lines, unsigned ulrow,
  2041.               unsigned ulcol, unsigned lrrow, unsigned lrcol,
  2042.                                               unsigned attr);
  2043.          Å᫬απτ¿óáÑΓ ß«ñÑন¼«Ñ φ¬αá¡á óóÑασ:
  2044.  
  2045.             lines - ¬«½¿τÑßΓó« ßΓ᫬ »α«¬απΓ¬¿
  2046.             ulrow - óÑασ¡¿⌐ α∩ñ ñó¿úáѼ«⌐ «í½áßΓ¿
  2047.             ulcol - óÑασ¡¿⌐ ½Ñóδ⌐ ßΓ«½íѵ
  2048.             lrrow - ¡¿ª¡¿⌐ α∩ñ ñó¿úáѼ«⌐ «í½áßΓ¿
  2049.             lrcol - ¡¿ª¡¿⌐ »αáóδ⌐ ßΓ«½íѵ
  2050.             attr  - ó¿ñÑ«áΓα¿íπΓ ñ½∩ «ßΓá½∞¡δσ «í½áßΓÑ⌐
  2051.                     (τáßΓÑ⌐ φ¬αá¡á).
  2052.  
  2053.          void disp_set43(void);
  2054.          ôßΓá¡áó½¿óáÑΓ ΓѬßΓ«óδ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩ 80σ43 EGA.
  2055.          ìÑ ñ«½ª¡á  ¿ß»«½∞º«óáΓ∞ß∩,  »«¬á  ñ¿ß»½Ñ⌐¡δ⌐  »á¬ÑΓ
  2056.          «Γ¬αδΓ.  ¥Γá  Σπ¡¬µ¿∩ ΓαÑíπÑΓ ¡á½¿τ¿∩ áñá»ΓÑα«ó EGA
  2057.          ¿½¿ VGA. äÑ⌐ßΓó¿Γѽ∞¡«Ñ  ¬«½¿τÑßΓó« ßΓ᫬ ¡á φ¬αá¡Ñ
  2058.          ºá»¿ßδóáÑΓ ó disp_numrows.
  2059.  
  2060.          void disp_setattr(int attr);
  2061.          ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓ  ½¿ΓÑα,  ºá»¿ßδóáѼδσ »«ßαÑñ-
  2062.          ßΓó«¼ disp_putc()  ¿  disp_printf().  ì¿ªÑ »α¿óÑñÑ¡
  2063.          ß»¿ß«¬ áΓα¿íπΓ«ó, «»¿ßá¡¡δσ ó Σá⌐½Ñ disp.h :
  2064.  
  2065.             DISP_REVERSEVIDEO         êìéàÉæì¢ë
  2066.             DISP_NORMAL               ìÄÉîÇï£ì¢ë
  2067.             DISP_UNDERLINE            ÅÄäùàÉèêéÇìêà
  2068.             DISP_NONDISPLAY           ìà é¢æéàùêéÇàî¢ë
  2069.  
  2070.          æ½ÑñπεΘ¿Ñ áΓα¿íπΓ¡δÑ í¿Γδ ¼«úπΓ íδΓ∞ ñ«íáó½Ñ¡δ «»Ñ-
  2071.          αᵿÑ⌐ OR:
  2072.  
  2073.             DISP_INTENSITY            êìÆàìæêéì¢ë
  2074.             DISP_BLINK                îêâÇìêà
  2075.  
  2076.          void disp_setcursortype(int startline*256+endline);
  2077.          ôßΓá¡áó½¿óáÑΓ αẼÑα ¬παß«αá. Å« π¼«½τá¡¿ε, DOS ¿ß-
  2078.          »«½∞ºπÑΓ:
  2079.  
  2080.                            ¡áτὫ      ¬«¡Ñµ   ¿ß»«½∞º«óá¡¿Ñ
  2081.             Monochrome       11          12      11*256+12
  2082.             Color            6           7        6*256+7
  2083.  
  2084.          void disp_setmode(unsigned char mode);
  2085.          ôßΓá¡áó½¿óáÑΓ αѪ¿¼  «Γ«íαáªÑ¡¿∩.  àß½¿ »«ΓαÑíπÑΓß∩
  2086.          ¡Ñ ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩,  ó맮ó Σπ¡¬µ¿¿ ñ«½ªÑ¡
  2087.          »αÑñΦÑßΓó«óáΓ∞ «íαáΘÑ¡¿ε ¬ disp_open(). ì¿ªÑ »α¿óÑ-
  2088.          ñÑ¡δ ¡«¼Ñαá αѪ¿¼«ó:
  2089.  
  2090.             0 - 40σ25     τÑα¡«-íѽδ⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
  2091.                           áñá»ΓÑα
  2092.             1 - 40σ25     µóÑΓ¡«⌐   á½Σáó¿Γ¡«-µ¿Σα«ó«⌐   EGA
  2093.                           áñá»ΓÑα
  2094.             2 - 80σ25     τÑα¡«-íѽδ⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
  2095.                           áñá»ΓÑα
  2096.             3 - 80σ25     µóÑΓ¡«⌐   á½Σáó¿Γ¡«-µ¿Σα«ó«⌐   EGA
  2097.                           áñá»ΓÑα
  2098.             4 - 320σ200   4-µóÑΓ¡δ⌐  úαáΣ¿τÑ߬¿⌐ EGA áñá»ΓÑα
  2099.  
  2100.             5 - 320σ200   τÑα¡«-íѽá∩   úαáΣ¿¬á  ¡á  µóÑΓ¡«¼
  2101.                           EGA áñá»ΓÑαÑ
  2102.             6 - 640σ200   τÑα¡«-íѽá∩   úαáΣ¿¬á  ¡á  µóÑΓ¡«¼
  2103.                           EGA áñá»ΓÑαÑ
  2104.             7 - 80σ25     τÑα¡«-íѽδ⌐  á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ ¡á
  2105.                           ¼«¡«σα«¼¡«¼ EGA áñá»ΓÑαÑ
  2106.             D - 320σ200   16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
  2107.  
  2108.             E - 640σ200   16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
  2109.  
  2110.             F - 640σ350   4-µóÑΓ¡á∩ úαáΣ¿¬á ¡á ¼«¡«σα«¼¡«¼
  2111.                           EGA áñá»ΓÑαÑ
  2112.            10 - 640σ350   16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
  2113.  
  2114.          void disp_startstand(void);
  2115.          ôßΓá¡áó½¿óáÑΓ ¿¡óÑαß¡δ⌐  αѪ¿¼ «Γ«íαáªÑ¡¿∩ ñ½∩ óßÑσ
  2116.          »«ß½ÑñπεΘ¿σ óδó«ñ¿¼δσ  ½¿ΓÑα.  ê¡óÑαß¡δ⌐ αѪ¿¼ «Γ«-
  2117.          íαáªÑ¡¿∩ ß¡¿¼áÑΓß∩ «íαáΘÑ¡¿Ñ¼ ¬ disp_endstand().
  2118.  
  2119.          void disp_usebios(void);
  2120.          ôßΓá¡áó½¿óáÑΓ  αѪ¿¼  ºá»¿ß¿  ½¿ΓÑα  ¡á φ¬αá¡ τÑαѺ
  2121.          BIOS,  á ¡Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ« »á¼∩Γ∞ ñ¿ß»½Ñ∩.
  2122.          ¥Γ«  π½πτΦáÑΓ  »ÑαÑ¡«ß¿¼«ßΓ∞ »α«úαá¼¼δ »α¿ ß¡¿ªÑ¡¿¿
  2123.          ß¬«α«ßΓ¿ αáí«Γδ.  é맮ó ñ«½ªÑ¡ ß½Ññ«óáΓ∞ ºá «íαáΘÑ-
  2124.          ¡¿Ñ¼ ¬ disp_open().
  2125.  
  2126.       Ä»¿ßá¡¿Ñ:
  2127.  
  2128.          ä¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ «íÑß»Ñτ¿óáÑΓ íδßΓαδ⌐ óó«ñ/óδó«ñ ¡á
  2129.          φ¬αá¡ PC ¿ ¡áñѪ¡πε ß«ó¼ÑßΓ¿¼«ßΓ∞. Åα«µÑñπαδ »á¬ÑΓá
  2130.          »¿ΦπΓ  ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ« »á¼∩Γ∞, óδ¿úαδóá∩ ¡á
  2131.          ß¬«α«ßΓ¿.  ¥Γ¿ »α«µÑñπαδ  ¡Ñ »«⌐ñπΓ ¡á ¬«¼»∞εΓÑαáσ,
  2132.          ¡Ñ ∩ó½∩εΦΘ¿σß∩ ß«ó¼ÑßΓ¿¼δ¼¿ ß  IBM PC  »« »α¿¡µ¿»á¼
  2133.          «Γ«íαáªÑ¡¿∩ ¿½¿ ó τáßΓ¿ BIOS. ì¿ªÑ »α¿óÑñÑ¡δ ú½«íá-
  2134.          ½δ, ¬«Γ«αδÑ ¿¡¿µ¿á½¿º¿απεΓß∩ »α¿ ó맮óÑ disp_open().
  2135.          ¥Γ¿ ú½«íá½δ ß½ÑñπÑΓ Γ«½∞¬« τ¿ΓáΓ∞:
  2136.  
  2137.             unsigned char disp_mono - 0 ñ½∩ µóÑΓ¡«ú« ¿ 1 ñ½∩
  2138.                                        ¼«¡«σα«¼¡«ú« áñá»ΓÑαá
  2139.             unsigned char disp_snowycga - «Γ½¿τÑ¡  «Γ  0 ñ½∩
  2140.                                           "ߡѪ¡«ú«" IBM CGA
  2141.             unsigned char disp_mode - ΓѬπΘ¿⌐  αѪ¿¼ «Γ«íαá-
  2142.                             ªÑ¡¿∩ (漫Γα¿ΓÑ disp_setmode()).
  2143.             unsigned char disp_inited - «Γ½¿τÑ¡  «Γ 0,  Ñß½¿
  2144.                            ñ¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ ¿¡¿µ¿á½¿º¿α«óá¡.
  2145.             unsigned char disp_ega - «Γ½¿τÑ¡  «Γ  0  ñ½∩ IBM
  2146.                EGA ¿½¿ VGA áñá»ΓÑα«ó.
  2147.             unsigned disp_base - áñαÑß ßÑú¼Ñ¡Γá ó¿ñÑ« »á¼∩Γ¿
  2148.                (MDA = 0B000)(CGA = 0B800).
  2149.             int disp_numrows - ¬«½¿τÑßΓó« «Γ«íαáªáѼδσ ßΓ᫬
  2150.  
  2151.             int disp_numcols - ¬«½¿τÑßΓó« «Γ«íαáªáѼδσ ßΓ«½í-
  2152.                                µ«ó
  2153.             int disp_cursorrow - ¡«¼Ñα ßΓ᫬¿, ó ¬«Γ«α«⌐ »«º¿-
  2154.                                µ¿«¡¿α«óá¡ ¬παß«α
  2155.             int disp_cursorcol - ¡«¼Ñα ßΓ«½íµá,  ºáñáεΘÑú« »«-
  2156.                                º¿µ¿ε ¬παß«αá.
  2157.  
  2158.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2159.  
  2160.          disp_getmode  ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩.
  2161.  
  2162.       ÉѬ«¼Ñ¡ñᵿ∩:
  2163.  
  2164.          æ¼«Γα¿ΓÑ ΓᬪѠprintf, putc.
  2165.  
  2166.       Åα¿¼Ñα:
  2167.  
  2168.          #include <disp.h>
  2169.          #include <conio.h>
  2170.          char *string="Åα¿¼Ñα ¼¿úáεΘÑ⌐ ßΓ᫬¿";
  2171.          int cursor=((6*256)+11);
  2172.          main()
  2173.          {
  2174.            char ch;
  2175.            disp_open();
  2176.            disp_startstand();
  2177.            disp_printf("æΓ᫬á óδóÑñѡᠻ«ß½Ñ «íαáΘÑ¡¿∩ ¬
  2178.                                        disp_startstand\n");
  2179.            disp_endstand();
  2180.            disp_setattr(DISP_BLINK | DISP_NORMAL);
  2181.            disp_printf("%s\n", string);
  2182.            disp setattr(DISP_INTENSITY | DISP_NORMAL);
  2183.            disp_printf("ôßΓá¡«ó½Ñ¡ áΓα¿íπΓ óδß«¬«⌐ ∩ᬫßΓ¿\n");
  2184.            disp setattr(DISP_NORMAL);
  2185.            disp_usebios();
  2186.            disp_printf("æΓ᫬á óδßóÑτÑ¡á »α¿ »«¼«Θ¿ BIOS\N");
  2187.            disp_printf("îÑ¡∩Ѽ αẼÑα ¬παß«αá");
  2188.            disp_setcursortype(cursor);
  2189.            disp_flush();
  2190.            ch = getch();
  2191.            disp_close();
  2192.          }
  2193.  
  2194.  
  2195. div                                                   äàïêÆ£
  2196.  
  2197.       êß»«½∞º«óá¡¿Ñ:
  2198.  
  2199.          #include <stdlib.h>
  2200.          div_t div(int numerator, int denominator); /* ANSI */
  2201.  
  2202.       Ä»¿ßá¡¿Ñ:
  2203.  
  2204.       äѽ¿Γ ñѽ¿¼«Ñ ¡á ñѽ¿Γѽ∞,  ó«ºóαáΘá∩ τáßΓ¡«Ñ ¿ «ßΓáΓ«¬
  2205.  
  2206.       Åα¿¼Ñα:
  2207.  
  2208.          #include <stdlib.h>
  2209.          main()
  2210.          {
  2211.            div_t answ;
  2212.            int ina, inb;
  2213.            puts("éóÑñ¿ΓÑ ñóᠵѽδσ:");
  2214.            scanf("%d %d", &ina, &inb);
  2215.            answ = div(ina, inb);
  2216.            printf("ùáßΓ¡«Ñ=%d, ¿ «ßΓáΓ«¬=%d\n",
  2217.                           answ.quot, answ.rem);
  2218.          }
  2219.  
  2220.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2221.  
  2222.          é«ºóαáΘáÑΓ ßΓαπ¬Γπαπ Γ¿»á div_t.
  2223.  
  2224.       ÉѬ«¼Ñ¡ñᵿ∩:
  2225.  
  2226.          æ¼«Γα¿ΓÑ ΓᬪѠldiv.
  2227.  
  2228.  
  2229. DOS Package                                Åá¬ÑΓ Σπ¡¬µ¿⌐ DOS
  2230.  
  2231.       êß»«½∞º«óá¡¿Ñ:
  2232.  
  2233.          #include <dos.h>
  2234.          int dos_abs_disk_read(int drive, int num_sec,
  2235.                               int start_sec, char *buffer);
  2236.          int dos_abs_disk_write(int drive, int num_sec,
  2237.                               int start_sec, char *buffer);
  2238.          int dos_creat(char *name, unsigned attribute);
  2239.          int dos_get_cntl_break(void);
  2240.          long dos_getdiskfreespace(int drive);
  2241.          int dos_get_verify(void);
  2242.          void dos_set_verify(int on_off);
  2243.          void dos_set_cntl_break(int on_off);
  2244.  
  2245.       Ä»¿ßá¡¿Ñ:
  2246.  
  2247.          dos_abs_disk_read, dos_abs_disk_write
  2248.          ÅÑαÑñáεΓ  π»αáó½Ñ¡¿Ñ  Σπ¡¬µ¿∩¼  DOS  ñ½∩ óδ»«½¡Ñ¡¿∩
  2249.          τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿ ñ¿ß¬á ß««ΓóÑΓßΓóÑ¡¡«. ì«¼Ñαá πßΓ-
  2250.          α«⌐ßΓó (drive): 0 ñ½∩ πßΓα«⌐ßΓóá A, 1 - ñ½∩ B ¿ Γ.ñ.
  2251.          ñ« 25. è«½¿τÑßΓó« ßÑ¬Γ«α«ó ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ß»Ñ-
  2252.          µ¿Σ¿µ¿απÑΓß∩ num_sec.  Start_sec  «»αÑñѽ∩ÑΓ »Ñαóδ⌐
  2253.          ßÑ¬Γ«α τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿.  Buffer ∩ó½∩ÑΓß∩ ¿ßΓ«τ¡¿-
  2254.          ¬«¼ ¿½¿ »α¿Ñ¼¡¿¬«¼ ñá¡¡δσ.
  2255.  
  2256.          dos_creat
  2257.          æ«ºñáÑΓ Σá⌐½ ó DOS «¬απªÑ¡¿¿.  üá⌐Γ áΓα¿íπΓ«ó ß««Γ-
  2258.          óÑΓßΓóπÑΓ   «»¿ßá¡¿ε   ó  DOS  Technical  Reference
  2259.          Manual. Ä»¿ßá¡¿Ñ áΓα¿íπΓ«ó ß«ñÑনΓß∩ ó dos.h Σá⌐½Ñ:
  2260.  
  2261.             FA_RDONLY - 0x01 - Γ«½∞¬« τΓÑ¡¿Ñ
  2262.             FA_HIDDEN - 0x02 - ß¬αδΓδ⌐ Σá⌐½
  2263.             FA_SYSTEM - 0x04 - ß¿ßΓѼ¡δ⌐ Σá⌐½
  2264.             FA_LABEL  - 0x08 - ¼ÑΓ¬á Γ«¼á
  2265.             FA_DIREC  - 0x10 - ¬áΓὫú
  2266.             FA_ARCH   - 0x20 - áασ¿ó¡δ⌐ í¿Γ
  2267.  
  2268.          dos_get_verify
  2269.          é«ºóαáΘáÑΓ ßΓáΓπß óÑα¿Σ¿¬áµ¿¿ DOS. ¥Γ« «Γ½¿τ¡«Ñ «Γ
  2270.          ¡π½∩ º¡áτÑ¡¿Ñ,  Ñß½¿ VERIFY (»α«óÑα¬á ºá»¿ß¿) ó¬½ε-
  2271.          τÑ¡á,  ¿  0 ó »α«Γ¿ó¡«¼  ß½πτáÑ  (漫Γα¿ΓÑ  ¬«¼á¡ñπ
  2272.          VERIFY ó DOS  Technical Reference Manual).
  2273.  
  2274.          dos_get_cntl_break
  2275.          é«ºóαáΘáÑΓ ßΓáΓπß break  π»αáó½Ñ¡¿∩  DOS.  ¥Γ« «Γ-
  2276.          ½¿τ¡«Ñ «Γ ¡π½∩ º¡áτÑ¡¿Ñ, Ñß½¿ αÑᬵ¿∩ ¡á »αÑαδóá¡¿Ñ
  2277.          break ó¬½ετѡᠿ  0  ó »α«Γ¿ó¡«¼  ß½πτáÑ  (漫Γα¿ΓÑ
  2278.          BREAK ¬«¼á¡ñπ ó DOS Reference Manual).
  2279.  
  2280.          dos_getdiskfreespace
  2281.          é«ºóαáΘáÑΓ  º¡áτÑ¡¿Ñ «íΩѼᠡѺá¡∩Γ«ú« »α«ßΓαá¡ßΓóá
  2282.          ¡á ñ¿ß¬Ñ. Drive «»αÑñѽ∩ÑΓ πßΓα«⌐ßΓó«:  0 - π¼«½τá-
  2283.          ¡¿Ñ (ΓѬπΘÑÑ πßΓα«⌐ßΓó«), 1 - A, 2 - B  ¿ Γ.ñ.
  2284.  
  2285.          dos_set_verify
  2286.          ôßΓá¡áó½¿óáÑΓ  αѪ¿¼ óÑα¿Σ¿¬áµ¿¿ ºá»¿ß¿ (ßτ¿Γδóá¡¿Ñ
  2287.          »«ß½Ñ ºá»¿ß¿). ¥Γá Σπ¡¬µ¿∩ ¿¼ÑÑàëàªÑ φΣΣѬΓ, τΓ«
  2288.          ¿ ¬«¼á¡ñδ MS DOS VERIFY ON ¿½¿ VERIFY OFF.
  2289.  
  2290.          dos_set_cntl_break
  2291.          é¬½ετáÑΓ ¿½¿ ó䬽ετáÑΓ αѪ¿¼ αÑᬵ¿¿ ¡á break. ç¡á-
  2292.          τÑ¡¿Ñ áαúπ¼Ñ¡Γá ¡Ñ¡π½Ñó«Ñ ó¬½ετáÑΓ  αѪ¿¼  break, ¿  
  2293.      0 - ó䬽ετáÑΓ. ¥Γá Σπ¡¬µ¿∩ ¿¼ÑÑàëàªÑ φΣΣѬΓ, ¬á¬ 
  2294.      ¿ ¬«¼á¡ñá BREAK ñ½∩ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá DOS.
  2295.  
  2296.       Åα¿¼Ñα:
  2297.  
  2298.          #include <dos.h>
  2299.          #include <stdio.h>
  2300.          char buffer [512];
  2301.          main()
  2302.          {
  2303.            char *offset;
  2304.            long result;
  2305.            int drive = 0;
  2306.            result = dos_getdiskfreespace(drive);
  2307.            printf("Default drive=%ld bytes free\n", result);
  2308.            dos_abs_disk_read(0,1,0,buffer);
  2309.            offset = &buffer[3];
  2310.            printf("Boot record OEM=%s\n", offset);
  2311.          }
  2312.  
  2313.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2314.  
  2315.          dos_creat
  2316.          é«ºóαáΘáÑΓ DOS ñÑß¬α¿»Γ«α Σá⌐½á , Ñß½¿ Σá⌐½ ß«ºñá¡,
  2317.          ó »α«Γ¿ó¡«¼ ß½πτáÑ  ó«ºóαáΘáÑΓ -1  ¿  πßΓá¡áó½¿óáÑΓ
  2318.          errno.
  2319.  
  2320.          dos_get_cntl_break, dos_get_verify
  2321.          é«ºóαáΘáεΓ  «Γ½¿τ¡«Ñ «Γ ¡π½∩ º¡áτÑ¡¿Ñ,  Ñß½¿ ßΓáΓπß
  2322.          ó¬½ετÑ¡, ¿ 0 ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  2323.  
  2324.          dos_getdiskfreespace
  2325.          é«ºóαáΦΘáÑΓ «íΩѼ ñ«ßΓπ»¡«ú« ñ¿ß¬«ó«ú« »α«ßΓαá¡ßΓóá
  2326.          ó íá⌐Γáσ ó Σ«α¼áΓÑ long int.
  2327.  
  2328.          dos_set_verify, dos_set_cntl_break
  2329.          ìÑ ó«ºóαáΘáεΓ º¡áτÑ¡¿Ñ.
  2330.  
  2331.          dos_abs_disk_read, dos_abs_disk_write
  2332.          é«ºóαáΘáεΓ 0 ó ß½πτáÑ  πß»Ñσá.  ìÑ¡π½Ñó«Ñ  º¡áτÑ¡¿Ñ
  2333.          π¬áºδóáÑΓ  ¡á  «Φ¿í¬π.  î½áñΦ¿⌐  íá⌐Γ  ß«ñÑαª¿Γ ¬«ñ
  2334.          «Φ¿í¬¿  DOS.  æΓáαΦ¿⌐  íá⌐Γ  ß«ñÑαª¿Γ  ß»Ñµ¿Σ¿¬áµ¿ε
  2335.          «Φ¿í¬¿ BIOS(漫Γα¿ΓÑ DOS Technical Reference Manual)
  2336.  
  2337.  
  2338. ecvt                 ÅÉàÄüÉÇçÄéÇÆ£ ùêæïÄ é æÆÉÄèô
  2339.  
  2340.       êß»«½∞º«óá¡¿Ñ:
  2341.  
  2342.          #include <stdlib.h>
  2343.          char * ecvt(double val, int ndig, int *pdecpt,
  2344.                int *psign);
  2345.  
  2346.       Ä»¿ßá¡¿Ñ:
  2347.  
  2348.          ÅαÑ«íαáºπÑΓ º¡áτÑ¡¿Ñ  πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿ ó ßΓ᫬π ¿
  2349.          ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π.  ù¿ß½«  ß«ºñáóáѼδσ
  2350.          µ¿Σα ºáñáÑΓ ndig.  ù¿ß½« ß««ΓóÑΓßΓóÑ¡¡« «¬απú½∩ÑΓß∩.
  2351.          Å«º¿µ¿∩ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ «Γ¡«ß¿Γѽ∞¡« »Ñαó«⌐ (½Ñó«⌐)
  2352.          µ¿Σαδ ßΓ᫬¿ ºá»«¼¿¡áÑΓß∩ ó *pdecpt.  àß½¿  *pdecpt
  2353.          «Γα¿µáΓѽ∞¡«, Γ«τ¬á ¡áσ«ñ¿Γß∩ ¡á ß««ΓóÑΓßΓóπεΘÑÑ ¬«-
  2354.          ½¿τÑßΓó« »«º¿µ¿⌐ ½ÑóÑÑ ¡áτá½á ßΓ᫬¿.  é *psign ºá-
  2355.          »«¼¿¡áÑΓß∩ 0, Ñß½¿ val>0,  ¿ «Γ½¿τ¡«Ñ «Γ 0 º¡áτÑ¡¿Ñ
  2356.          ó »α«Γ¿ó¡«¼ ß½πτáÑ. æΓα«¬á ºá»¿ßδóáÑΓß∩ ó ßΓáΓ¿τÑß-
  2357.          ¬¿ óδñѽѡ¡πε »á¼∩Γ∞, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓß∩ ß«ó¼ÑßΓ-
  2358.          ¡« ß ecvt() ¿ «í¡«ó½∩ÑΓß∩ »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿.
  2359.  
  2360.       Åα¿¼Ñα:
  2361.  
  2362.          #include <stdio.h>
  2363.          #include <stdlib.h>
  2364.          char *buffer;
  2365.          int dec, sign;
  2366.          main()
  2367.          {
  2368.            buffer = ecvt(98.69138432, 5, &dec, &sign);
  2369.            printf("buffer = \"%s\", decimal = %d,
  2370.                    sign = %d\n", buffer, dec, sign);
  2371.          }
  2372.  
  2373.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2374.  
  2375.          é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π.
  2376.  
  2377.       ÉѬ«¼Ñ¡ñᵿ∩:
  2378.  
  2379.          æ¼«Γα¿ΓÑ ΓᬪѠfcvt, sprintf.
  2380.  
  2381.  
  2382.  
  2383. execl - execvp                             çÇÅôæÆêÆ£ ÅÉÄûàææ
  2384.  
  2385.    êß»«½∞º«óá¡¿Ñ:
  2386.  
  2387.       #include <process.h>
  2388.       #include <errno.h>    /* Æ«½∞¬« ñ½∩ ¬«¡Γα«½∩ «Φ¿í«¬ */
  2389.       int execl(char * name, char *arg0, *arg1,..., *argn,
  2390.                                                       NULL);
  2391.       int execv(char * name, char *argv[]);
  2392.       int execlp(char * name, char *arg0, *arg1,..., *argn,
  2393.                                                       NULL);
  2394.       int execvp(char * name, char *argv[]);
  2395.  
  2396.    Ä»¿ßá¡¿Ñ:
  2397.  
  2398.       exec - Σπ¡¬µ¿¿  ß«ºñáεΓ  ¿ óδ»«½¡∩εΓ ¡«óδ⌐ »«α«ªñÑ¡¡δ⌐
  2399.       »α«µÑßß.  ôß»ÑΦ¡«Ñ  óδ»«½¡Ñ¡¿Ñ  exec óδºδóáÑΓ ºá¼Ñ¡π ó
  2400.       »á¼∩Γ¿ α«ñ¿Γѽ∞߬«ú« »α«µÑßßá ¡á »«α«ªñÑ¡¡δ⌐  »α«µÑßß,
  2401.       ñ½∩ ¬«Γ«α«ú« ñ«½ª¡« íδΓ∞ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿. Exec »ÑαÑ-
  2402.       ºá»¿ßδóáÑΓ ¡«óπε »α«úαá¼¼π ¡á ¼ÑßΓ« ΓѬπΘÑ⌐ ¿ ¡áτ¿¡áÑΓ
  2403.       ¿ß»«½¡Ñ¡¿Ñ. Name ß»Ñµ¿Σ¿µ¿απÑΓ φΓπ »α«úαá¼¼π. àß½¿ φΓá
  2404.       ß»Ñµ¿Σ¿¬áµ¿∩ ¡Ñ ß«ñÑαª¿Γ «»¿ßá¡¿∩ »πΓ¿  ñ«ßΓπ»á ¬ Σá⌐-
  2405.       ½π »α«úαá¼¼δ ¿ Σá⌐½ ¡Ñ ß«ñÑনΓß∩  ó ΓѬπΘѼ ¬áΓὫúÑ,
  2406.       Γ« ó ß½πτáÑ execvp ¿ execlp ñ½∩ »«¿ß¬á Σá⌐½á ¿ß»«½∞ºπ-
  2407.       ÑΓß∩ »ÑαѼѡ¡á∩ «¬απªÑ¡¿∩ PATH.  Åáαá¼ÑΓαδ «íαáΘÑ¡¿∩ ¬
  2408.       »«ñ»α«µÑßßπ «íαáºπεΓß∩ ¿º ßΓ᫬ ½¿ΓÑα,  ºáñá¡¡δσ ó «í-
  2409.       αáΘÑ¡¿¿ ¬ exec. Ä¡¿ «íαáºπεΓ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó,  ß«ó«-
  2410.       ¬π»¡á∩ ñ½¿¡á ¬«Γ«αδσ,  ¿ß¬½ετá∩ arg0, ¡Ñ ñ«½ª¡á »αÑóδ-
  2411.       ΦáΓ∞ 128 ß¿¼ó«½«ó. Çαúπ¼Ñ¡Γ arg0 ¿ú¡«α¿απÑΓß∩. Ä¡ ó¬½ε-
  2412.       τÑ¡ »« ß««íαáªÑ¡¿∩¼ ß«ó¼ÑßΓ¿¼«ßΓ¿.  Çαúπ¼Ñ¡Γ argv, ¿ß-
  2413.       »«½∞ºπѼδ⌐ ó execv ¿ execvp,  ∩ó½∩ÑΓß∩ ¼áß߿󫼠π¬áºá-
  2414.       ΓѽÑ⌐ ¡á ßΓ᫬¿.  Å«ß½Ññ¡¿⌐ π¬áºáΓѽ∞  ó  argv  ñ«½ªÑ¡
  2415.       íδΓ∞ NULL.
  2416.  
  2417.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2418.  
  2419.       é ß½πτáÑ πß»ÑΦ¡«ú« «íαáΘÑ¡¿∩ exec ¡Ñ ó«ºóαáΘáÑΓ π»αáó-
  2420.       ½Ñ¡¿∩. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -1. é¡ÑΦ¡∩∩
  2421.       »ÑαѼѡ¡á∩ errno íπñÑΓ πßΓá¡«ó½Ñ¡á ó º¡áτÑ¡¿Ñ, ¿ñÑ¡Γ¿-
  2422.       Σ¿µ¿απεΘÑÑ «Φ¿í¬π.  ¥Γ¿ º¡áτÑ¡¿∩ ñѬ½áα¿α«óá¡δ ó Σá⌐½Ñ
  2423.       errno.h:
  2424.  
  2425.          E2BIG  - æ»¿ß«¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ 128 íá⌐Γ.
  2426.  
  2427.      ENOENT - ìÑ ¡á⌐ñÑ¡ Σá⌐½.
  2428.  
  2429.    ÉѬ«¼Ñ¡ñᵿ∩:
  2430.  
  2431.       æ¼«Γα¿ΓÑ ΓᬪѠabort, exit, spawn, system.
  2432.  
  2433.    Åα¿¼Ñα:
  2434.  
  2435.       #include <process.h>
  2436.       #include <errno.h>
  2437.       #include <stdio.h>
  2438.       main(int argc, char * argv[])
  2439.       {
  2440.         char *args[4];
  2441.         int result;
  2442.         arg[0] = "arg0";
  2443.         arg[1] = "arg1";
  2444.         arg[2] = "arg2";
  2445.         arg[3] = "arg3";
  2446.         switch (argv[1][0])
  2447.         {
  2448.           case `1':
  2449.              execl("myprog.exe", "arg0", "arg1", "arg2",
  2450.                                                "arg3",NULL);
  2451.              break;
  2452.           case `2':
  2453.              execlp("myprog.exe", "arg0", "arg1", "arg2",
  2454.                                               "arg3", NULL);
  2455.              break;
  2456.           case `3':
  2457.              execv("myprog.exe", "args");
  2458.              break;
  2459.           case `4':
  2460.              execvp("myprog.exe", "args");
  2461.              break;
  2462.           default:
  2463.              printf("éóÑñ¿ΓÑ τ¿ß½« ¼Ñªñπ 1 ¿ 4 ó ¬«¼á¡ñ¡«⌐
  2464.                                                  ßΓ᫬Ñ\n");
  2465.              exit(1);
  2466.         }
  2467.           printf("Åα«µÑßß myprog.exe ¡Ñ ¿ß»«½¡Ñ¡.\n");
  2468.       }
  2469.  
  2470.  
  2471.  
  2472. exit, _exit                   çÇéàÉÿêÆ£ é¢ÅÄïìàìêà ÅÉÄâÉÇîî¢
  2473.  
  2474.    êß»«½∞º«óá¡¿Ñ:
  2475.  
  2476.       #include <stdlib.h>
  2477.       void exit(int exitstatus);
  2478.       void _exit(int exitstatus);                 /* ANSI */
  2479.  
  2480.    Ä»¿ßá¡¿Ñ:
  2481.  
  2482.       exit óδºδóáÑΓ óßÑ ßΓáΓ¿τÑ߬¿Ñ ñÑßΓαπ¬Γ«αδ (ñ½∩ C++ »α«-
  2483.       úαá¼¼),  óδΓὬ¿óáÑΓ íπΣÑαá óδó«ñá, ºá¬αδóáÑΓ óδσ«ñ¡δÑ
  2484.       Σá⌐½δ ¿ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ MS DOS ß« ßΓáΓπß«¼ óδσ«-
  2485.       ñá exitstatus.
  2486.       _exit ¡Ñ óδºδóáÑΓ ßΓáΓ¿τÑ߬¿Ñ ñÑßΓαπ¬Γ«αδ ¿ ¡Ñ «ßó«í«ª-
  2487.       ñáÑΓ  íπΣÑαá,  á  ¡Ñ¼Ññ½Ñ¡¡«  ó«ºóαáΘáÑΓ  π»αáó½Ñ¡¿Ñ ó
  2488.       MS DOS.  exit »αÑñ»«τΓ¿Γѽ∞¡« ¿ß»«½∞º«óáΓ∞ ó C++ »α«ú-
  2489.       αá¼¼áσ. exitstatus «íδτ¡« 0 ñ½∩ π¬áºá¡¿∩ ¡á ¡«α¼á½∞¡«Ñ
  2490.       ºáóÑαΦÑ¡¿Ñ »α«úαá¼¼δ.  ç¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ «Γ ¡π½∩, ¿¡-
  2491.       ñ¿µ¿απÑΓ «Φ¿í¬π. Æ«½∞¬« ¼½áñΦ¿⌐ íá⌐Γ exitstatus »«ßΓπ-
  2492.       »áÑΓ ¬ α«ñ¿Γѽ∞߬«¼π  »α«µÑßßπ.  æΓáΓπß  óδσ«ñá  ¼«ªÑΓ
  2493.       íδΓ∞ ¿ß»«½∞º«óá¡ »«ßαÑñßΓó«¼ ¿¼Ñ¡¿ ERRORLEVEL ó ¬«¼á¡ñ-
  2494.       ¡δσ (batch) Σá⌐½áσ.
  2495.  
  2496.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2497.  
  2498.       ìÑ ó«ºóαáΘáÑΓ º¡áτÑ¡¿∩.
  2499.  
  2500.  
  2501.    ÉѬ«¼Ñ¡ñᵿ∩:
  2502.  
  2503.       æ¼«Γα¿ΓÑ abort.
  2504.  
  2505.    Åα¿¼Ñα:
  2506.  
  2507.       #include <stdlib.h>
  2508.       #include <stdio.h>
  2509.       main(int argc, char * argv[])
  2510.       {
  2511.         FILE *fp;
  2512.         if(argc>1)
  2513.            {
  2514.              fp = fopen(argv[1],"r");
  2515.              if(fp == NULL)
  2516.                {
  2517.                  fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ Σá⌐½
  2518.                                         \"%s\"\n", argv[1]);
  2519.                  exit(1);
  2520.                }
  2521.            }
  2522.         else
  2523.            {
  2524.               fprintf(stderr, "öá⌐½ ¡Ñ ºáñá¡ \n");
  2525.               exit(1);
  2526.            }
  2527.       }
  2528.  
  2529.  
  2530. exp                                               ¥èæÅÄìàìÆÇ
  2531.  
  2532.    êß»«½∞º«óá¡¿Ñ
  2533.  
  2534.       #include <math.h>
  2535.       double exp(double x);                       /* ANSI */
  2536.  
  2537.    Ä»¿ßá¡¿Ñ:
  2538.  
  2539.       éδτ¿ß½∩ÑΓ φ¬ß»«¡Ñ¡Γπ áαúπ¼Ñ¡Γá x.
  2540.  
  2541.    Åα¿¼Ñα:
  2542.  
  2543.       #include <math.h>
  2544.       main()
  2545.       {
  2546.         double dnum, xpnt;
  2547.         dnum:=3.1415926;
  2548.         xpnt = exp(dnum);
  2549.         printf("The exp(%f) = %f\n", dnum, xpnt);
  2550.       }
  2551.  
  2552.  
  2553.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2554.  
  2555.       é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ φ¬ß»«¡Ñ¡Γδ áαúπ¼Ñ¡Γá x. é ß½πτáÑ
  2556.       »ÑαÑ»«½¡Ñ¡¿∩ («verflow) πßΓá¡áó½¿óáÑΓ errno ó ERANGE.
  2557.       é ß½πτáÑ »«ΓÑα¿ º¡áτ¿¼«ßΓ¿ (underflow) ó«ºóαáΘáÑΓ 0
  2558.       ¿ ¡Ñ πßΓá¡áó½¿óáÑΓ errno.
  2559.  
  2560.  
  2561.    ÉѬ«¼Ñ¡ñᵿ∩:
  2562.  
  2563.       æ¼«Γα¿ΓÑ ΓᬪѠlog, pow, sqrt.
  2564.  
  2565.  
  2566.  
  2567. fabs                       ÇüæÄï₧ÆìÄà çìÇùàìêà éàÖàæÆéàììÄâÄ
  2568.  
  2569.    êß»«½∞º«óá¡¿Ñ:
  2570.  
  2571.       #include <math.h>
  2572.       double fabs(double x);                     /* ANSI */
  2573.  
  2574.    Ä»¿ßá¡¿Ñ:
  2575.  
  2576.       é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ  º¡áτÑ¡¿Ñ  τ¿ß½á x,  ºáñá¡¡«ú« ß
  2577.       πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ∞ε.
  2578.  
  2579.    Åα¿¼Ñα:
  2580.  
  2581.       #include <math.h>
  2582.       #include <stdio.h>
  2583.       main()
  2584.       {
  2585.         double numbr, absval;
  2586.         numbr = -1.0;
  2587.         absval = fabs(numbr);
  2588.         printf("fabs «Γ (%f) αáó¡« %f\n", numbr, absval);
  2589.       }
  2590.  
  2591.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2592.  
  2593.       é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá.
  2594.  
  2595.    ÉѬ«¼Ñ¡ñᵿ∩:
  2596.  
  2597.       æ¼«Γα¿ΓÑ ΓᬪѠabs, labs.
  2598.  
  2599.  
  2600.  
  2601. farcalloc - farrealloc                ÉÇüÄÆÇ æ äÇï£ìàë èôùàë
  2602.  
  2603.    êß»«½∞º«óá¡¿Ñ:
  2604.  
  2605.       #include <dos.h>
  2606.       void far *farmalloc(unsigned long size);
  2607.       void far *farcalloc(unsigned long number, unsigned
  2608.                                                  long size);
  2609.       long farcoreleft(void);
  2610.       void farfree(void far *memblock);
  2611.       void far *farrealloc(void far *memblock, unsigned long
  2612.                                                    newsize);
  2613.  
  2614.    Ä»¿ßá¡¿Ñ:
  2615.  
  2616.       farmalloc   - ÄΓó«ñ¿Γ »á¼∩Γ∞ αẼÑα«¼  size  ó ñá½∞¡Ñ⌐
  2617.                     ¬πτÑ.
  2618.       farcalloc   - ÄΓó«ñ¿Γ »á¼∩Γ∞ »«ñ ¼áßß¿ó ñ½¿¡«⌐  number
  2619.                     φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ñ½¿¡«⌐ size
  2620.                     íá⌐Γ«ó, ó ñá½∞¡Ñ⌐ ¬πτÑ.
  2621.       farcoreleft - é«ºóαáΘáÑΓ óѽ¿τ¿¡π »á¼∩Γ¿ ó ñá½∞¡Ñ⌐ ¬π-
  2622.                     τÑ.
  2623.       farfree     - Äßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿ memblock,  óδñÑ-
  2624.                     ½Ñ¡¡δ⌐ »αѪñÑ ó ñá½∞¡Ñ⌐ ¬πτÑ.
  2625.       farrealloc  - ÅÑαÑ«»αÑñѽ∩ÑΓ αẼÑα αá¡ÑÑ ºáúαπªÑ¡¡«ú«
  2626.                     í½«¬á »á¼∩Γ¿ memblock º¡áτÑ¡¿Ñ¼ newsize.
  2627.  
  2628.          çá¼ÑΓ¿¼,  τΓ« óß∩ ñ«ßΓπ»¡á∩ »á¼∩Γ∞ (RAM) ¼«ªÑΓ íδΓ∞
  2629.          ºáñÑ⌐ßΓó«óá¡á; ¼«ªÑΓ íδΓ∞ óδñѽѡ í½«¬ »á¼∩Γ¿ í«½ÑÑ
  2630.          64 èí ¿ ñ½∩  ñ«ßΓπ»á ¬ í½«¬á¼  »á¼∩Γ¿  ¿ß»«½∞ºπεΓß∩
  2631.          ñá½∞¡¿Ñ π¬áºáΓѽ¿.
  2632.  
  2633.    ¥Γ¿ Σπ¡¬µ¿¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« «íαáΘáεΓß∩ ¬ MS DOS.  Ä¡¿ í«-
  2634. ½ÑÑ ¼Ññ½Ñ¡¡δ, τѼ, ¡á»α¿¼Ñα, malloc. Ä¡¿ ¼«úπΓ ΓᬪѠ»αÑñ«Γó-
  2635. αáΓ¿Γ∞ »ÑαÑ»«½¡Ñ¡¿Ñ ¬πτ¿ ó S, M, T ¼«ñѽ∩σ »á¼∩Γ¿ (¿ »«½Ñº¡δ
  2636. »αѪñÑ óßÑú« ñ½∩ ÑÑ αáßΦ¿αÑ¡¿∩). ô¬áºáΓѽ¿ ¡á ºáúαπªÑ¡¡πε »á-
  2637. ¼∩Γ∞ ñ«½ª¡δ íδΓ∞ «ßó«í«ªñÑ¡δ »αѪñÑ, τѼ ºáóÑαΦ¿Γß∩ »α«úαá¼-
  2638. ¼á,  ó »α«Γ¿ó¡«¼ ß½πτáÑ »á¼∩Γ∞ «ßΓá¡ÑΓß∩ ºá¡∩Γ«⌐ ñ« »ÑαѺáú-
  2639. απº¬¿ ¬«¼»∞εΓÑαá.
  2640.  
  2641.    Åα¿¼Ñα:
  2642.  
  2643.       #include <stdio.h>
  2644.       #include <dos.h>
  2645.       main()
  2646.       {
  2647.         char far *memblock;
  2648.         long allocate = 65000;
  2649.         printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡δ\n",farcoreleft());
  2650.         memblock = farmalloc(allocate);
  2651.         if (memblock == NULL)
  2652.         {
  2653.           printf("¡Ñ ß¼«ú½¿ αẼÑßΓ¿Γ∞ í½«¬ »á¼∩Γ¿\n");
  2654.           exit(1);
  2655.         }
  2656.         printf("%lu íá⌐Γ«ó «ΓóÑñÑ¡«", allocate);
  2657.         printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
  2658.         allocate/=2;
  2659.         memblock = farrealloc(memblock, allocate);
  2660.         printf("»á¼∩Γ∞ »ÑαÑαẼÑΘáÑΓß∩ ñ« %lu íá⌐Γ«ó",
  2661.                                                   allocate);
  2662.         printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
  2663.         farfree(memblock);
  2664.         printf("í½«¬ »á¼∩Γ¿ «ßó«í«ªñÑ¡");
  2665.         printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
  2666.       }
  2667.  
  2668.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2669.  
  2670.       farmalloc   - ó«ºóαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¡á αẼÑΘÑ¡-
  2671.                     ¡δ⌐ í½«¬ »á¼∩Γ¿ ¿½¿ NULL, Ñß½¿ ¡ÑΓ ñ«ßΓá-
  2672.                     Γ«τ¡«ú« ¬«½¿τÑßΓóá »á¼∩Γ¿.
  2673.  
  2674.       farcalloc   - ó«ºóαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¡á ºáúαπªÑ¡-
  2675.                     ¡δ⌐ í½«¬ »á¼∩Γ¿ ¿½¿ NULL, Ñß½¿ ¡ÑΓ ñ«ßΓá-
  2676.                     Γ«τ¡«ú« ¬«½¿τÑßΓóá »á¼∩Γ¿.
  2677.  
  2678.       farcoreleft - ó«ºóαáΘáÑΓ óѽ¿τ¿¡π »á¼∩Γ¿ ó ñá½∞¡Ñ⌐ ¬π-
  2679.                     τÑ.
  2680.  
  2681.       farfree     - ¡¿τÑú« ¡Ñ ó«ºóαáΘáÑΓ.
  2682.  
  2683.       farrealloc  - ó«ºóαáΘáÑΓ áñαÑß »ÑαѺáúαπªÑ¡¡«ú« í½«¬á,
  2684.                     ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ «Γ½¿τÑ¡ «Γ ¿ßσ«ñ¡«ú«.
  2685.  
  2686.    ÉѬ«¼Ñ¡ñᵿ∩:
  2687.  
  2688.       æ¼«Γα¿ΓÑ ΓᬪѠcalloc, free, malloc, realloc.
  2689.  
  2690.  
  2691. _farptr_norm                 ìÄÉîÇïêçÄéÇÆ£ äÇï£ìêë ôèÇçÇÆàï£
  2692. _farptr_fromlong               äÇï£ìêë ôèÇçÇÆàêç äïêììÄâÄ
  2693. _farptr_tolong                   äÇï£ìêë ôèÇçÇÆàé äïêììÄà
  2694.  
  2695.    êß»«½∞º«óá¡¿Ñ:
  2696.  
  2697.       #include <dos.h>
  2698.       void far *_farptr_norm(void far *ptr);
  2699.       void far *_farptr_fromlong(long value);
  2700.       long _farptr_tolong(void far *ptr);
  2701.  
  2702.    Ä»¿ßá¡¿Ñ:
  2703.  
  2704.       _farptr_norm ¡«α¼á½¿ºπÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ Γᬿ¼ «íαá-
  2705.       º«¼, τΓ« ß¼ÑΘÑ¡¿Ñ ßΓá¡«ó¿Γß∩ ¼Ñ¡ÑÑ 16. _farptr_fromlong
  2706.       »αÑ«íαáºπÑΓ long ¬ ¡«α¼á½¿º«óá¡¡«¼π ñá½∞¡Ñ¼π π¬áºáΓѽε.
  2707.       Åáαá¼ÑΓα ºáñáÑΓ  ½¿¡Ñ⌐¡δ⌐  áñαÑß «Γ 0.  _farptr_tolong
  2708.       »αÑ«íαáºπÑΓ ñá½∞¡¿⌐  π¬áºáΓѽ∞ ¬ ½¿¡Ñ⌐¡«¼π áñαÑßπ Γ¿»á
  2709.       long, »αÑñßΓáó½Ñ¡¡«¼π ñá¡¡δ¼ π¬áºáΓѽѼ.
  2710.  
  2711.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2712.  
  2713.       _farptr_norm ó«ºóαáΘáÑΓ ¡«α¼á½¿º«óá¡¡δ⌐ ñá½∞¡¿⌐ π¬áºá-
  2714.       Γѽ∞. _farptr_fromlong ó«ºóαáΘáÑΓ ¡«α¼á½¿º«óá¡¡δ⌐ ñá½∞-
  2715.       ¡¿⌐ π¬áºáΓѽ∞. _farptr_tolong ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á
  2716.       long.
  2717.  
  2718.    Åα¿¼Ñα:
  2719.  
  2720.       #include <stdio.h>
  2721.       #include <dos.h>
  2722.       main()
  2723.       {
  2724.         void far * pin, far * pout;
  2725.         long value;
  2726.         pin = MK_FP(0x1100, 0x2678);
  2727.         pout = _farptr_norm(pin);
  2728.         printf("%lp »«ß½Ñ ¡«α¼á½¿ºáµ¿¿ ñ«½ªÑ¡ ßΓáΓ∞"
  2729.                             "1367:0008, á Σá¬Γ¿τÑ߬¿=%lp\n",
  2730.                                                  pin, pout);
  2731.         value = 0xB7543;
  2732.         pout = _farptr_fromlong(value);
  2733.         printf("ÅαÑ«íαẫóá¡¿Ñ  0x%lX  ó ñá½∞¡¿⌐ π¬áºáΓѽ∞"
  2734.                "ñ«½ª¡« íδΓ∞ B754:0003, \n Σá¬Γ¿τÑ߬¿=%lp\n",
  2735.                                                value, pout);
  2736.         pin = MK_FP(0xbB754, 0x0013>);
  2737.         value = _farptr_tolong(pin);
  2738.         printf("ÅαÑ«íαẫóá¡¿Ñ %lp ó long ñ«½ª¡« íδΓ∞"
  2739.                "0xB7553, \n it actually is 0x%lX\n", pin,
  2740.                                                      value);
  2741.       }
  2742.  
  2743.  
  2744. fclose                                          çÇèɢƣ öÇëï
  2745.  
  2746.    êß»«½∞º«óá¡¿Ñ:
  2747.  
  2748.       #include <stdio.h>
  2749.       int fclose(FILE *fp);                       /* ANSI */
  2750.  
  2751.    Ä»¿ßá¡¿Ñ:
  2752.  
  2753.       çá¬αδóáÑΓ  Σá⌐½,  áßß«µ¿¿α«óá¡¡δ⌐ ß fp.  üπΣÑα óδó«ñá,
  2754.       ßó∩ºá¡¡δ⌐ ß fp, »ÑαÑñ ºá¬αδΓ¿Ñ¼ óδΓὬ¿óáÑΓß∩.
  2755.  
  2756.    Åα¿¼Ñα:
  2757.  
  2758.       #include <stdio.h>
  2759.       main()
  2760.       {
  2761.         FILE *fp;
  2762.         fp = fopen("file.dat", "r");
  2763.         if (fp==NULL)
  2764.            printf("öá⌐½ ñá¡¡δσ ¡Ñ «Γ¬αδΓ\n");
  2765.         else
  2766.            {
  2767.              fclose(fp);
  2768.              printf("öá⌐½ file.dat ºá¬αδΓ »α¿ »«¼«Θ¿
  2769.                                                 fclose\n");
  2770.            }
  2771.       }
  2772.  
  2773.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2774.  
  2775.       é«ºóαáΘáÑΓ 0, Ñß½¿ »«Γ«¬ πß»ÑΦ¡«  ºá¬αδΓ,  ¿ -1 ó »α«-
  2776.       Γ¿ó¡«¼ ß½πτáÑ.
  2777.  
  2778.    ÉѬ«¼Ñ¡ñᵿ∩:
  2779.  
  2780.       æ¼«Γα¿ΓÑ ΓᬪѠclose, fopen, freopen.
  2781.  
  2782.  
  2783. fcvt    ÅÉàÄüÉÇçÄéÇÆ£ DOUBLE é æÆÉÄèô æ öêèæêÉÄéÇììÄë ÆÄùèÄë
  2784.  
  2785.    êß»«½∞º«óá¡¿Ñ:
  2786.  
  2787.       #include <process.h>
  2788.       char *fcvt(double val, int nfrac, int *pdecpt,
  2789.                  int *psign);
  2790.  
  2791.    Ä»¿ßá¡¿Ñ:
  2792.  
  2793.       Æ« ªÑ,  τΓ« ¿ ecvt(),  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«,  τΓ« nfrac
  2794.       ß»Ñµ¿Σ¿µ¿απÑΓ ºñÑß∞  ¬«½¿τÑßΓó«  µ¿Σα,  ¬«Γ«α«Ñ ñ«½ª¡«
  2795.       íδΓ∞ »«ß½Ñ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿.
  2796.  
  2797.    Åα¿¼Ñα:
  2798.  
  2799.       #include <stdio.h>
  2800.       #include <process.h>
  2801.       main()
  2802.       {
  2803.         char *buffer;
  2804.         int dec, sign;
  2805.         buffer = fcvt(98.69138432, 5, &dec, &sign);
  2806.         printf("buffer=\"%s\", decimal = %d, sign = %d\n",
  2807.                                        buffer, dec, sign);
  2808.       }
  2809.  
  2810.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2811.  
  2812.       é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓáΓ¿τÑ߬πε ßΓα«¬π µ¿Σα, »ÑαÑ-
  2813.       ºá»¿ßδóáѼπε »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ecvt ¿½¿ fcvt.
  2814.  
  2815.    ÉѬ«¼Ñ¡ñᵿ∩:
  2816.  
  2817.       æ¼«Γα¿ΓÑ ΓᬪѠecvt, sprintf.
  2818.  
  2819.  
  2820. feof                           ÅÉÄéàÉèÇ ÅÉêçìÇèÇ èÄìûÇ öÇëïÇ
  2821.  
  2822.    êß»«½∞º«óá¡¿Ñ:
  2823.  
  2824.       #include <stdio.h>
  2825.       int feof (FILE *fp);                        /* ANSI */
  2826.  
  2827.    Ä»¿ßá¡¿Ñ:
  2828.  
  2829.       Ä»αÑñѽ∩ÑΓ, ¡áσ«ñ¿Γß∩ ½¿ »«Γ«¬ fp ó ¬«¡µÑ Σá⌐½á.
  2830.  
  2831.    Åα¿¼Ñα:
  2832.  
  2833.       #include <stdio.h>
  2834.       #define BUFSIZE 128
  2835.       char buffer [BUFSIZE];
  2836.       main()
  2837.       {
  2838.         FILE *fp;
  2839.         fp = fopen("file.dat", "r");
  2840.            {
  2841.              while(!feof(fp))
  2842.              fgets(buffer, BUFSIZE, fp);
  2843.            }
  2844.         printf("öá⌐½ »α«τ¿Γá¡, óßΓαÑΓ¿½ß∩ EOF \n", buffer);
  2845.       }
  2846.  
  2847.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2848.  
  2849.       ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ∩ó½∩ÑΓß∩ ¬«¡-
  2850.       µ«¼(Γ.Ñ. πßΓá¡«ó½Ñ¡ Σ½áú `eof'). Å«ß½Ñ πßΓá¡«ó¬¿ Σ½áúá
  2851.       ¡Ñ αáºαÑΦÑ¡δ «»Ñαᵿ¿ τΓÑ¡¿∩. ö½áú «»π߬áÑΓß∩ »α¿ «»Ñ-
  2852.       αᵿ∩σ rewind, fseek, ¿ »α¿ ºá¬αδΓ¿¿ »«Γ«¬á. é«ºóαáΘá-
  2853.       ÑΓ 0, Ñß½¿ Σ½áú ¡Ñ πßΓá¡«ó½Ñ¡.
  2854.  
  2855.    ÉѬ«¼Ñ¡ñᵿ∩:
  2856.  
  2857.       æ¼«Γα¿ΓÑ ΓᬪѠclearerr, ferror.
  2858.  
  2859.  
  2860.  
  2861. ferror                      ÅÉÄéàÉèÇ ÅÉêçìÇèÇ Äÿêüèê é öÇëïà
  2862.  
  2863.    êß»«½∞º«óá¡¿Ñ:
  2864.  
  2865.       #include <stdio.h>
  2866.       int ferror (FILE * fp);                     /* ANSI */
  2867.  
  2868.    Ä»¿ßá¡¿Ñ:
  2869.  
  2870.       è«¡Γα«½¿απÑΓ Σ½áú `error' ó »«Γ«¬Ñ fp. ¥Γ«Γ Σ½áú «»πß-
  2871.       ¬áÑΓß∩ »« rewind, clearerr, fseek ¿½¿ »α¿ ºá¬αδΓ¿¿ »«-
  2872.       Γ«¬á.
  2873.  
  2874.    Åα¿¼Ñα:
  2875.  
  2876.       #include <stdio.h>
  2877.       main()
  2878.       {
  2879.         int c;
  2880.         if ((c=fgetc(stdin))==EOF)
  2881.            if (ferror(stdin))
  2882.               {
  2883.                 fprintf(stderr, "ÄΦ¿í¬á τΓÑ¡¿∩\n");
  2884.                 clearerr(stdin);
  2885.               }
  2886.         printf("üѺ «Φ¿í«¬\n");
  2887.       }
  2888.  
  2889.  
  2890.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2891.  
  2892.       ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ,  Ñß½¿  πßΓá¡«ó½Ñ¡ Σ½áú «Φ¿í¬¿, 0 ó
  2893.       »α«Γ¿ó¡«¼ ß½πτáÑ.
  2894.  
  2895.    ÉѬ«¼Ñ¡ñᵿ∩:
  2896.  
  2897.       æ¼«Γα¿ΓÑ ΓᬪѠclearerr, feof.
  2898.  
  2899.  
  2900.  
  2901. fflush                                é¢ÆÄïèìôÆ£ üôöàÉ öÇëïÇ
  2902.  
  2903.    êß»«½∞º«óá¡¿Ñ:
  2904.  
  2905.       #include <stdio.h>
  2906.       int fflush(FILE *fp);                       /* ANSI */
  2907.  
  2908.    Ä»¿ßá¡¿Ñ:
  2909.  
  2910.       éδΓὬ¿óáÑΓ íπΣÑα, ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼ fp. àß½¿ Σá⌐½
  2911.       «Γ¬αδΓ »« ºá»¿ß¿,  íπΣÑα ßíαáßδóáÑΓß∩ ¡á Σá⌐½.  àß½¿
  2912.       Σá⌐½ «Γ¬αδΓ »« τΓÑ¡¿ε, íπΣÑα τ¿ßΓ¿Γß∩.
  2913.  
  2914.    Åα¿¼Ñα:
  2915.  
  2916.       #include <stdio.h>
  2917.       FILE *fp;
  2918.       main()
  2919.       {
  2920.         if (!(fp = fopen("file.dat", "w")))
  2921.             return;
  2922.         fflush(fp);  /* óδΓὬ¿óáѼ  íπΣÑα  ¡á  ñ¿ß¬  ñ½∩ */
  2923.                      /* ºáΘ¿Γδ  ñá¡¡δσ  »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ */
  2924.                      /* «»Ñαᵿ¿, ¼«úπΘÑ⌐ ß½«¼áΓ∞ ß¿ßΓѼπ */
  2925.       }
  2926.  
  2927.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2928.  
  2929.       é«ºóαáΘáÑΓ 0, Ñß½¿ íπΣÑα óδΓ«½¬¡πΓ πß»ÑΦ¡«,  ó »α«Γ¿ó-
  2930.       ¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ EOF.
  2931.  
  2932.    ÉѬ«¼Ñ¡ñᵿ∩:
  2933.  
  2934.       æ¼«Γα¿ΓÑ ΓᬪѠfclose, flushall.
  2935.  
  2936.  
  2937.  
  2938. fgetc                                   éçƒÆ£ üÇëÆ êç öÇëïÇ
  2939.  
  2940.    êß»«½∞º«óá¡¿Ñ:
  2941.  
  2942.       #include <stdio.h>
  2943.       int fgetc(FILE *fp);                        /* ANSI */
  2944.  
  2945.  
  2946.    Ä»¿ßá¡¿Ñ:
  2947.  
  2948.       ù¿ΓáÑΓ  ¿  ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐  íá⌐Γ  ¿º  »«Γ«¬á  fp.
  2949.  
  2950.  
  2951.    Åα¿¼Ñα:
  2952.  
  2953.       #include <stdio.h>
  2954.       main()
  2955.       {
  2956.         int ch;
  2957.         fputs("éó«ñ¿ΓÑ ñá¡¡δÑ, ó ¬«¡µÑ - ctrl-Z:  ", stdout);
  2958.         while((ch = fgetc(stdin))!=EOF)
  2959.            fputc(ch, stdout);
  2960.       }
  2961.  
  2962.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  2963.  
  2964.       é«ºóαáΘáÑΓ íá⌐Γ »α¿  πß»ÑΦ¡«¼  τΓÑ¡¿¿  ¿½¿  EOF,  Ñß½¿
  2965.       óßΓαÑΓ¿Γß∩ ¬«¡Ñµ Σá⌐½á ¿½¿ «Φ¿í¬á τΓÑ¡¿∩.
  2966.  
  2967.    ÉѬ«¼Ñ¡ñᵿ∩:
  2968.  
  2969.       æ¼«Γα¿ΓÑ ΓᬪѠ fputc, putchar, getc, getchar, getche,
  2970.       getch.
  2971.  
  2972.  
  2973. fgets                                  éçƒÆ£ æÆÉÄèô êç öÇëïÇ
  2974.  
  2975.    êß»«½∞º«óá¡¿Ñ:
  2976.  
  2977.       #include <stdio.h>
  2978.       char *fgets(char *str, int n, FILE *fp);    /* ANSI */
  2979.  
  2980.    Ä»¿ßá¡¿Ñ:
  2981.  
  2982.       æτ¿ΓδóáÑΓ  ½¿ΓÑαδ ¿º »«Γ«¬á fp ó ßΓ᫬𠠻«  π¬áºáΓѽε
  2983.       str.  ùΓÑ¡¿Ñ ºá¬á¡τ¿óáÑΓß∩,  ¬«úñá  óßΓαÑτáÑΓß∩ ½¿ΓÑαá
  2984.       `\n' (¡«óá∩ ßΓ᫬á), ¬«¡Ñµ Σá⌐½á, ó«º¡¿¬áÑΓ «Φ¿í¬á τΓÑ-
  2985.       ¡¿∩ ¿½¿ τ¿ß½« »α«τ¿Γá¡¡δσ  ½¿ΓÑα  ñ«ßΓ¿úáÑΓ n-1. æΓ᫬á
  2986.       ºáóÑαΦáÑΓß∩ 0.  ï¿ΓÑαá '\n' (¡«óá∩ ßΓ᫬á) ó¬½ετáÑΓß∩ ó
  2987.       ßΓ᫬π (»ÑαÑñ 0).
  2988.  
  2989.  
  2990.    Åα¿¼Ñα:
  2991.  
  2992.       #include <stdio.h>
  2993.       main()
  2994.       {
  2995.         char buffer[225];
  2996.         int buflen;
  2997.         char *result;
  2998.         buflen=255;
  2999.         fputs("éóÑñ¿ΓÑ ßΓ᫬π ñá¡¡δσ\n", stdout);
  3000.         result=fgets(buffer, buflen, stdin);
  3001.         if (!result)
  3002.             printf("\n ¬«¡Ñµ Σá⌐½á (EOF) ¿½¿ «Φ¿í¬á
  3003.                                                (ERROR)\n");
  3004.         else fputs(buffer, stdout);
  3005.       }
  3006.  
  3007.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3008.  
  3009.       é«ºóαáΘáÑΓ ßΓ᫬π  str  ó ß½πτáÑ πß»Ñσá.  àß½¿ ¡Ñ í佫
  3010.       »α«τ¿Γá¡«  ¡¿  «ñ¡«⌐  ½¿ΓÑαδ ¿ »α«¿º«Φ½á «Φ¿í¬á τΓÑ¡¿∩
  3011.       ¿½¿ óßΓαÑτÑ¡ EOF, ó«ºóαáΘáÑΓ NULL,  á ßΓ᫬á str «ßΓá-
  3012.       ÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿∩.  àß½¿  ó«º¡¿¬½á «Φ¿í¬á »α¿ τΓÑ¡¿¿,
  3013.       ó«ºóαáΘáÑΓ NULL, á ó ßΓα«¬Ñ ó«º¼«ªÑ¡ ¼πß«α.
  3014.  
  3015.    ÉѬ«¼Ñ¡ñᵿ∩:
  3016.  
  3017.       æ¼«Γα¿ΓÑ ΓᬪѠfputs, gets, puts.
  3018.  
  3019.  
  3020.  
  3021. fileno                                 äÇÆ£ äàæèÉêÅÆÄÉ öÇëïÇ
  3022.  
  3023.    êß»«½∞º«óá¡¿Ñ:
  3024.  
  3025.       #include <stdio.h>
  3026.       int fileno(FILE *fp);
  3027.  
  3028.    Ä»¿ßá¡¿Ñ:
  3029.  
  3030.       é«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á,  áßß«µ¿¿α«óá¡¡«ú« ß »«Γ«-
  3031.       ¬«¼ fp (`file handle'ó MS DOS).
  3032.  
  3033.    Åα¿¼Ñα:
  3034.  
  3035.       #include <stdio.h>
  3036.       main()
  3037.       {
  3038.         int fd,
  3039.         fd = fileno(stderr);
  3040.         printf("äÑß¬α¿»Γ«α Σá⌐½á stderr αáóÑ¡ %d\n", fd);
  3041.         fd = fileno(stdaux);
  3042.         printf("äÑß¬α¿»Γ«α Σá⌐½á stdaux αáóÑ¡ %d\n", fd);
  3043.         fd = fileno(stdprn);
  3044.         printf("äÑß¬α¿»Γ«α Σá⌐½á stdprn αáóÑ¡ %d\n", fd);
  3045.       }
  3046.  
  3047.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3048.  
  3049.       é«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á. Äí «Φ¿í¬áσ ¡Ñ ß««íΘáÑΓß∩.
  3050.  
  3051.    ÉѬ«¼Ñ¡ñᵿ∩:
  3052.  
  3053.       æ¼«Γα¿ΓÑ ΓᬪѠfopen, freopen.
  3054.  
  3055.  
  3056. filesize                                  äÇÆ£ ÉÇçîàÉ öÇëïÇ
  3057.  
  3058.    êß»«½∞º«óá¡¿Ñ:
  3059.  
  3060.       #include <io.h>
  3061.       long filesize(char *filename);
  3062.  
  3063.    Ä»¿ßá¡¿Ñ:
  3064.  
  3065.       Ä»αÑñѽ∩ÑΓ  αẼÑα  Σá⌐½á  ó íá⌐Γáσ.  ê¼∩ Σá⌐½á ñ«½ª¡«
  3066.       íδΓ∞ ¿¼Ñ¡Ñ¼  ßπΘÑßΓóπεΘÑú«  Σá⌐½á,  ºá¬αδΓ«ú« ó ñá¡¡δ⌐
  3067.       ¼«¼Ñ¡Γ.
  3068.  
  3069.    Åα¿¼Ñα:
  3070.  
  3071.       #include <io.h>
  3072.       main()
  3073.       {
  3074.         long size;
  3075.         size = filesize("file.dat);
  3076.         printf("ÉẼÑα Σá⌐½á file.dat αáóÑ¡ %d\n", size);
  3077.       }
  3078.  
  3079.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3080.  
  3081.       é«ºóαáΘáÑΓ ñ½¿¡π  Σá⌐½á  ó íá⌐Γáσ ó ß½πτáÑ  πß»Ñσá,  ó
  3082.       »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ -1L ¿ πßΓá¡áó½¿óáÑΓ errno.
  3083.  
  3084.    ÉѬ«¼Ñ¡ñᵿ∩:
  3085.  
  3086.       æ¼«Γα¿ΓÑ ΓᬪѠstat, fstat.
  3087.  
  3088.  
  3089. findfirst, findnext                  ÅÄêæè öÇëïÄé ÅÄ ÿÇüïÄìô
  3090.  
  3091.    êß»«½∞º«óá¡¿Ñ:
  3092.  
  3093.       #include <dos.h>
  3094.       struct FIND *findfirst(char*partname, int attribute);
  3095.       struct FIND *findnext(void);
  3096.  
  3097.    Ä»¿ßá¡¿Ñ:
  3098.  
  3099.       æ¿ßΓѼ¡δÑ ó맮óδ findfirst ¿ findnext ¿ß»«½∞ºπεΓß∩ ñ½∩
  3100.       »«¿ß¬á Σá⌐½«ó, ß««ΓóÑΓßΓóπεΘ¿σ Φáí½«¡π,  ¬«Γ«αδ⌐ ¼«ªÑΓ
  3101.       «σóáΓδóáΓ∞ µÑ½«Ñ ¼¡«ªÑßΓó« Σá⌐½«ó  »«ßαÑñßΓó«¼ ¿ß»«½∞-
  3102.       º«óá¡¿∩ ß¿¼ó«½«ó  `*' ¿½¿ `?'  ó  ¿¼Ñ¡¿  Σá⌐½á ¿½¿ Ñú«
  3103.       αáßΦ¿αÑ¡¿¿  (¡« ¡Ñ ó «»¿ßá¡¿¿  »πΓ¿  ñ«ßΓπ»á ¬ Σá⌐½π).
  3104.       Çαúπ¼Ñ¡Γ `attribute' ∩ó½∩ÑΓß∩ áΓα¿íπΓ«¼ ¿ß¬«¼«ú« Σá⌐½á.
  3105.       é «íαáΘÑ¡¿¿ ¬ findfirst ¼«ªÑΓ íδΓ∞ ºáñá¡« í«½ÑÑ «ñ¡«ú«
  3106.       áΓα¿íπΓ¡«ú« í¿Γá.  æ««ΓóÑΓßΓóπεΘ¿Ñ «»¿ßá¡¿∩ áΓα¿íπΓ¡δσ
  3107.       í¿Γ«ó ¡áσ«ñ∩Γß∩ ó dos.h Σá⌐½Ñ:
  3108.  
  3109.             ÇÆÉêüôÆ             ÆêÅ öÇëïÇ
  3110.            FA_RDONLY               0x01
  3111.            FA_HIDDEN               0x02
  3112.            FA_SYSTEM               0x04
  3113.            FA_LABEL                0x08
  3114.            FA_DIREC                0x10
  3115.            FA_ARCH                 0x20
  3116.  
  3117.       é ß½πτáÑ ¡π½Ñó«ú«  º¡áτÑ¡¿∩  `attribute'  «Γδ߬¿óáεΓß∩
  3118.       óßÑ «íδτ¡δÑ Σá⌐½δ.  ô¬áºáΓѽ∞ ¡á ó«ºóαáΘáѼπε ßΓαπ¬Γπ-
  3119.       απ ∩ó½∩ÑΓß∩ ßΓáΓ¿τÑ߬¿¼,  ΓᬠτΓ«, Ñß½¿ φΓá ¿¡Σ«α¼áµ¿∩
  3120.       ¡πª¡á,  «¡á ñ«½ª¡á íδΓ∞  ß¬«»¿α«óá¡á  ó ñαπú«⌐  íπΣÑα.
  3121.       ÄíαáΘÑ¡¿Ñ ¬ findnext ñáÑΓ ß½ÑñπεΘ¿⌐  Σá⌐½,  »«ñσ«ñ∩Θ¿⌐
  3122.       »« Φáí½«¡π,  ºáñá¡¡«¼π  ó  »αÑñΦÑßΓóπεΘѼ  «íαáΘÑ¡¿¿ ¬
  3123.       findfirst. Å«φΓ«¼π ó맮óδ findnext ñ«½ª¡δ ß½Ññ«óáΓ∞ ºá
  3124.       óδº«ó«¼ findfirst.
  3125.  
  3126.    Åα¿¼Ñα:
  3127.  
  3128.       #include <stdio.h>
  3129.       #include <dos.h>
  3130.       main()
  3131.       {
  3132.         struct FIND *p;
  3133.         printf("éδó«ñ ¬áΓὫúá *.*\n");
  3134.         p = findfirst("*.*", 0);
  3135.         while (p)
  3136.            {
  3137.              printf("%s\n", p->name);
  3138.              p = findnext();
  3139.            }
  3140.       }
  3141.  
  3142.  
  3143.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3144.  
  3145.       é ß½πτáÑ πß»Ñσá  ó«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á ßΓáΓ¿τÑ߬πε
  3146.       ßΓαπ¬Γπαπ FIND,  «»αÑñѽѡ¡πε ó dos.h Σá⌐½Ñ,  ¿½¿ NULL
  3147.       ñ½∩ ¿¡ñ¿¬áµ¿¿ ¬«¡µá »«¿ß¬á ¿½¿ «Φ¿í¬¿.
  3148.  
  3149.  
  3150.  
  3151. floor                                            ûàïǃ ùÇæÆ£
  3152.  
  3153.    êß»«½∞º«óá¡¿Ñ:
  3154.  
  3155.       #include <math.h>
  3156.       double floor(double x);                     /* ANSI */
  3157.  
  3158.    Ä»¿ßá¡¿Ñ:
  3159.  
  3160.       é«ºóαáΘáÑΓ ¡á¿í«½∞ΦÑÑ µÑ½«Ñ  (ó ó¿ñÑ τ¿ß½á ß πñó«Ñ¡¡«⌐
  3161.       Γ«τ¡«ßΓ∞ε), ¡Ñ »αÑóδΦáεΘÑÑ x.
  3162.  
  3163.    Åα¿¼Ñα:
  3164.  
  3165.       #include <stdio.h>
  3166.       #include <math.h>
  3167.       main()
  3168.       {
  3169.         double d;
  3170.         d=floor(4.8);
  3171.         printf("floor «Γ 4.8 αáóÑ¡ %f\n", d);
  3172.         d=floor(-4.8);
  3173.         printf("floor «Γ -4.8 αáóÑ¡ %f\n", d);
  3174.       }
  3175.  
  3176.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3177.  
  3178.       é«ºóαáΘáÑΓ αѺπ½∞ΓáΓ Γ¿»á double.
  3179.  
  3180.    ÉѬ«¼Ñ¡ñᵿ∩:
  3181.  
  3182.       æ¼«Γα¿ΓÑ ΓᬪѠceil, fmod.
  3183.  
  3184.  
  3185. flushall              é¢ÆÄïèìôÆ£ üôöàÉÇ éæàò ÄÆèɢƢò öÇëïÄé
  3186.  
  3187.    êß»«½∞º«óá¡¿Ñ:
  3188.  
  3189.       #include <stdio.h>
  3190.       int flushall(void);
  3191.  
  3192.  
  3193.    Ä»¿ßá¡¿Ñ:
  3194.  
  3195.       öπ¡¬µ¿∩ flushall óδΓὬ¿óáÑΓ  íπΣÑαá óó«ñá/óδó«ñá óßÑσ
  3196.       «Γ¬αδΓδσ »«Γ«¬«ó. éßÑ »«Γ«¬¿ »«ß½Ñ αáí«Γδ flushall oc-
  3197.       ΓáεΓß∩ «Γ¬αδΓ묨. ïεíá∩ «»Ñαᵿ∩ τΓÑ¡¿∩ τ¿ΓáÑΓ ó íπΣÑ-
  3198.       αá ¡«óδÑ ñá¡¡δÑ.
  3199.  
  3200.  
  3201.    Åα¿¼Ñα:
  3202.  
  3203.       #include <stdio.h>
  3204.       main ()
  3205.       { int totalflushed;
  3206.             totalflushed = flushall();
  3207.       }
  3208.  
  3209.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3210.  
  3211.       é«ºóαáΘáÑΓ τ¿ß½« «Γ¬αδΓδσ »«Γ«¬«ó.
  3212.  
  3213.    ÉѬ«¼Ñ¡ñᵿ∩:
  3214.  
  3215.       æ¼«Γα¿ΓÑ ΓᬪѠfflush
  3216.  
  3217.  
  3218. fmod                          ÄæÆÇÆÄè ÄÆ äàïàìꃠ äéôò ùêæàï
  3219.  
  3220.    êß»«½∞º«óá¡¿Ñ:
  3221.  
  3222.       #include <math.h>
  3223.       double f mod (double x, double y);
  3224.  
  3225.    Ä»¿ßá¡¿Ñ:
  3226.  
  3227.       fmod óδñáÑΓ ó »½áóáεΘѼ Σ«α¼áΓÑ «ßΓáΓ«¬ «Γ ñѽѡ¿∩ «ñ-
  3228.       ¡«ú« τ¿ß½á ¡á ñαπú«Ñ.  Ä¡á ó«ºóαáΘáÑΓ x, Ñß½¿ «¡ ¡«½∞,
  3229.       ½¿í« τ¿ß½« F ß ΓѼ ªÑ º¡á¬«¼, τΓ« π x, - ΓᬫÑ, τΓ«
  3230.       x = L*y + F ñ½∩ ¡Ñ¬«Γ«α«ú« µÑ½«ú« L  ¿  |F| < |y|.
  3231.  
  3232.    Åα¿¼Ñα:
  3233.  
  3234.       #include <stdio.h>
  3235.       #include <math.h>
  3236.       main ()
  3237.       {
  3238.         double x, y, d;
  3239.         x = 5.0; y = 3.0;
  3240.         d = fmod (x,y);
  3241.         printf("fmod(%.2f, %.2f) = %f\n,x,y,d);
  3242.       }
  3243.  
  3244.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3245.  
  3246.       fmode ó«ºóαáΘáÑΓ «ßΓáΓ«¬ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
  3247.  
  3248.    ÉѬ«¼Ñ¡ñᵿ∩:
  3249.  
  3250.       æ¼«Γα¿ΓÑ ΓᬪѠceil, floor, modf
  3251.  
  3252. fopen                                           ÄÆèɢƣ öÇëï
  3253.  
  3254.    êß»«½∞º«óá¡¿Ñ:
  3255.  
  3256.       #include <stdio.h>
  3257.       FILE *fopen(char *name, char *mode);        /* ANSI */
  3258.  
  3259.    Ä»¿ßá¡¿Ñ:
  3260.  
  3261.       ÄΓ¬αδóáÑΓ Σá⌐½, ºáñá¡¡δ⌐ ¿¼Ñ¡Ñ¼ name. Mode ÑßΓ∞ ßΓ᫬á
  3262.       ß¿¼ó«½«ó, π¬áºδóáεΘá∩ αѪ¿¼ ñ«ßΓπ»á ¬ Σá⌐½π. é«º¼«ª¡δÑ
  3263.       º¡áτÑ¡¿∩ mode:
  3264.  
  3265.       `r'     - ñ½∩ τΓÑ¡¿∩
  3266.       `w'     - ñ½∩ ºá»¿ß¿ (Ñß½¿ Σá⌐½ ßπΘÑßΓóπÑΓ, «¡ «íαѺá-
  3267.                 ÑΓß∩ »« ¡áτá½π)
  3268.       `a'     - ñ½∩ ñ«íáó½Ñ¡¿∩  (Ñß½¿  Σá⌐½  ßπΘÑßΓóπÑΓ,  Γ«
  3269.                 «Γ¬αδóáÑΓß∩ ñ½∩ ºá»¿ß¿ ó ¬«¡Ñµ Σá⌐½á,  ¿¡áτÑ
  3270.                 «¡ ß«ºñáÑΓß∩)
  3271.       `r+'    - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿
  3272.       `w+'    - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿  (Ñß½¿ Σá⌐½  ßπΘÑßΓóπÑΓ,
  3273.                 «¡ «íαѺáÑΓß∩, ¿¡áτÑ «¡ ß«ºñáÑΓß∩)
  3274.       `a+'    - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿  (Ñß½¿ Σá⌐½  ßπΘÑßΓóπÑΓ,
  3275.                 »α«¿ºó«ñ¿Γß∩ »«º¿µ¿«¡¿α«ó᡿Ѡ󠬫¡Ñµ Σá⌐½á,
  3276.                 ¿¡áτÑ «¡ ß«ºñáÑΓß∩)
  3277.  
  3278.       ä«»«½¡¿Γѽ∞¡« ó ßΓ᫬π mode ¼«ªÑΓ íδΓ∞ ñ«íáó½Ñ¡ ß¿¼ó«½
  3279.       `b' ñ½∩ «Γ¬αδΓ¿∩ Σá⌐½á ó ñó«¿τ¡«¼ αѪ¿¼Ñ (π¼«½τá¡¿Ñ ºá-
  3280.       ñáÑΓ ΓѬßΓ«óδ⌐ αѪ¿¼). àß½¿ Σá⌐½ «Γ¬αδΓ ¿ ñ½∩ τΓÑ¡¿∩ ¿
  3281.       ñ½∩ ºá»¿ß¿,  Γ«½∞¬« τΓÑ¡¿Ñ  ¿½¿ Γ«½∞¬« ºá»¿ß∞ ¼«ªÑΓ óδ-
  3282.       »«½¡∩Γ∞ß∩.  ùΓ«íδ »ÑαѬ½ετ¿Γ∞ß∩ «Γ τΓÑ¡¿∩ ¬ ºá»¿ß¿ ¿½¿
  3283.       ¡á«í«α«Γ, ¡Ñ«íσ«ñ¿¼« óδºóáΓ∞  fseek()  »α¿¼Ñ¡¿Γѽ∞¡« ¬
  3284.       ñá¡¡«¼π »«Γ«¬π,  Ñß½¿ Γ«½∞¬« »α¿ τΓÑ¡¿¿ (óó«ñÑ) ¡Ñ íδ½
  3285.       óßΓαÑτÑ¡ »α¿º¡á¬ EOF (ànd Of File) ¬«¡µá Σá⌐½á.
  3286.  
  3287.    Åα¿¼Ñα:
  3288.  
  3289.       #include <stdio.h>
  3290.       main()
  3291.       {
  3292.         FILE *fp;
  3293.         fp = fopen("file.dat", "r");
  3294.         printf("ÄΓ¬α뫨 ΓѬßΓ«óδ⌐ Σá⌐½\n");
  3295.         if (fp) fclose(fp);
  3296.         fp = fopen("CON",  "wb");
  3297.         printf("çóπ¬«ó«⌐ ß¿ú¡á½\n");
  3298.         fputc(0x07, fp);
  3299.         if (fp) fclose(fp);
  3300.         fp = fopen("CON",  "rb");
  3301.         printf("éóÑñ¿ΓÑ ßΓ᫬π\n");
  3302.         if (fp && fgetc(fp)==3);
  3303.         printf("\n éóÑñÑ¡« Ctrl-C\n");
  3304.         if (fp) fclose(fp);
  3305.         fp = fopen("PRN", "w");
  3306.         printf("Å¿ΦѼ ¡á »α¿¡ΓÑα\n");
  3307.         if (fp) fclose(fp);
  3308.         fp = fopen("file.dat", "a+");
  3309.         printf("Äí¡«ó½∩Ѽ Σá⌐½ ó ¬«ñÑ ASCII\n");
  3310.         if (fp) fclose(fp);
  3311.       }
  3312.  
  3313.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3314.  
  3315.       é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á  FILE  ñ½∩  «Γ¬αδΓ«ú« Σá⌐½á.
  3316.       ç¡áτÑ¡¿Ñ NULL π¬áºδóáÑΓ ¡á ¡á½¿τ¿Ñ «Φ¿í¬¿.
  3317.  
  3318.    ÉѬ«¼Ñ¡ñᵿ∩:
  3319.  
  3320.       æ¼«Γα¿ΓÑ ΓᬪѠfclose, freopen, open
  3321.  
  3322.  
  3323. FP_OFF, FP_SEG                             æàâîàìÆ, æîàÖàìêà
  3324.  
  3325.    êß»«½∞º«óá¡¿Ñ:
  3326.  
  3327.       #include <dos.h>
  3328.       unsigned FP_OFF(int far *long_pointer);
  3329.       unsigned FP_SEG(void far *long_pointer);
  3330.  
  3331.    Ä»¿ßá¡¿Ñ:
  3332.  
  3333.       FP_OFF  ¿  FP_SEG ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿ºó½ÑτÑ¡¿∩ ¿º ñá½∞-
  3334.       ¡Ñú« π¬áºáΓѽ∩ ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩. ¥Γ¿ Σπ¡¬µ¿¿ αÑ὿-
  3335.       º«óá¡δ ¬á¬ ¼á¬α«ßδ.
  3336.  
  3337.    Åα¿¼Ñα:
  3338.  
  3339.       #include <dos.h>
  3340.       #include <stdio.h>
  3341.       main()
  3342.       {
  3343.         char far *p;
  3344.         unsigned int segment, offset;
  3345.         p = MK_FP(0xb000, 0);
  3346.         segment = FP_SEG(p);
  3347.         offset = FP_OFF(p);
  3348.         printf("æÑú¼Ñ¡Γ ñ½∩ ¼«¡«ó¿ñÑ«:
  3349.            ßÑú¼Ñ¡Γ:ß¼ÑΘÑ¡¿Ñ = %04x:%04\n", segment, offset);
  3350.       }
  3351.  
  3352.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3353.  
  3354.       FP_SEG ó«ºóαáΘáÑΓ 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩ ßÑú-
  3355.       ¼Ñ¡Γ¡«⌐ τáßΓ∞ε ñá½∞¡Ñú« π¬áºáΓѽ∩.
  3356.       FP_OFF   ó«ºóαáΘáÑΓ  16-í¿Γ«ó«Ñ  º¡áτÑ¡¿Ñ,  ∩ó½∩εΘÑÑß∩
  3357.       ß¼ÑΘÑ¡¿Ñ¼ ó úαá¡¿µáσ ßÑú¼Ñ¡Γá ñá½∞¡Ñú« π¬áºáΓѽ∩.
  3358.  
  3359.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ MK_FP.
  3360.  
  3361.  
  3362. fprintf                               öÄÉîÇÆì¢ë é¢éÄä é öÇëï
  3363.  
  3364.    êß»«½∞º«óá¡¿Ñ:
  3365.  
  3366.       #include <dos.h>
  3367.       int fprintf(FILE *stream, const char * format,...);
  3368.                                                   /* ANSI */
  3369.  
  3370.    Ä»¿ßá¡¿Ñ:
  3371.  
  3372.       ÄßπΘÑßΓó½∩ÑΓ Σ«α¼áΓ¿α«óá¡¡δ⌐ óδó«ñ ó ß»Ñµ¿Σ¿µ¿α«óá¡¡δ⌐
  3373.       »«Γ«¬.  Ä»¿ßá¡¿Ñ format ß«ó»áñáÑΓ ß á¡á½«ú¿τ¡δ¼ «»¿ßá-
  3374.       ¡¿Ñ¼ ñ½∩ printf.
  3375.  
  3376.    Åα¿¼Ñα:
  3377.  
  3378.       #include <stdio.h>
  3379.       main()
  3380.       {
  3381.         fprintf(stdout, "¥Γ« »α¿¼Ñα\n");
  3382.       }
  3383.  
  3384.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3385.  
  3386.       é«ºóαáΘáÑΓ ¬«½¿τÑßΓ󫠺ỿßá¡¡δσ ½¿ΓÑα ½¿í« «Γα¿µáΓÑ-
  3387.       ½∞¡«Ñ º¡áτÑ¡¿Ñ ó ß½πτáÑ «Φ¿í¬¿.
  3388.  
  3389.    ÉѬ«¼Ñ¡ñᵿ∩:
  3390.  
  3391.       æ¼«Γα¿ΓÑ ΓᬪѠprintf, sprintf, vfprintf.
  3392.  
  3393.  
  3394. fputc                                    çÇÅêæ£ üÇëÆÇ é öÇëï
  3395.  
  3396.    êß»«½∞º«óá¡¿Ñ:
  3397.  
  3398.       #include <stdio.h>
  3399.       int fputc (int c, FILE *fp);                /* ANSI */
  3400.  
  3401.    Ä»¿ßá¡¿Ñ:
  3402.  
  3403.       çỿßδóáÑΓ íá⌐Γ `c' ó »«Γ«¬ fp.
  3404.  
  3405.    Åα¿¼Ñα:
  3406.  
  3407.       #include <stdio.h>
  3408.       FILE * fp;
  3409.       main()
  3410.       {
  3411.         char * line = "¥Γ« »α¿¼Ñα";
  3412.         fp = stdout;
  3413.         while (*line)
  3414.         fputc (*line++, fp);
  3415.       }
  3416.  
  3417.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3418.  
  3419.       é«ºóαáΘáÑΓ íá⌐Γ, ºá»¿ßá¡¡δ⌐ ó »«Γ«¬.  é ß½πτáÑ «Φ¿í¬¿
  3420.       ó«ºóαáΘáÑΓ EOF.
  3421.  
  3422.    ÉѬ«¼Ñ¡ñᵿ∩:
  3423.  
  3424.       æ¼«Γα¿ΓÑ ΓᬪѠfgetc, getc, getchar.
  3425.  
  3426.  
  3427. fputs                                   çÇÅêæ£ æÆÉÄèê é öÇëï
  3428.  
  3429.    êß»«½∞º«óá¡¿Ñ:
  3430.  
  3431.       #include <stdio.h>
  3432.       int fputs(char *s, FILE *fp);               /* ANSI */
  3433.  
  3434.    Ä»¿ßá¡¿Ñ:
  3435.  
  3436.       çỿßδóáÑΓ ßΓ᫬π 's', ¿ß¬½ετá∩ ºáóÑαΦáεΘπε ½¿ΓÑαπ Ä,
  3437.       ó »«Γ«¬ fp
  3438.  
  3439.    Åα¿¼Ñα:
  3440.  
  3441.       #include <stdio.h>
  3442.       main()
  3443.       {
  3444.         if (fputs("Hello World\n", stdout)==-1)
  3445.         fprintf(stderr, "ÄΦ¿í¬á óδó«ñá\n");
  3446.       }
  3447.  
  3448.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3449.  
  3450.       é«ºóαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿ ¡Ñ 0 »α¿ «Φ¿í¬Ñ ºá»¿ß¿.
  3451.  
  3452.    ÉѬ«¼Ñ¡ñᵿ∩:
  3453.  
  3454.       æ¼«Γα¿ΓÑ ΓᬪѠfgets, gets, puts.
  3455.  
  3456.  
  3457. fread                                        ùêÆÇÆ£ êç öÇëïÇ
  3458.  
  3459.    êß»«½∞º«óá¡¿Ñ:
  3460.  
  3461.       #include <stdio.h>
  3462.       int fread(void * p, unsigned sizelem, unsigned n,
  3463.                                        FILE *fp); /* ANSI */
  3464.  
  3465.    Ä»¿ßá¡¿Ñ:
  3466.  
  3467.       ù¿ΓáÑΓ n φ½Ñ¼Ñ¡Γ«ó ¿º »«Γ«¬á fp ó ¼áß߿󠻫 π¬áºáΓѽε
  3468.       p; sizelem - αẼÑα φ½Ñ¼Ñ¡Γá ¼áßß¿óá ó íá⌐Γáσ.
  3469.  
  3470.    Åα¿¼Ñα:
  3471.  
  3472.  
  3473.       #include <stdlib.h>
  3474.       main()
  3475.       {
  3476.         char *dest;
  3477.         int size=1;
  3478.         int number=256, numread;
  3479.         FILE *fp;
  3480.         if ((fp=fopen("file.dat", "r"))==NULL)
  3481.            return;
  3482.         dest=calloc(256,1);
  3483.         numread=fread(dest, size, number, fp);
  3484.         printf("éßÑú« »α«τ¿Γá¡« %d\n", numread);
  3485.         fprintf(stdout, "Åα«τ¿Γá¡¡δÑ ñá¡¡δÑ\n, %s", dest);
  3486.         free(dest);
  3487.       }
  3488.  
  3489.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3490.  
  3491.       é«ºóαáΘáÑΓ ¬«½¿τÑßΓó« »«½¡«ßΓ∞ε »α«τ¿Γá¡¡δσ φ½Ñ¼Ñ¡Γ«ó.
  3492.       é ß½πτáÑ «Φ¿í¬¿ ¿½¿ óßΓαÑτ¿  ¬«¡µá Σá⌐½á ó«ºóαáΘáѼ«Ñ
  3493.       º¡áτÑ¡¿Ñ íπñÑΓ ¼Ñ¡∞ΦÑ n.
  3494.  
  3495.    ÉѬ«¼Ñ¡ñᵿ∩:
  3496.  
  3497.       æ¼«Γα¿ΓÑ ΓᬪѠfwrite, read
  3498.  
  3499.  
  3500.  
  3501. free                                       ÄæéÄüÄäêÆ£ ÅÇîƒÆ£
  3502.  
  3503.    êß»«½∞º«óá¡¿Ñ:
  3504.  
  3505.       #include <stdlib.h>
  3506.       int free(void *p);                          /* ANSI */
  3507.  
  3508.    Ä»¿ßá¡¿Ñ:
  3509.  
  3510.       Äßó«í«ªñáÑΓ »á¼∩Γ∞ »« π¬áºáΓѽε p.  ¥Γá »á¼∩Γ∞  ñ«½ª¡á
  3511.       íδΓ∞ óδñѽѡá αá¡ÑÑ ß ¿ß»«½∞º«ó᡿Ѽ  Σπ¡¬µ¿⌐  calloc,
  3512.       malloc ¿½¿ realloc.  àß½¿ p = NULL, free íѺñÑ⌐ßΓóπÑΓ.
  3513.       àß½¿ íδ½ ¿ß»«½∞º«óá¡ Σ½áú ¬«¼»¿½∩Γ«αá ßΓα«ú«⌐ ANSI ß«-
  3514.       ó¼ÑßΓ¿¼«ßΓ¿, Γ« free ó«ºóαáΘáÑΓ void (Γ. Ñ. ¡Ñ ó«ºóαá-
  3515.       ΘáÑΓ º¡áτÑ¡¿∩).
  3516.  
  3517.    ÅαÑñ«ßΓÑαѪѡ¿Ñ: ¡Ñ «ßó«í«ªñá⌐ΓÑ ñá¡¡δÑ í«½ÑÑ «ñ¡«ú« αáºá,
  3518.                     ¡Ñ αáí«Γá⌐ΓÑ ß «ßó«í«ªñÑ¡¡δ¼¿ ñá¡¡δ¼¿.
  3519.  
  3520.    Åα¿¼Ñα:
  3521.  
  3522.       #include <stdio.h>
  3523.       #include <stdlib.h>
  3524.       main()
  3525.       {
  3526.         char * p:
  3527.         if ((p = malloc(1000))==NULL)
  3528.              printf("ìÑ ¼«úπ «ΓóÑßΓ¿ »á¼∩Γ∞\n");
  3529.               if (free(p) == -1)
  3530.                 abort();   /* ùΓ«-Γ« πªáß¡« »½«σ« */
  3531.       }
  3532.  
  3533.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3534.  
  3535.       é«ºóαáΘáÑΓ 0 ó ß½πτáÑ  πß»Ñσá ¿½¿  -1,  Ñß½¿  ¿ß»«ατÑ¡
  3536.       ¼Ñσá¡¿º¼ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε  ¿½¿  p  «Φ¿í«τ¡«.  ç¡áτÑ-
  3537.       ¡¿Ñ -1 π¬áºδóáÑΓ ¡á ¡á½¿τ¿Ñ  ßÑα∞Ѻ¡«⌐  «Φ¿í¬¿ ó »α«ú-
  3538.       αá¼¼Ñ. free ¿ú¡«α¿απÑΓ ¡ÑßπαạδÑ π¬áºáΓѽ¿.
  3539.  
  3540.    ÉѬ«¼Ñ¡ñᵿ∩:
  3541.  
  3542.       æ¼«Γα¿ΓÑ ΓᬪѠcalloc, malloc, realloc.
  3543.  
  3544.  
  3545. freopen                                ÄÆèɢƣ öÇëï ÅÄéÆÄÉìÄ
  3546.  
  3547.    êß»«½∞º«óá¡¿Ñ:
  3548.  
  3549.    #include <stdio.h>
  3550.    FILE *freopen(char *name, char *mode, FILE *fp); /* ANSI */
  3551.  
  3552.    Ä»¿ßá¡¿Ñ:
  3553.  
  3554.       çá¬αδóáÑΓ Σá⌐½ fp. ÄΦ¿í¬¿ »α¿ ºá¬αδΓ¿¿ Σá⌐½á ¿ú¡«α¿απ-
  3555.       εΓß∩. ÄΓ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½ ¿ ßó∩ºδóáÑΓ ß ¡¿¼ »«Γ«¬ fp.
  3556.       Name ¿ mode ¿¼ÑεàëàªÑ ß¼δß½, τΓ« «»αÑñѽѡ ó fopen.
  3557.  
  3558.    Åα¿¼Ñα:
  3559.  
  3560.       #include <stdio.h>
  3561.       main()
  3562.       {
  3563.         fp = freopen("file.dat", "w+", stdout);
  3564.         if (fp == NULL)
  3565.             fprintf(stderr, "ÄΦ¿í¬¿ »α¿ freopen\n");
  3566.         else
  3567.             fprintf(fp, "¥Γ¿ ñá¡¡δÑ »«⌐ñπΓ ó file.dat\n");
  3568.       }
  3569.  
  3570.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3571.  
  3572.       é ß½πτáÑ πß»Ñσá ó«ºóαáΘáÑΓ fp, ¿¡áτÑ NULL.
  3573.  
  3574.    ÉѬ«¼Ñ¡ñᵿ∩:
  3575.  
  3576.       æ¼«Γα¿ΓÑ ΓᬪѠfclose, fopen, open.
  3577.  
  3578.  
  3579. frexp                         ¥èæÅÄìàìûêÇï£ìÄà ÅÉà俯Çéïàìêà
  3580.  
  3581.    êß»«½∞º«óáÑ¡¿Ñ:
  3582.  
  3583.       #include <math.h>
  3584.       double frexp(double value, int *eptr);       /* ANSI */
  3585.  
  3586.    Ä»¿ßá¡¿Ñ:
  3587.  
  3588.       ÅαÑñßΓáó½∩ÑΓ º¡áτÑ¡¿Ñ ñó«⌐¡«⌐  Γ«τ¡«ßΓ¿  value  ó ó¿ñÑ
  3589.       ¼á¡Γ¿ßßδ x  ¿  »«¬áºáΓѽ∩  e,  Γᬠ τΓ«  value==x*2**e,
  3590.       x>.5  ¿  x<=1.0.  e ºá»«¼¿¡áÑΓß∩ »«  eptr, á º¡áτÑ¡¿Ñ x
  3591.       ó«ºóαáΘáÑΓß∩ ¬á¬ αѺπ½∞ΓáΓ.
  3592.  
  3593.    Åα¿¼Ñα:
  3594.  
  3595.       #include <stdio.h>
  3596.       #include <math.h>
  3597.       main()
  3598.       {
  3599.         double d1,d2;
  3600.         int i;
  3601.         d2=15.3;
  3602.         d1=frexp(d2,&i);
  3603.         printf("d1=%f i=%d\n", d1, i);
  3604.       }
  3605.  
  3606.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3607.  
  3608.       é«ºóαáΘáÑΓ ¼á¡Γ¿ßßπ φ¬ß»«¡Ñ¡µ¿á½∞¡«ú« »αÑñßΓáó½Ñ¡¿∩ (x).
  3609.  
  3610.    ÉѬ«¼Ñ¡ñᵿ∩:
  3611.  
  3612.       æ¼«Γα¿ΓÑ ΓᬪѠldexp, modt.
  3613.  
  3614.  
  3615. fscanf                               öÄÉîÇÆì¢ë ééÄä êç öÇëïÇ
  3616.  
  3617.    êß»«½∞º«óá¡¿Ñ:
  3618.  
  3619.       #include <stdio.h>
  3620.       int fscanf(FILE *fp, char *format,...)      /* ANSI */
  3621.  
  3622.    Ä»¿ßá¡¿Ñ:
  3623.  
  3624.       ù¿ΓáÑΓ ½¿ΓÑαδ ¿º óσ«ñ¡«ú« »«Γ«¬á fp.  æτ¿Γá¡¡δÑ ½¿ΓÑαδ
  3625.       »αÑ«íαáºπεΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐ Σ«α¼áΓá.  ÅαÑ-
  3626.       «íαẫóá¡¡δÑ ½¿ΓÑαδ ºá»«¼¿¡áεΓß∩ »« π¬áºá¡¡δ¼ áαúπ¼Ñ¡-
  3627.       Γá¼-π¬áºáΓѽ∩¼. ÄΓ¼ÑΓ¿¼, τΓ« áαúπ¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬á-
  3628.       ºáΓѽ∩¼¿, »« ¬«Γ«αδ¼ fscanf ºá»¿ΦÑΓ óóÑñÑ¡¡δÑ º¡áτÑ¡¿∩
  3629.  
  3630.    Åα¿¼Ñα:
  3631.  
  3632.       #include <stdio.h>
  3633.       char fst[10], *lst="    ";
  3634.       int ttl;
  3635.       main()
  3636.       {
  3637.         int rt;
  3638.         rt = fscanf(stdin, "%s %s %d",fst,lst,&ttl);
  3639.         return rt=3;
  3640.       }
  3641.  
  3642.     é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3643.  
  3644.        é«ºóαáΘáÑΓ ¬«½¿τÑßΓó« πß»ÑΦ¡« »α«óÑñÑ¡¡δσ »αÑ«íαẫ-
  3645.        óá¡¿⌐.  Åα«µÑßß ºá¬á¡τ¿óáÑΓß∩ »α¿ óßΓαÑτÑ »Ñαó«⌐ ¡Ñ-
  3646.        »«ñσ«ñ∩ΘÑ⌐ ½¿ΓÑαδ ¿½¿ »α¿º¡á¬á ¬«¡µá Σá⌐½á (EOF).
  3647.        ì«½∞ ¡á óδσ«ñÑ «º¡áτáÑΓ, τΓ« ¡Ñ «íαáí«Γá¡« ¡¿ «ñ¡«ú«
  3648.        »«½∩.
  3649.  
  3650.     ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠscanf.
  3651.  
  3652.  
  3653. fseek                                   ÅÄçêûêÄìêÉÄéÇÆ£ öÇëï
  3654.  
  3655.    êß»«½∞º«óá¡¿Ñ:
  3656.  
  3657.       #include <stdio.h>
  3658.       #include <io.h>
  3659.       int fseek(FILE *fp,long offset,int origin); /* ANSI */
  3660.  
  3661.    Ä»¿ßá¡¿Ñ:
  3662.  
  3663.       ôßΓá¡áó½¿óáÑΓ »«º¿µ¿ε ó Σá⌐½Ñ, ßó∩ºá¡¡¡«¼ ß »«Γ«¬«¼ fp.
  3664.       æ¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ∩ó½∩ÑΓß∩ óѽ¿τ¿¡«⌐ ß« º¡á¬«¼ ¿ íÑαÑΓ-
  3665.       ß∩  «Γ¡«ß¿Γѽ∞¡« origin.  ç¡áτÑ¡¿∩ origin «»αÑñѽѡδ ó
  3666.       io.h Σá⌐½Ñ:
  3667.  
  3668.          SEEK_SET     -  ¡áτὫ Σá⌐½á
  3669.          SEEK_CUR     -  ΓѬπΘá∩ »«º¿µ¿∩
  3670.          SEEK_END     -  ¬«¡Ñµ Σá⌐½á
  3671.  
  3672.       àß½¿ Σá⌐½  «Γ¬αδΓ ó ΓѬßΓ«ó«¼  αѪ¿¼Ñ,  ß¼ÑΘÑ¡¿Ñ ¼«ªÑΓ
  3673.       íδΓ∞ Γ«½∞¬« º¡áτÑ¡¿Ñ¼,  ó«ºóαáΘÑ¡¡δ¼  ftell,  á origin
  3674.       ñ«½ª¡« íδΓ∞ 0,  ¿½¿ offset ñ«½ª¡« íδΓ∞ 0.  àß½¿ ¡Ñ»«ß-
  3675.       αÑñßΓóÑ¡¡« »ÑαÑñ óδº«ó«¼  fseek  αáí«Γá½á  ungetc,  ÑÑ
  3676.       αѺπ½∞ΓáΓδ ΓÑα∩εΓß∩.  àß½¿ Σá⌐½  íδ½  «Γ¬αδΓ  ó αѪ¿¼Ñ
  3677.       τΓÑ¡¿∩/ºá»¿ß¿,  ß½Ññ«¼ ºá fseek ¼«ª¡« óδ»«½¡¿Γ∞ τΓÑ¡¿Ñ
  3678.       ¿½¿ ºá»¿ß∞.
  3679.  
  3680.    Åα¿¼Ñα:
  3681.  
  3682.       #include <stdio.h>
  3683.       #include <io.h>
  3684.       main()
  3685.       {
  3686.         FILE *fp;
  3687.         fp = fopen("file.dat", "r+");
  3688.         fseek(fp, 0L, SEEK_END);   /* ÅÑαÑ⌐Γ¿ ó ¬«¡Ñµ Σá⌐½á */
  3689.         fseek(fp, 0L, SEEK_SET);   /* ÅÑαÑ⌐Γ¿ ó ¡áτὫ Σá⌐½á */
  3690.         fseek(fp, 20L, SEEK_SET);  /* ÅÑαÑ⌐Γ¿ ¡á ß¼ÑΘÑ¡¿Ñ 200 */
  3691.       }
  3692.  
  3693.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3694.  
  3695.       é«ºóαáΘáÑΓ  0  ó ß½πτáÑ  πß»Ñσá ¿ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó
  3696.       ß½πτáÑ «Φ¿í¬¿.
  3697.  
  3698.    ÉѬ«¼Ñ¡ñᵿ∩:
  3699.  
  3700.       æ¼«Γα¿ΓÑ ΓᬪѠftell, lseek.
  3701.  
  3702.  
  3703. fstat                                     éçƒÆ£ æÆÇÆôæ öÇëïÇ
  3704.  
  3705.    êß»«½∞º«óá¡¿Ñ:
  3706.  
  3707.       #include <sys\stat.h>
  3708.       int fstat(int fd, struct stat *buf);
  3709.  
  3710.    Ä»¿ßá¡¿Ñ:
  3711.  
  3712.       êºó½Ñ¬áÑΓ ¿¡Σ«α¼áµ¿ε «Γ¡«ß¿Γѽ∞¡« «Γ¬αδΓ«ú« Σá⌐½á fd ¿
  3713.       ºá»«¼¿¡áÑΓ ÑÑ ó ßΓαπ¬ΓπαÑ stat »« π¬áºáΓѽε buf. æΓαπ¬-
  3714.       Γπαá ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
  3715.  
  3716.          st_dev      - ¡«¼Ñα ñ¿ß¬«ó«ú« πßΓα«⌐ßΓóá ß Σá⌐½«¼ fd
  3717.                        ¿½¿ º¡áτÑ¡¿Ñ fd,  Ñß½¿ fd ∩ó½∩ÑΓß∩ πßΓ-
  3718.                        α«⌐ßΓó«¼
  3719.  
  3720.          st_mode     - í¿Γ«óá∩ ¼á߬á,  ß«ñÑαªáΘá∩ ¿¡Σ«α¼áµ¿ε
  3721.                        «í «Γ¬αδΓ¿¿ Σá⌐½á:
  3722.  
  3723.                        S_IFCHR - Ñß½¿ fd ∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó«¼
  3724.                        S_IFREG - Ñß½¿ fd  - «íδτ¡δ⌐ Σá⌐½
  3725.                        S_IREAD - Ñß½¿ Σá⌐½ «Γ¬αδΓ »« τΓÑ¡¿ε
  3726.                        S_IWRITE - Ñß½¿ Σá⌐½ «Γ¬αδΓ »« ºá»¿ß¿
  3727.  
  3728.          st_nlink    - óßÑúñá 1
  3729.  
  3730.          st_rdev     - Γ« ªÑ, τΓ« ¿ st_dev
  3731.  
  3732.          st_size     - αẼÑα Σá⌐½á ó íá⌐Γáσ
  3733.  
  3734.          st_atime    - óαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿
  3735.  
  3736.          st_ctime    - Γ« ªÑ, τΓ« ¿ st_atime
  3737.  
  3738.          st_mtime    - Γ« ªÑ, τΓ« ¿ st_atime
  3739.  
  3740.       Æα¿ ¡Ñ π»«¼∩¡πΓδσ óδΦÑ »«½∩: st_ino, st_vid, st_did, -
  3741.       ¡Ñ ¿¼ÑεΓ ß¼δß½á ó DOS. Ä¡¿ πßΓá¡«ó½Ñ¡δ ó 0 ¿ «íÑß»Ñτ¿-
  3742.       óáεΓ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß UNIX.
  3743.  
  3744.       çá¼Ñτá¡¿Ñ: fstat ¡Ñ ¼«ªÑΓ íδΓ∞ óδºóá¡ ¿º C++ »α«úαá¼¼δ
  3745.  
  3746.    Åα¿¼Ñα:
  3747.  
  3748.       #include <dos.h>
  3749.       #include <sys\stat.h>
  3750.       #include <stdio.h>
  3751.       #include <io.h>
  3752.       #include <time.h>
  3753.       #include <errno.h>
  3754.       struct stat buf;
  3755.       int fh, result;
  3756.       main()
  3757.       {
  3758.         fh=open("file.dat", O_RDONLY);
  3759.         result=fstat("fh, &buf");
  3760.         if (result !=0)
  3761.             printf("Ž«σ ñÑß¬α¿»Γ«α Σá⌐½á\n");
  3762.         else
  3763.           {
  3764.             printf("ÉẼÑα Σá⌐½á: %ld\n", buf.st_size);
  3765.             printf("쫼Ñα πßΓα«⌐ßΓóá: %d\n", buf.st_dev);
  3766.             printf("éαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿: %s",
  3767.                     ctime(&buf.st_atime));
  3768.           }
  3769.       }
  3770.  
  3771.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3772.  
  3773.       é«ºóαáΘáÑΓ 0, Ñß½¿ ¿¡Σ«α¼áµ¿∩ πß»ÑΦ¡« ¿ºó½ÑτÑ¡á, ¿ -1,
  3774.       Ñß½¿ »½«σ ñÑß¬α¿»Γ«α Σá⌐½á, ß πßΓá¡«ó¬«⌐ errno ó EBADF.
  3775.  
  3776.    ÉѬ«¼Ñ¡ñᵿ∩:
  3777.  
  3778.       æ¼«Γα¿ΓÑ ΓᬪѠstat, findfirst, findnext, isatty.
  3779.  
  3780.  
  3781. ftell                                   äÇÆ£ ÅÄçêûê₧ é öÇëïà
  3782.  
  3783.    êß»«½∞º«óá¡¿Ñ:
  3784.  
  3785.       #include <stdio.h>
  3786.       long ftell(FILE *fp);                       /* ANSI */
  3787.  
  3788.    Ä»¿ßá¡¿Ñ:
  3789.  
  3790.       é«ºóαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ,  ßó∩ºá¡¡«¼ ß »«Γ«-
  3791.       ¬«¼ fp. àß½¿ Σá⌐½ «Γ¬αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ó«ºóαáΘá-
  3792.       Ñ¼«Ñ º¡áτÑ¡¿Ñ  ¼«ªÑΓ ¡Ñ «ΓαáªáΓ∞  Γ«τ¡«ú«  ¬«½¿τÑßΓóá
  3793.       ñÑ⌐ßΓó¿Γѽ∞¡« ßτ¿Γá¡¡δσ ¿½¿ ºá»¿ßá¡¡δσ íá⌐Γ«ó.
  3794.  
  3795.    Åα¿¼Ñα:
  3796.  
  3797.       #include <stdio.h>
  3798.       long position;
  3799.       FILE *fp;
  3800.       main()
  3801.       {
  3802.         fp=fopen("file.dat", "a");
  3803.         fprintf(fp, "Åα¿¼Ñα ßΓ᫬¿ ñá¡¡δσ\n");
  3804.         position=ftell(fp);      /* íÑαѼ »«º¿µ¿ε ó Σá⌐½Ñ */
  3805.         printf("ÆÑ¬πΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ: %ld\n", position);
  3806.         fclose(fp);
  3807.       }
  3808.  
  3809.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3810.  
  3811.       é«ºóαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ ¿½¿ -1, Ñß½¿ óßΓαÑ-
  3812.       Γ¿½áß∞ «Φ¿í¬á, ß πßΓá¡«ó½Ñ¡¿Ñ¼ errno.
  3813.  
  3814.    ÉѬ«¼Ñ¡ñᵿ∩:
  3815.  
  3816.       æ¼«Γα¿ΓÑ ΓᬪѠfseek, isatty.
  3817.  
  3818.  
  3819. fwrite                                         ÅêæÇÆ£ é öÇëï
  3820.  
  3821.    êß»«½∞º«óá¡¿Ñ:
  3822.  
  3823.       #include <stdio.h>
  3824.       int fwrite(void *buffer, unsigned sizelem, unsigned n,
  3825.                  FILE *fp);                       /* ANSI */
  3826.  
  3827.    Ä»¿ßá¡¿Ñ:
  3828.  
  3829.       çỿßδóáÑΓ  n φ½Ñ¼Ñ¡Γ«ó αẼÑα«¼ sizelem íá⌐Γ«ó ¬áªñδ⌐
  3830.       ¿º buffer ó »«Γ«¬ fp.
  3831.  
  3832.    Åα¿¼Ñα:
  3833.  
  3834.       #include <stdio.h>
  3835.       #include <stdlib.h>
  3836.       main()
  3837.       {
  3838.         char *buffer;
  3839.         unsigned sizelem, n;
  3840.         FILE *fp;
  3841.         int wrtn;
  3842.         buffer=calloc(255,1);
  3843.         sizelem=1;
  3844.         n=255;
  3845.         fp=fopen("file.dat", "a");
  3846.         strcpy(buffer, "\n Åα¿¼Ñα ñá¡¡δσ\n");
  3847.         wrtn=fwrite(buffer, sizelem, n, fp);
  3848.         free(buffer);
  3849.       }
  3850.  
  3851.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3852.  
  3853.       é«ºóαáΘáÑΓ ¬«½¿τÑßΓó« »«½¡«ßΓ∞ε ºá»¿ßá¡¡δσ  φ½Ñ¼Ñ¡Γ«ó,
  3854.       ¬«Γ«α«Ñ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ n, Ñß½¿ ¿¼Ñ½á ¼ÑßΓ« «Φ¿í¬á.
  3855.  
  3856.    ÉѬ«¼Ñ¡ñᵿ∩:
  3857.  
  3858.    æ¼«Γα¿ΓÑ ΓᬪѠfread, write
  3859.  
  3860.  
  3861. getc, getchar, getche, getch             éçƒÆ£ üÇëÆ êç öÇëïÇ
  3862.  
  3863.    êß»«½∞º«óá¡¿Ñ:
  3864.  
  3865.       #include <stdio.h>             /* getc(), getchar() */
  3866.       #include <conio.h>             /* getche(), getch() */
  3867.       int getc(FILE *fp);                         /* ANSI */
  3868.       int getchar(void);                          /* ANSI */
  3869.       int getche(void);
  3870.       int getch(void);
  3871.  
  3872.    Ä»¿ßá¡¿Ñ:
  3873.  
  3874.       getc ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á fp.
  3875.       getchar ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á stdin.
  3876.       getche ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á stdin  ¿ óδñáÑΓ
  3877.       φσ«, Γ.Ñ. óδó«ñ¿Γ íá⌐Γ ó stdout. ¥Γá »α«µÑñπαá ó«ºóαá-
  3878.       ΘáÑΓ º¡áτÑ¡¿Ñ, ¬á¬ Γ«½∞¬« íá⌐Γ óóÑñÑ¡, ¡Ñ «ª¿ñá∩ ¡áªá-
  3879.       Γ¿∩ ¬½áó¿Φ¿ <RETURN>.
  3880.       getch, ó «Γ½¿τ¿Ñ «Γ getche, ¡Ñ «íÑß»Ñτ¿óáÑΓ φσ«-óδó«ñá
  3881.       ó stdout.
  3882.  
  3883.       getche ¿ getch  «íαáΘáεΓß∩  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ¬ MS DOS.
  3884.       Ä¡¿ «íσ«ñ∩Γß∩ íѺ ¡«α¼á½∞¡«⌐ íπΣÑα¿ºáµ¿¿, ¿ß»«½∞ºπѼ«⌐
  3885.       getchar ¿ getc.
  3886.  
  3887.       çÇîàùÇìêà: ungetc ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ß«ó¼ÑßΓ¡« ß getch
  3888.                  ¿ getche.
  3889.  
  3890.    Åα¿¼Ñα:
  3891.  
  3892.       #include <conio.h>
  3893.       #include <stdio.h>
  3894.       main()
  3895.       {
  3896.         int c;
  3897.         printf("éóÑñ¿ΓÑ ½¿ΓÑαπ ¿ ºáΓѼ ¡áª¼¿ΓÑ RETURN:");
  3898.         c=getchar();
  3899.         printf("Æ« íδ½ »α¿¼Ñα ß getchar\n");
  3900.         getc(stdin);
  3901.         printf("éóÑñ¿ΓÑ ½¿ΓÑαπ: ");
  3902.         c=getche();
  3903.         printf("Æ« íδ½ »α¿¼Ñα ß getche\n");
  3904.         printf("H᪼¿ΓÑ ¡á Σπ¡¬µ. ¬½áó¿Φπ ¿ »«Γ«¼ ¡á ½¿ΓÑαπ");
  3905.         c=getch();
  3906.         printf("\n ï¿ΓÑαá [%c] - »α¿¼Ñα ß getch",c);
  3907.       }
  3908.  
  3909.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3910.  
  3911.       èáªñá∩ ¿º Σπ¡¬µ¿⌐ ó«ºóαáΘáÑΓ »α«τ¿Γá¡¡δ⌐ íá⌐Γ.  getc ¿
  3912.       getchar ó«ºóαáΘáεΓ EOF ó ß½πτáÑ «Φ¿í¬¿.  getch ¿ getche
  3913.       ¿ú¡«α¿απεΓ «Φ¿í¬¿.
  3914.  
  3915.    ÉѬ«¼Ñ¡ñᵿ∩:
  3916.  
  3917.       æ¼«Γα¿ΓÑ ΓᬪѠfgetc, putc, putchar, ungetc.
  3918.  
  3919.  
  3920.  
  3921. getcwd                                  äÇÆ£ ÆàèôÖêë èÇÆÇïÄâ
  3922.  
  3923.    êß»«½∞º«óá¡¿Ñ:
  3924.  
  3925.       #include <direct.h>
  3926.       char *getcwd(char *buffer, int length);
  3927.  
  3928.    Ä»¿ßá¡¿Ñ:
  3929.  
  3930.       é«ºóαáΘáÑΓ ¿¼∩  πßΓα«⌐ßΓóá ¿ «»¿ßá¡¿Ñ  »πΓ¿ ¬ ΓѬπΘѼπ
  3931.       ¬áΓὫúπ ó ºáñá¡¡«¼ íπΣÑαÑ. àß½¿ buffer αáóÑ¡ NULL, Γ«
  3932.       getcwd óδºδóáÑΓ  malloc() ß ºá∩ó¬«⌐ ¡á »á¼∩Γ∞ αẼÑα«¼
  3933.       length íá⌐Γ«ó. Length ∩ó½∩ÑΓß∩ ñ½¿¡«⌐  buffer, ¬«Γ«αδ⌐
  3934.       ñ«½ªÑ¡ íδΓ∞ ñ«ßΓáΓ«τ¡« í«½∞Φ¿¼, τΓ«íδ ó¬½ετ¿Γ∞ ¿¡Σ«α¼á-
  3935.       µ¿ε ó¼ÑßΓÑ ß ºá¬½ετ¿Γѽ∞¡δ¼ 0.
  3936.  
  3937.    Åα¿¼Ñα:
  3938.  
  3939.       #include <direct.h>
  3940.       #include <stdio.h>
  3941.       main()
  3942.       {
  3943.         char buff[66];
  3944.         if (getcwd(buff, sizeof(buff))==NULL)
  3945.             perror("«Φ¿í¬á getcwd");
  3946.         else
  3947.             printf("%s", buff);
  3948.       }
  3949.  
  3950.  
  3951.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3952.  
  3953.       é«ºóΘáÑΓ buffer ó ß½πτáÑ πß»Ñσá ¿ NULL ó ß½πτáÑ «Φ¿í¬¿,
  3954.       c πßΓá¡áó½Ñ¡¿Ñ¼  errno ó «ñ¡« ¿º º¡áτÑ¡¿⌐:
  3955.  
  3956.          ENOMEM   -   ¿ßτÑα»á¡¿Ñ »á¼∩Γ¿
  3957.          ERANGE   -   «»¿ßá¡¿Ñ  »πΓ¿  ñ«ßΓπ»á  ñ½¿¡¡ÑÑ,  τѼ
  3958.                       length-1.
  3959.  
  3960.    ÉѬ«¼Ñ¡ñᵿ∩:
  3961.  
  3962.       æ¼«Γα¿ΓÑ ΓᬪѠ chdir, mkdir, rmdir.
  3963.  
  3964.  
  3965. getDS                             éçƒÆ£ çìÇùàìêà ÉàâêæÆÉÇ DS
  3966.  
  3967.   êß»«½∞º«óá¡¿Ñ:
  3968.  
  3969.      #include <io.h>
  3970.      int getDS(void);
  3971.  
  3972.    Ä»¿ßá¡¿Ñ:
  3973.  
  3974.       é«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS (Data segment - ßÑú¼Ñ¡Γ
  3975.       ñá¡¡δσ).
  3976.  
  3977.    Åα¿¼Ñα:
  3978.  
  3979.       #include <stdio.h>
  3980.       #include <io.h>
  3981.       main()
  3982.       {
  3983.         unsigned int data_seg;
  3984.         data_seg = getDS();
  3985.         printf("ÆÑ¬πΘÑÑ ß«ñÑন¼«Ñ DS αáó¡« %x\n", data_seg);
  3986.       }
  3987.  
  3988.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  3989.  
  3990.       é«ºóαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS.
  3991.  
  3992.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ segread.
  3993.  
  3994.  
  3995. getenv                                        äÇÆ£ ÄèÉôåàìêà
  3996.  
  3997.    êß»«½∞º«óá¡¿Ñ:
  3998.  
  3999.       char getenv(char *name);                    /* ANSI */
  4000.  
  4001.    Ä»¿ßá¡¿Ñ:
  4002.  
  4003.       ÄΓδ߬¿óáÑΓ ó ß»¿ß¬Ñ »ÑαѼѡ¡δ󠫬απªÑ¡¿∩ ßΓ᫬π  ó¿ñá
  4004.       <NAME>=<value> ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π value,
  4005.       Ñß½¿ NAME ¡á⌐ñÑ¡á.  æΓ᫬á <NAME> ñ«½ª¡á íδΓ∞ ¡áíαá¡á
  4006.       ºáú½áó¡δ¼¿ íπ¬óἿ.
  4007.  
  4008.    Åα¿¼Ñα:
  4009.  
  4010.       #include <stdio.h>
  4011.       #include <stdlib.h>
  4012.       main()
  4013.       {
  4014.         char *path;
  4015.         path = getenv("PATH");
  4016.         printf("PATH = %s\n", path);
  4017.       }
  4018.  
  4019.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4020.  
  4021.       é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á ßΓα«¬π  º¡áτÑ¡¿∩  »ÑαѼѡ¡«⌐
  4022.       «¬απªÑ¡¿∩.  é ß½πτáÑ,  Ñß½¿ «¬απªÑ¡¿Ñ ¡Ñ ß«ñÑαª¿Γ π¬á-
  4023.       ºá¡¡«ú« ¿¼Ñ¡¿, ó«ºóαáΘáÑΓ NULL.
  4024.  
  4025.  
  4026. gets                                             ééÄä æÆÉÄèê
  4027.  
  4028.    êß»«½∞º«óá¡¿Ñ:
  4029.  
  4030.       #include <stdio.h>
  4031.       char *gets(char *str);                      /* ANSI */
  4032.  
  4033.    Ä»¿ßá¡¿Ñ:
  4034.  
  4035.       æτ¿ΓδóáÑΓ íá⌐Γδ ¿º »«Γ«¬á  stdin ó ßΓ᫬π  str  ñ« ΓÑσ
  4036.       »«α,  »«¬á ¡Ñ óßΓαÑΓ¿Γ  »α¿º¡á¬ ¡«ó«⌐ ßΓ᫬¿ ¿½¿ ¬«¡µá
  4037.       Σá⌐½á. Åਧ¡á¬ "¡«óá∩ ßΓ᫬á"(newline) ¡Ñ ºá»¿ßδóáÑΓß∩
  4038.       ó ßΓ᫬π. æΓα«¬á ºáóÑαΦáÑΓß∩ 0. æΓ᫬á ñ«½ª¡á íδΓ∞ ñ«-
  4039.       ßΓáΓ«τ¡« í«½∞Φ«⌐, τΓ«íδ ó¼ÑßΓ¿Γ∞ αѺπ½∞ΓáΓ.
  4040.  
  4041.    Åα¿¼Ñα:
  4042.  
  4043.       #include <stdio.h>
  4044.       main()
  4045.       {
  4046.         char buffer[125];
  4047.         printf("ìáíÑα¿ΓÑ ßΓ᫬π:");
  4048.         gets(buffer);
  4049.         printf("üδ½á óóÑñÑ¡á ßΓ᫬á: %s\n", buffer);
  4050.       }
  4051.  
  4052.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4053.  
  4054.       é«ºóαáΘáÑΓ str. é ß½πτáÑ «Φ¿í¬¿ τΓÑ¡¿∩ ¿½¿ »α¿ óßΓαÑτÑ
  4055.       ¬«¡µá Σá⌐½á ó ¡áτá½Ñ τΓÑ¡¿∩ ó«ºóαáΘáÑΓ NULL.
  4056.  
  4057.    ÉѬ«¼Ñ¡ñᵿ∩:
  4058.  
  4059.       æ¼«Γα¿ΓÑ ΓᬪѠ fgets, puts.
  4060.  
  4061.  
  4062. hypot                                             âêÅÄÆàìôçÇ
  4063.  
  4064.    êß»«½∞º«óá¡¿Ñ:
  4065.  
  4066.       #include <math.h>
  4067.       double hypot(double x, double y);
  4068.  
  4069.    Ä»¿ßá¡¿Ñ:
  4070.  
  4071.       éδτ¿ß½∩ÑΓ ñ½¿¡π ú¿»«ΓÑ¡πºδ »α∩¼«πú«½∞¡«ú« ΓαÑπú«½∞¡¿¬á
  4072.       ß« ßΓ«α«¡á¼¿  x,  y.  â¿»«ΓÑ¡πºá  ∩ó½∩ÑΓß∩  º¡áτÑ¡¿Ñ¼,
  4073.       »«½πτÑ¡¡δ¼ óδτ¿ß½Ñ¡¿Ñ¼ ¬óáñαáΓ¡«ú« ¬«α¡∩ ¿º (x*x+y*y).
  4074.  
  4075.    Åα¿¼Ñα:
  4076.  
  4077.       #include <stdio.h>
  4078.       #include <math.h>
  4079.       main()
  4080.       {
  4081.         double x, y;
  4082.         printf("éóÑñ¿ΓÑ »½áóáεΘÑÑ x:");
  4083.         scanf("lf", &x);
  4084.         printf("éóÑñ¿ΓÑ »½áóáεΘÑÑ y:");
  4085.         scanf("lf", &y);
  4086.         printf("â¿»«ΓÑ¡πºá ¡á ¬áΓÑΓáσ [%f, %f] αáó¡á [%f]\n",
  4087.                                           x, y, hypot(x,y));
  4088.       }
  4089.  
  4090.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4091.  
  4092.       ä½¿¡á ú¿»«ΓÑ¡πºδ, »«ßΓα«Ñ¡¡«⌐ ¡á ¬áΓÑΓáσ x, y.
  4093.  
  4094.  
  4095. index                            ìÇëÆê ïêÆàÉô é æÆÉÄèà
  4096.  
  4097.    êß»«½∞º«óá¡¿Ñ:
  4098.  
  4099.       char *index(char *s, int c);
  4100.  
  4101.    Ä»¿ßá¡¿Ñ:
  4102.  
  4103.       ÄΓδ߬¿óáÑΓ »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ½¿ΓÑαδ `c' ó ßΓ᫬π `s'.
  4104.       ¥Γá Σπ¡¬µ¿∩ ¿ñÑ¡Γ¿τ¡á strchr.
  4105.  
  4106.    Åα¿¼Ñα:
  4107.  
  4108.       #include <stdio.h>
  4109.       #include <string.h>
  4110.       char string2[50] = "2 »α¿¼Ñα ßΓ᫬¿";
  4111.       main()
  4112.       {
  4113.         printf("\n Åα¿¼Ñα ¡á index %s \n",
  4114.                                        index(string2, '¿'));
  4115.       }
  4116.  
  4117.  
  4118.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4119.  
  4120.       é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á `c', Ñß½¿ `c' ¡á⌐ñÑ¡á ó ßΓ᫬Ñ
  4121.       `s', ¿ NULL ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  4122.  
  4123.    ÉѬ«¼Ñ¡ñᵿ∩:
  4124.  
  4125.       æ¼«Γα¿ΓÑ ΓᬪѠ strchr, strcpy, strcmp, strrchr.
  4126.  
  4127.  
  4128. inp, inpw                                      ééÄä êç ÅÄÉÆÇ
  4129.  
  4130.    êß»«½∞º«óá¡¿Ñ:
  4131.  
  4132.       #include <dos.h>
  4133.       int inp(int port_address);
  4134.       int inpw(int port_address);
  4135.  
  4136.    Ä»¿ßá¡¿Ñ:
  4137.  
  4138.       ÄíÑß»Ñτ¿óáεΓ ¿¡ΓÑαΣÑ⌐ß  æ  ß á»»áαáΓ¡δ¼¿ »«αΓἿ 8086,
  4139.       αÑ὿ºπ∩ ¬«¼á¡ñδ 8086 in ¿ out «í¼Ñ¡á ß »«αΓἿ.
  4140.  
  4141.          inp:   ßτ¿ΓδóáÑΓ íá⌐Γ  ¿º π¬áºá¡¡«ú« »«αΓá.
  4142.          inpw:  ßτ¿ΓδóáÑΓ ß½«ó« ¿º π¬áºá¡¡«ú« »«αΓá.
  4143.  
  4144.          è«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ó ¬«ñ ß««ΓóÑΓßΓóπεΘ¿Ñ ¬«¼á¡ñδ.
  4145.          î«ª¡« ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ« φΓ«ú« "¡áßΓ«∩Θ¿Ñ" «íαáΘÑ-
  4146.          ¡¿∩ ¬ Σπ¡¬µ¿∩¼,Ñß½¿ »«¼ÑßΓ¿Γ∞ ó ú«½«ó¡«⌐ Σá⌐½ »«ß½Ñ
  4147.          #include  <dos.h>  «Γ¼Ñ¡π  ¼á¬α«»«ñßΓá¡«ó«¬:
  4148.          #undef inp    ¿    #undef inpw.
  4149.  
  4150.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4151.  
  4152.       é«ºóαáΘáÑΓ  º¡áτÑ¡¿Ñ,  ßτ¿Γá¡¡«Ñ  ¿º  ñá¡¡«ú«  »«αΓá.
  4153.  
  4154.    ÉѬ«¼Ñ¡ñᵿ∩:
  4155.  
  4156.       æ¼«Γα¿ΓÑ ΓᬪѠ:  outp, outpw.
  4157.  
  4158.    Åα¿¼Ñα:
  4159.  
  4160.       /* ¥Γá Σπ¡¬µ¿∩ ó䬽ετ¿Γ MDA ¬παß«α */
  4161.       #include <dos.h>
  4162.       int porta, portb, bytea, byteb;
  4163.       main()
  4164.       {
  4165.         char result;
  4166.         porta = 0x3b4;
  4167.         portb = 0x3b5;
  4168.         bytea = 10;
  4169.         byteb = 32;
  4170.         result = inpw(porta);
  4171.         printf("ç¡áτÑ¡¿Ñ,»α¿¡∩ѫѠ¿º »«αΓá bp %x αáó¡«
  4172.                 %x ΦÑßΓ¡.\n",porta, result);
  4173.         outp(porta, bytea);
  4174.         outp(portb, byteb);
  4175.       }
  4176.       /* ¥Γá Σπ¡¬µ¿∩ ó¬½ετ¿Γ MDA ¬παß«α */
  4177.       #include <dos.h>
  4178.       int porta, portb, bytea, byteb;
  4179.       main()
  4180.       {
  4181.         porta = 0x3b4;
  4182.         portf = 0x3b5;
  4183.         bytea = 10;
  4184.         byteb = 11;
  4185.         outp(porta, bytea);
  4186.         outp(portb, byteb);
  4187.       }
  4188.  
  4189.  
  4190.  
  4191. Interrupt Package                Åá¬ÑΓ αáí«Γδ ß »αÑαδóá¡¿∩¼¿
  4192.  
  4193.    êß»«½∞º«óá¡¿Ñ:
  4194.  
  4195.       #include <int.h>
  4196.       void int_getvector(unsigned vector, unsigned *poffset,
  4197.                                         unsigned *psegment);
  4198.       int int_intercept(unsigned vector, int (*funcptr)
  4199.                  (struct INT_DATA *pd), unsigned stacksize);
  4200.       void int_off(void);
  4201.       void int_on(void);
  4202.       int int_restore(unsigned vector);
  4203.       void int_setvector(unsigned vector, unsigned offset,
  4204.                                           unsigned segment);
  4205.  
  4206.    Ä»¿ßá¡¿Ñ:
  4207.  
  4208.       Åá¬ÑΓ αáí«Γδ ß »αÑαδóá¡¿∩¼¿ ß»α«Ñ¬Γ¿α«óá¡ ¬á¬ «íΘѵѽÑ-
  4209.       ó«⌐ »á¬ÑΓ »« π»αáó½Ñ¡¿ε »αÑαδóá¡¿∩¼¿ 8086. ä½∩ ¬áªñ«ú«
  4210.       óÑ¬Γ«αá »αÑαδóá¡¿⌐  ¼«ª¡«  «»αÑñѽ¿Γ∞  ¡«óπε  αÑᬵ¿ε.
  4211.       C Σπ¡¬µ¿∩, «íαáíáΓδóáεΘá∩ »αÑαδóá¡¿Ñ, «»αÑñѽ∩ÑΓ, ßó∩-
  4212.       ºá¡« ½¿ »αÑαδóá¡¿Ñ ß »αѪ¡¿¼  óÑ¬Γ«α«¼  »αÑαδóá¡¿∩ ¿½¿
  4213.       ¡ÑΓ.
  4214.  
  4215.       int_intercept    ßó∩ºδóáÑΓ   ßΓá¡ñáαΓ¡πε   C - Σπ¡¬µ¿ε
  4216.       (*funcptr) ß óÑ¬Γ«α«¼ »αÑαδóá¡¿∩ ñ½∩ «íαáí«Γ¬¿ ñá¡¡«ú«
  4217.       »αÑαδóá¡¿∩  »α¿  Ñú« »«∩ó½Ñ¡¿¿.  Åáαá¼ÑΓα vector «»αÑ-
  4218.       ñѽ∩ÑΓ óÑ¬Γ«α »αÑαδóá¡¿∩ 8086 (0...255), ß ¬«Γ«αδ¼ ßó∩-
  4219.       ºδóáÑΓß∩ Σπ¡¬µ¿∩. Çαúπ¼Ñ¡Γ stacksize «»αÑñѽ∩ÑΓ ¬«½¿τÑ-
  4220.       ßΓó« íá⌐Γ«ó »á¼∩Γ¿,  «Γó«ñ¿¼«⌐ »«ñ ßΓѬ ñ½∩ Σπ¡¬µ¿¿ «í-
  4221.       αáí«Γ¬¿.  ÉẼÑα ßΓѬá ñ«½ªÑ¡ íδΓ∞ ¡Ñ ¼Ñ¡ÑÑ 256 íá⌐Γ«ó.
  4222.  
  4223.       àß½¿ Σπ¡¬µ¿∩  «íαáí«Γ¬¿  »αÑαδóá¡¿∩ (*funcptr)() ó«ºó-
  4224.       αáΓ¿Γ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Γ« íπñÑΓ óδºóá¡á »αѪ¡∩∩ Σπ¡¬-
  4225.       µ¿∩  «íαáí«Γ¬¿  »αÑαδóá¡¿∩, có∩ºá¡¡á∩ ß φΓ¿¼ óÑ¬Γ«α«¼,
  4226.       ¿¡áτÑ óδ»«½¡¿Γß∩ ó«ºóαáΓ ¿º »αÑαδóá¡¿∩.
  4227.       ç¡áτÑ¡¿∩ ¿º αÑú¿ßΓα«ó  ¼«úπΓ íδΓ∞ ßτ¿Γá¡δ ¿½¿ ºá»¿ßá¡δ
  4228.       τÑαѺ π¬áºáΓѽ∞ (*pd) ¡á ßΓαπ¬Γπαπ  INT_DATA,  ¬«Γ«αδ⌐
  4229.       »«ßΓπ»áÑΓ ¬ (*funcptr)(). æπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« »αáó¿½,
  4230.       ¬«Γ«αδ¼ ¡Ñ«íσ«ñ¿¼« ß½Ññ«óáΓ∞, ºá¡¿¼á∩ß∞ «íαáí«Γ¬«⌐ »αÑ-
  4231.       αδóá¡¿⌐ ¡á C:
  4232.  
  4233.          1). ì¿ MS DOS, ¡¿ BIOS ¡Ñ ¼«úπΓ íδΓ∞ óδºóá¡δ ó »α«-
  4234.              µÑßßÑ «íαáí«Γ¬¿ »αÑαδóá¡¿∩, Ñß½¿ »α¿ φΓ«¼ ¼«ªÑΓ
  4235.              »α«¿º«⌐Γ¿ »αÑαδóá¡¿Ñ.  ¥Γ« «íΩ∩ß¡∩ÑΓß∩ ΓѼ, τΓ«
  4236.              MS DOS ¿ BIOS ¡Ñ ∩ó½∩εΓß∩ »«óΓ«α¡« óσ«ñ¿¼δ¼¿.
  4237.          2). ìѽ∞º∩ »α¿ «íαáí«Γ¬Ñ »αÑαδóá¡¿∩ ¿½¿ ó óδºóá¡¡«⌐
  4238.              «Γßεñá Σπ¡¬µ¿¿ ¿ß»«½∞º«óáΓ∞ ó ßΓѬѠ»á¼∩Γ¿ í«½∞-
  4239.              ΦÑ, τѼ «ΓóÑñÑ¡« »«ñ ßΓѬ.
  4240.          3). ìÑ «íαáΘá⌐ΓÑß∞ ¬ ¬á¬«⌐-½¿í« Σπ¡¬µ¿¿,  ¡Ñ ∩ó½∩ε-
  4241.              ΘÑ⌐ß∩   »«óΓ«α¡«  óσ«ñ¿¼«⌐.   (ÉѺπ½∞ΓáΓ  íπñÑΓ
  4242.              ¡Ñ»αÑñ߬áºπѼ).
  4243.          4). ìÑ»«ºó«½¿Γѽ∞¡« óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐  óó«ñá/óδ-
  4244.              ó«ñá ó «íαáí«Γ¬Ñ »αÑαδóá¡¿∩.
  4245.          5). è«úñá   ¿ß»«½∞ºπεΓß∩   »ÑαѼѡ¡δÑ,   ¿º¼Ñ¡∩ѼδÑ
  4246.              »α¿  «íαáí«Γ¬Ñ  »αÑαδóá¡¿∩,  «íΩ∩ó½∩⌐ΓÑ  ¿σ ¬á¬
  4247.              `volatile'.
  4248.          6). ÄΓ¬½ετ¿ΓÑ ñ½∩ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ¬«¡Γ-
  4249.              α«½∞ »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá.
  4250.  
  4251.       int_off  ó䬽ετáÑΓ »αÑαδóá¡¿∩ 8086 ¬«¼á¡ñ«⌐ CLI (clear
  4252.       interrupt flag).
  4253.       int_on   ó¬½ετáÑΓ   »αÑαδóá¡¿Ñ   8086   ¬«¼á¡ñ«⌐   STI
  4254.       (set interrupt flag).
  4255.  
  4256.       öπ¡¬µ¿∩ int_restore ∩ó½∩ÑΓß∩ «íαáΓ¡«⌐ ¬ int_intercept.
  4257.       int_restore «Γ¬½ετáÑΓ »Ñαó«¡áτá½∞¡δ⌐ «íαáí«Γτ¿¬ »αÑαδ-
  4258.       óá¡¿⌐, ¬«Γ«αδ⌐ íδ½ »«ñµÑ»½Ñ¡ ¬ π¬áºá¡¡«¼π óÑ¬Γ«απ »«ß-
  4259.       αÑñßΓó«¼  int_intercept. Å«φΓ«¼π int_restore ¡Ñ ñ«½ª¡á
  4260.       óδºδóáΓ∞ß∩ ñ« «íαáΘÑ¡¿∩ ¬ int_intercept,  ßó∩ºδóáεΘÑú«
  4261.       (¡«óπε) αÑᬵ¿ε ß φΓ¿¼ óÑ¬Γ«α«¼ »αÑαδóá¡¿⌐.
  4262.  
  4263.       int_getvector »«½πτáÑΓ  ß«ñÑন¼«Ñ  π¬áºá¡¡«ú« óÑ¬Γ«αá
  4264.       »αÑαδóá¡¿⌐, αẽáúáÑΓ Ñú« ¡á ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ ¿ ºá»«-
  4265.       ¼¿¡áÑΓ ¿σ ó »ÑαѼѡ¡δσ psegment ¿ poffset.
  4266.  
  4267.       int_setvector   πßΓá¡áó½¿óáÑΓ  áñαÑß  »«½∞º«óáΓѽ∞߬«⌐
  4268.       »α«µÑñπαδ,  ¿ß»«½∞ºπ∩  offset ¿ segment,  ó  π¬áºá¡¡«¼
  4269.       óÑ¬Γ«αÑ »αÑαδóá¡¿⌐.
  4270.  
  4271.    Åα¿¼Ñα:
  4272.  
  4273.       #include <int.h>
  4274.       volatile int ctrl_c_count = 0;
  4275.       int do_ctrl_c();
  4276.       main()
  4277.       {
  4278.         int_intercept(0σ23, do_ctrl_c, 256);
  4279.                                     /* πßΓᡫ󿽿 αÑᬵ¿ε */
  4280.         while(ctrl_c_count<3)
  4281.            printf("ù¿ß½« Ctrl C αáó¡« %d/n", ctrl_c_count);
  4282.         int_restore(0σ23);         /* ó«ßßΓᡫ󿽿 ßΓáαπε */
  4283.       }
  4284.       do_ctrl_c()
  4285.       {
  4286.         ++ctrl_c_count;
  4287.         return 1;
  4288.       }
  4289.  
  4290.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4291.  
  4292.       ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ  int_intercept  ¿  int_restore,
  4293.       ¿¡ñ¿µ¿απÑΓ πß»Ñσ ¿½¿ ¡Ñπñáτπ.  0 ó«ºóαáΘáÑΓß∩ ó ß½πτáÑ
  4294.       πß»Ñσá ¿ -1  ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  4295.  
  4296.          ÅÉàäôÅÉàåäàìêà: ÅÑαÑ«»αÑñѽѡ¿Ñ »αÑαδóá¡¿∩ ∩ó½∩ÑΓß∩
  4297.                          Γ«¡¬«⌐ »α«µÑñπα«⌐,  ΓαÑíπεΘÑ⌐ σ«α«-
  4298.                          ΦÑú« »«¡¿¼á¡¿∩  MS DOS  ¿ ßѼÑ⌐ßΓóá
  4299.                          IBM PC ñ½∩ πß»ÑΦ¡«ú« »α¿¼Ñ¡Ñ¡¿∩.
  4300.  
  4301.  
  4302. int86, int86x                         ÅÉÄâÉÇîîìÄà ÅÉàÉ¢éÇìêà
  4303.  
  4304.    êß»«½∞º«óá¡¿Ñ:
  4305.  
  4306.       #include <dos.h>             /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó */
  4307.       int int86(int intnum, union REGS *regsin,
  4308.                             union REGS *regsout);
  4309.       int int86x(intnum, union REGS *regsin,
  4310.                  union REGS *regsout, struct SREGS *segregs);
  4311.  
  4312.    Ä»¿ßá¡¿Ñ:
  4313.  
  4314.       ¥Γ¿ Σπ¡¬µ¿¿  óδ»«½¡∩εΓ  »α«úαá¼¼¡«Ñ  »αÑαδóá¡¿Ñ  8086.
  4315.       intnum ∩ó½∩ÑΓß∩ ¡«¼Ñα«¼ »αÑαδóá¡¿∩ (0...255).
  4316.  
  4317.       regsin  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ,  ß«ñÑαªáΘπε
  4318.       º¡áτÑ¡¿∩ αÑú¿ßΓα«ó AX,BX,CX,DX,SI ¿ DI,  »«ßΓπ»áεΘ¿σ ß
  4319.       »αÑαδó᡿Ѽ.
  4320.  
  4321.       segregs ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼ ßÑú¼Ñ¡Γ¡δσ αÑú¿ßΓα«ó,  »«ß-
  4322.       Γπ»áεΘ¿σ ß »αÑαδó᡿Ѽ.
  4323.  
  4324.       regsout ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ó ¬«Γ«απε ºá-
  4325.       »¿ßδóáεΓß∩ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ αÑú¿ßΓα«ó.
  4326.  
  4327.       æΓαπ¬Γπαδ REGS ¿ SREGS «»αÑñѽѡδ ó dos.h Σá⌐½Ñ. ÄΓßδ-
  4328.       ½áѼ éáß ¬ απ¬«ó«ñßΓóá¼  »«  á»»áαáΓπαÑ ¿ »α«úαá¼¼¡«¼π
  4329.       «íÑß»ÑτÑ¡¿ε ñ½∩ º¡á¬«¼ßΓóá ß ¡«¼ÑαἿ »αÑαδóá¡¿⌐ ¿ ß«-
  4330.       «ΓóÑΓßΓóπεΘ¿¼¿ Σπ¡¬µ¿∩¼¿ ¡á éáΦÑ⌐ ¼áΦ¿¡Ñ.
  4331.  
  4332.    Åα¿¼Ñα:
  4333.  
  4334.       /* ¥Γá Σπ¡¬µ¿∩  ó«ß»α¿¡¿¼áÑΓ óó«ñ ß ¬½áó¿áΓπαδ ¿ »¿ΦÑΓ
  4335.          ßΓ᫬π ¡á φ¬αá¡ »«ßαÑñßΓó«¼ BIOS */
  4336.       #include <dos.h>
  4337.       #include <stdio.h>
  4338.       #define MAXKEY 19
  4339.       #define BEEP printf("\007")
  4340.       void print(void);
  4341.       void biosprt(void);
  4342.       char buf [MAXKEY], *ptr;
  4343.       int colm = 30, i;
  4344.       union REGS r;
  4345.       main()
  4346.       {
  4347.         system("cls");
  4348.         printf("éóÑñ¿ΓÑ ßΓα«¬π ¿º 20 ½¿ΓÑα\n\n");
  4349.         gets(buf);
  4350.         if (strlen(buf) > 20)
  4351.              printf("æΓ᫬á ñ½¿¡¡á, «íαѺáѼ\n");
  4352.         print();
  4353.       }
  4354.       void print()
  4355.       {
  4356.         r.h.ah = 0σ02;
  4357.         r.h.bh = 0;
  4358.         r.h.dh = 12;
  4359.         r.h.d1 = colm;
  4360.         int86 (0σ10, &r, &r);
  4361.         for (ptr=buf,i=0; i<=MAXKEY; (biosprt()),i++,ptr++);
  4362.       }
  4363.       void biosprt()
  4364.       {
  4365.         r.h.ah = 0σ09;
  4366.         r.h.al = *ptr;
  4367.         r.x.cx = 1;
  4368.         r.h.bl = 0σ0f;
  4369.         r.h.bh = 0;
  4370.         int86(0x10, &r, &r);
  4371.         r.h.ah = 0x02;
  4372.         r.h.bh = 0;
  4373.         r.h.dh = 12;
  4374.         r.h.dl = ++colm;
  4375.         int86 (0σ10, &r, &r);
  4376.       }
  4377.  
  4378.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4379.  
  4380.       é«ºóαáΘáεΓ º¡áτÑ¡¿Ñ αÑú¿ßΓαá  AX ó 8086  »« ºáóÑαΦÑ¡¿ε
  4381.       »αÑαδóá¡¿∩.  æ«ßΓ«∩¡¿Ñ Σ½áúá 'carry' ¼«ª¡« »«½πτ¿Γ∞ ¿º
  4382.       x.cflag  ó regsout.  ìÑ »«½∞ºπ⌐ΓÑß∞ int86 ¿ int86x ñ½∩
  4383.       »αÑαδóá¡¿⌐ 0x25 ¿½¿ 0x26.  êß»«½∞ºπ⌐ΓÑ  ñ½∩ φΓ¿σ µÑ½Ñ⌐
  4384.       abs_disk_read/ write.
  4385.  
  4386.    ÉѬ«¼Ñ¡ñᵿ∩:
  4387.  
  4388.       æ¼«Γα¿ΓÑ ΓᬪѠ intdos, bdos.
  4389.  
  4390.  
  4391.  
  4392. intdos, intdosx                  æêæÆàîì¢ë é¢çÄé öôìèûêê DOS
  4393.  
  4394.    êß»«½∞º«óá¡¿Ñ:
  4395.  
  4396.       #include <dos.h>             /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó */
  4397.       int intdos(union REGS *regsin, union REGS *regsout);
  4398.       int intdosx(union REGS *regsin, union REGS *regsout,
  4399.                                      struct SREGS *segregs);
  4400.  
  4401.    Ä»¿ßá¡¿Ñ:
  4402.  
  4403.       ¥Γ¿ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ ß¿ßΓѼ¡δ⌐ ó맮ó DOS  (»αÑαδóá¡¿Ñ
  4404.       0x21).  ÄΓßδ½áѼ  éáß ¬ απ¬«ó«ñßΓóπ »« DOS ºá ñÑΓá½∩¼¿
  4405.       «íαáΘÑ¡¿∩ ¿ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿⌐.
  4406.  
  4407.       regsin  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ,  ß«ñÑαªáΘπε
  4408.       º¡áτÑ¡¿∩ αÑú¿ßΓα«ó AX, BX, CX, DX, SI ¿ DI,  »«ßΓπ»áε-
  4409.       Θ¿Ñ ß »αÑαδó᡿Ѽ.
  4410.  
  4411.       regsout  ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ  ¡á ßΓαπ¬Γπαπ,  ó ¬«Γ«απε
  4412.       íπñπΓ ºá»¿ßá¡δ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ αÑú¿ßΓα«ó.
  4413.  
  4414.       segregs  ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ,  ß«ñÑαªáΘπε
  4415.       ßÑú¼Ñ¡Γ¡δÑ  αÑú¿ßΓαδ,  »«ßΓπ»áεΘ¿Ñ  ß  »αÑαδó᡿Ѽ ñ½∩
  4416.       intdosx. ÄíΩÑñ¿¡Ñ¡¿Ñ REGS ¿ ßΓαπ¬Γπαá SREGS «»αÑñѽѡδ
  4417.       ó dos.h Σá⌐½Ñ.
  4418.  
  4419.    Åα¿¼Ñα:
  4420.  
  4421.       #include <dos.h>
  4422.       union REGS inregs, outregs;
  4423.       struct SREGS segregs;
  4424.       main()
  4425.       {
  4426.         char far *string = "ÅÑτáΓ∞ φΓ«⌐ ßΓ᫬¿ $";
  4427.  
  4428.         inregs.h.ah = 9;
  4429.         inregs.x.dx = FP_OFF(string);
  4430.         segregs.ds = FP_SEG(string);
  4431.         intdosx(&inregs, &outregs, &segregs);
  4432.       }
  4433.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4434.  
  4435.       ç¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ í佫 ó AX ¡á ¬«¡Ñµ »αÑαδóá¡¿∩.
  4436.  
  4437.    ÉѬ«¼Ñ¡ñᵿ∩:
  4438.  
  4439.       æ¼«Γα¿ΓÑ ΓᬪѠ int86, int86x, bdos.
  4440.  
  4441.  
  4442.  
  4443. isatty                                 ÄÅÉàäàïêÆ£ ÆêÅ ÅÄÆÄèÇ
  4444.  
  4445.    êß»«½∞º«óá¡¿Ñ:
  4446.  
  4447.       #include <io.h>
  4448.       int isatty (int fd);
  4449.  
  4450.  
  4451.    Ä»¿ßá¡¿Ñ:
  4452.  
  4453.       Ä»αÑñѽ∩ÑΓ,  ßó∩ºá¡ ½¿ ñÑß¬α¿»Γ«α fd ß ΓÑନ¡á½«¼,
  4454.       »α¿¡ΓÑα«¼ ¿½¿ »«ß½Ññ«óáΓѽ∞¡δ¼ »«αΓ«¼.
  4455.  
  4456.    Åα¿¼Ñα:
  4457.  
  4458.       #include <stdio.h>
  4459.       #include <io.h>
  4460.       main()
  4461.       {
  4462.         if (isatty (fileno(stdin)))
  4463.             printf("stdin ßó∩ºá¡ ß ¬½áó¿áΓπα«⌐\n");
  4464.         else
  4465.             printf("stdin ßó∩ºá¡ ß Σá⌐½«¼\n");
  4466.       }
  4467.  
  4468.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4469.  
  4470.       é«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ  º¡áτÑ¡¿Ñ,  Ñß½¿ πßΓα«⌐ßΓó« ∩ó½∩-
  4471.       ÑΓß∩ ΓÑନ¡á½«¼,  ¬«¡ß«½∞ε ¿ Γ.ñ., ¿ 0,  Ñß½¿ ß τѼ-Γ«
  4472.       »«ñ«í¡δ¼ ñ¿ß¬«ó«¼π Σá⌐½π.
  4473.  
  4474.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ fstat.
  4475.  
  4476.  
  4477. is package                         Åá¬ÑΓ ¬½áßß¿Σ¿¬áµ¿¿ ½¿ΓÑα
  4478.  
  4479.    êß»«½∞º«óá¡¿Ñ:
  4480.  
  4481.       #include <ctype.h>
  4482.       int isalnum(int c);                         /* ANSI */
  4483.       int isalpha(int c);                         /* ANSI */
  4484.       int isascii(int c);
  4485.       int iscntrl(int c);                         /* ANSI */
  4486.       int isdigit(int c);                         /* ANSI */
  4487.       int isgraph(int c);                         /* ANSI */
  4488.       int islower(int c);                         /* ANSI */
  4489.       int isprint(int c);                         /* ANSI */
  4490.       int ispunct(int c);                         /* ANSI */
  4491.       int isspace(int c);                         /* ANSI */
  4492.       int isupper(int c);                         /* ANSI */
  4493.       int isxdigit(int c);                        /* ANSI */
  4494.  
  4495.    Ä»¿ßá¡¿Ñ:
  4496.  
  4497.       ¥Γ¿ ¼á¬α«ßδ  ¬½áßß¿Σ¿µ¿απεΓ  ½¿ΓÑαδ »« ºáñá¡¡«¼π »α¿º-
  4498.       ¡á¬π. èáªñδ⌐ ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó  ¬áτÑßΓóÑ
  4499.       ¿ßΓ¿¡¡«ßΓ¿ πΓóÑαªñÑ¡¿∩ ¿ ¡«½∞ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  4500.  
  4501.       isascii  ó«ºóαáΘáÑΓ  ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ñ½∩ óßÑσ ASCII
  4502.       º¡áτÑ¡¿⌐ 0...127. éßÑ ñαπú¿Ñ ¼á¬α«ßδ ¿ß»«½∞ºπεΓ µÑ½«Ñ,
  4503.       ½ÑªáΘÑÑ ó ñ¿á»áº«¡Ñ - 1...255.  éßÑ º¡áτÑ¡¿∩,  ½ÑªáΘ¿Ñ
  4504.       ó¡Ñ φΓ«ú« ñ¿á»áº«¡á, »α¿ó«ñ∩Γ ¬ «Φ¿í«τ¡δ¼ «ΓóÑΓá¼. ¥Γ¿
  4505.       ¼á¬α«ßδ αÑ὿º«óá¡δ ΓᬪѠ¿ ¬á¬ í¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿.
  4506.  
  4507.    Åα¿¼Ñα:
  4508.  
  4509.       #include <ctype.h>
  4510.       #include <stdio.h>
  4511.       main()
  4512.       {
  4513.         printf("Isalnum(%c)=%d\n", '$', isalnum('$'));
  4514.         printf("Isalpha(%c)=%d\n", 'f', isalpha('f'));
  4515.         printf("Isascii(%c)=%d\n", 0xe4, isascii(0xe4));
  4516.         printf("Iscntrl(%c)=%d\n", 0x09, iscntrl(0x09));
  4517.         printf("Isdigit(%c)=%d\n", 0x32, isdigit(0x32));
  4518.         printf("Isgraph(%c)=%d\n", 0x0ea, isgraph(0x0ea));
  4519.         printf("Islower(%c)=%d\n", 'A', islower('A'));
  4520.         printf("Isprint(%c)=%d\n", 0x40, isprint(0x40));
  4521.         printf("Ispunct(%c)=%d\n", ',', ispunct(','));
  4522.         printf("Isspace(%c)=%d\n", ' ', isspace(' '));
  4523.         printf("Isupper(%c)=%d\n", 'd', isupper('d'));
  4524.         printf("Isxdigit(%c)=%d\n", 0x0d, isxdigit(0x0d));
  4525.       }
  4526.  
  4527.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4528.  
  4529.       isalnum  ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞,  Ñß½¿ 'c'  ÑßΓ∞ íπ¬óá ¿½¿
  4530.       µ¿Σαá.
  4531.  
  4532.       ialpha ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ íπ¬óá.
  4533.  
  4534.       isascii ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ó ñ¿á»áº«¡Ñ
  4535.       0..127.
  4536.  
  4537.       iscntrl  ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞,  Ñß½¿ 'c' ∩ó½∩ÑΓß∩ π»αáó-
  4538.       ½∩εΘ¿¼ ß¿¼ó«½«¼ (¿º ñ¿á»áº«¡á (0, 0x1F) ¿½¿ c==0x7F).
  4539.  
  4540.       isdigit ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ µ¿Σαδ 0...9.
  4541.  
  4542.       isgraph ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ »ÑτáΓáÑ-
  4543.       ¼δ¼ ß¿¼ó«½«¼ (¿ß¬½ετá∩ »α«íѽ).
  4544.  
  4545.       islower ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ «ñ¿¡ ¿º ß¿¼-
  4546.       ó«½«ó ¡¿ª¡Ñú« αÑú¿ßΓαá.
  4547.  
  4548.       isprint ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ »ÑτáΓáÑ-
  4549.       ¼δ¼ ß¿¼ó«½«¼ (ó¬½ετá∩ »α«íѽ).
  4550.  
  4551.       ispunct ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ ß¿¼ó«½ »π¡¬-
  4552.       Γπᵿ¿.
  4553.  
  4554.       isspace ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ ß¿¼ó«½á Γáíπ½∩µ¿¿,
  4555.       ¡«ó«⌐ ßΓ᫬¿, óÑαΓ¿¬á½∞¡«⌐ Γáíπ½∩µ¿¿, ó«ºóαáΓá ¬áαÑΓ¬¿,
  4556.       »α«íѽᠿ »ÑαÑó«ñá Σ«α¼áΓá (form feed).
  4557.  
  4558.       isupper ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ «ñ¡¿¼ ¿º
  4559.       ß¿¼ó«½«ó óÑασ¡Ñú« αÑú¿ßΓαá.
  4560.  
  4561.       isxdigit  ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞,  Ñß½¿ 'c' ∩ó½∩ÑΓß∩ «ñ¡¿¼
  4562.       ¿º ß¿¼ó«½«ó 0..9, A..F ¿½¿ a..f.
  4563.  
  4564.    ÉѬ«¼Ñ¡ñᵿ∩:
  4565.  
  4566.       æ¼«Γα¿ΓÑ ΓᬪѠtoascii.
  4567.  
  4568.  
  4569. itoa                                   ÅÉà俯Çéïàìêà ûàïÄâÄ
  4570.  
  4571.    êß»«½∞º«óá¡¿Ñ:
  4572.  
  4573.       #include <stdlib.h>
  4574.       char * itoa(int value, char * str, int radix);
  4575.  
  4576.    Ä»¿ßá¡¿Ñ:
  4577.  
  4578.       ÅαÑ«íαáºπÑΓ  value  ó ßΓ᫬π,  ºá¬á¡τ¿óáεΘπεß∩  ¡π½Ñ¼,
  4579.       ¿ß»«½∞ºπ∩ radix. Radix ºáñáÑΓ «ß¡«óá¡¿Ñ ß¿ßΓÑ¼δ ¿ßτ¿ß-
  4580.       ½Ñ¡¿∩ ¿ ñ«½ªÑ¡ íδΓ∞ ó ñ¿á»áº«¡Ñ 2...36. àß½¿ value «Γ-
  4581.       α¿µáΓѽ∞¡« ¿ radix αáóÑ¡ 10,  »Ñαó«⌐ ½¿ΓÑα«⌐ str íπñÑΓ
  4582.       '-'. ÉѺπ½∞ΓáΓ ºá»¿ßδóáÑΓß∩ ó ßΓ᫬π str, ¬«Γ«αá∩ ñ«½ª-
  4583.       ¡á íδΓ∞ ñ«ßΓáΓ«τ¡« óѽ¿¬á, τΓ«íδ αѺπ½∞ΓáΓ »«¼ÑßΓ¿½ß∩.
  4584.  
  4585.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4586.  
  4587.       é«ºóαáΘáÑΓ str. ÄΦ¿í¬¿ ¡Ñ ó«ºóαáΘáεΓß∩.
  4588.  
  4589.    Åα¿¼Ñα:
  4590.  
  4591.       #include <stdlib.h>
  4592.       #include <stdio.h>
  4593.       main()
  4594.       {
  4595.         char buffer[10];
  4596.         int value = 67;
  4597.         char *ptr;
  4598.         ptr = itoa(value, buffer, 2);
  4599.         printf("ù¿ß½« %d ¬á¬ ñó«¿τ¡«Ñ=\"%s\"\n",value,
  4600.                                                     buffer);
  4601.         ptr=itoa(value, buffer, 8);
  4602.         printf("ù¿ß½« %d ¬á¬ ó«ß∞¼Ñα¿τ¡«Ñ=\"%s\"\n",value,
  4603.                                                     buffer);
  4604.         ptr=itoa(value, buffer, 16);
  4605.         printf("ù¿ß½« %d ¬á¬ 16-α¿τ¡«Ñ=\"%s\"\n",value,
  4606.                                                     buffer);
  4607.       }
  4608.  
  4609.  
  4610. kbhit                            ÅÉÄéàÉèÇ ééÄäÇ æ èïÇéêÇÆôÉ¢
  4611.  
  4612.    êß»«½∞º«óá¡¿Ñ:
  4613.  
  4614.       #include <conio.h>
  4615.       int kbhit(void);
  4616.  
  4617.    Ä»¿ßá¡¿Ñ:
  4618.  
  4619.       Åα«óÑα∩ÑΓ ¡á½¿τ¿Ñ óó«ñá ß ¬½áó¿áΓπαδ (¡áªáΓ¿Ñ ¬½áó¿Φ¿).
  4620.  
  4621.    Åα¿¼Ñα:
  4622.  
  4623.       #include <stdio.h>
  4624.       #include <conio.h>
  4625.       main()
  4626.       {
  4627.         printf("Åα¿ú«Γ«ó¿óΦ¿ß∞, ¡áª¼¿ΓÑ ½εíπε ¬½áó¿Φπ\n");
  4628.         while(!kbhit());
  4629.         printf("\n üδ½á ¡áªáΓá ¬½áó¿Φá (%c)\n", getch());
  4630.       }
  4631.  
  4632.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4633.  
  4634.       é«ºóαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ ¡áªáΓ¿∩ ¬½áó¿Φ¿ ¬½áó¿áΓπαδ
  4635.       ¿ ¡«½∞ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
  4636.  
  4637.  
  4638.  
  4639. labs                            ÇüæÄï₧ÆìÄà çìÇùàìêà äïêììÄâÄ
  4640.  
  4641.    êß»«½∞º«óá¡¿Ñ:
  4642.  
  4643.       #include <stdio.h>
  4644.       long labs(long i);                          /* ANSI */
  4645.  
  4646.    Ä»¿ßá¡¿Ñ:
  4647.  
  4648.       éδτ¿ß½∩ÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú«.
  4649.  
  4650.  
  4651.    Åα¿¼Ñα:
  4652.  
  4653.       #include <stdlib.h>
  4654.       #include <stdio.h>
  4655.       main()
  4656.       {
  4657.         long lng, result;
  4658.         lng = -314159L;
  4659.         result = labs(lng);
  4660.         printf("Çíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ «Γ (%ld) αáó¡« (%ld)\n",
  4661.                     lng, result);
  4662.       }
  4663.  
  4664.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4665.  
  4666.       é«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú«.
  4667.  
  4668.    ÉѬ«¼Ñ¡ñᵿ∩:
  4669.  
  4670.       æ¼«Γα¿ΓÑ ΓᬪѠabs.
  4671.  
  4672.  
  4673. ldexp                                             ¥èæÅÄìàìÆÇ
  4674.  
  4675.    êß»«½∞º«óá¡¿Ñ:
  4676.  
  4677.       #include <math.h>
  4678.       double ldexp(double x, int exp);            /* ANSI */
  4679.  
  4680.    Ä»¿ßá¡¿Ñ:
  4681.  
  4682.       éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ x*(2**exp).
  4683.  
  4684.    Åα¿¼Ñα:
  4685.  
  4686.       #include <math.h>
  4687.       #include <stdio.h>
  4688.       main()
  4689.       {
  4690.         double x,y;
  4691.         int exp;
  4692.         x = 1.5;
  4693.         exp = 5;
  4694.         y = ldexp(x,exp);
  4695.         printf("The ldexp(%f exp %d)=\n", x, exp, y);
  4696.       }
  4697.  
  4698.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4699.  
  4700.       é«ºóαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ x*(2**exp).
  4701.  
  4702.  
  4703.       ÉѬ«¼Ñ¡ñᵿ∩:
  4704.  
  4705.       æ¼«Γα¿ΓÑ ΓᬪѠ exp, frexp, log, log10, modf.
  4706.  
  4707.  
  4708.  
  4709. ldiv                                 äàïàìêà ùêæàï ÆêÅÇ long
  4710.  
  4711.    êß»«½∞º«óá¡¿Ñ:
  4712.  
  4713.       #include <stdlib.h>                         /* ANSI */
  4714.       ldiv_t ldiv(long int numerator, long int denominator);
  4715.  
  4716.    Ä»¿ßá¡¿Ñ:
  4717.  
  4718.       äѽ¿Γ  numerator ¡á  denominator,  ó«ºóαáΘá∩ τáßΓ¡«Ñ ¿
  4719.       «ßΓáΓ«¬.  àß½¿ ñѽ¿Γѽ∞ ¡«½∞,  »α«úαἼᠺáóÑαΦáÑΓß∩ ß
  4720.       ß««íΘÑ¡¿Ñ¼ «í «Φ¿í¬Ñ.  Çαúπ¼Ñ¡Γδ ¿ ó«ºóαáΘáѼδÑ º¡áτÑ-
  4721.       ¡¿∩ ¿¼ÑεΓ Γ¿» long.
  4722.  
  4723.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4724.  
  4725.       é«ºóαáΘáÑΓ ßΓαπ¬Γπαπ ldiv_t,  ß«ñÑαªáΘπε τáßΓ¡«Ñ ¿ «ß-
  4726.       ΓáΓ«¬.
  4727.  
  4728.    ÉѬ«¼Ñ¡ñᵿ∩:
  4729.  
  4730.       æ¼«Γα¿ΓÑ ΓᬪѠ div.
  4731.  
  4732.    Åα¿¼Ñα:
  4733.  
  4734.       #include <stdio.h>
  4735.       #include <stdlib.h>
  4736.       main()
  4737.       {
  4738.         long numer, denom;
  4739.         ldiv_t result;
  4740.         numer = 3;
  4741.         denom = 2;
  4742.         printf("äѽ¿¼«Ñ = %ld ¿ ñѽ¿Γѽ∞ = is %ld\n", numer,
  4743.                 denom);
  4744.         result = ldiv(numer, denom);
  4745.         printf("ùáßΓ¡«Ñ = %ld\n", result.quot);
  4746.         printf("ÄßΓáΓ«¬ = %ld\n", result.rem);
  4747.       }
  4748.  
  4749.  
  4750.  
  4751. localtime                                äÇÆ£  îàæÆìÄà éÉàîƒ
  4752.  
  4753.    êß»«½∞º«óá¡¿Ñ:
  4754.  
  4755.       #include <time.h>
  4756.       struct tm *localtime(time_t *time);         /* ANSI */
  4757.  
  4758.    Ä»¿ßá¡¿Ñ:
  4759.  
  4760.       ÅαÑ«íαáºπÑΓ  óαѼ∩,  ºá»¿ßá¡¡«Ñ  ó Σ«α¼áΓÑ  time_t,  ó
  4761.       ßΓαπ¬Γπαπ tm.  time_t óδαáªáÑΓß∩ ó ßѬπ¡ñáσ ß 1 ∩¡óáα∩
  4762.       1970 ú«ñá.  Ä¡« ¼«ªÑΓ íδΓ∞  »«½πτÑ¡« ß »«¼«Θ∞ε Σπ¡¬µ¿¿
  4763.       time. Localtime »α«¿ºó«ñ¿Γ ¬«ααѬµ¿ε, πτ¿ΓδóáεΘπε óαÑ-
  4764.       ¼Ñ¡¡«⌐ »«∩ß ¿, ó«º¼«ª¡«, »«»αáó¬π ¡á ßñó¿ú,  ßó∩ºá¡¡πε
  4765.       ß φ¬«¡«¼¿Ñ⌐ ñ¡Ñó¡«ú« óαѼѡ¿. Å«½∩ ßΓαπ¬Γπαδ tm:
  4766.  
  4767.       struct tm {
  4768.          tm_sec,                         /* ßѬπ¡ñδ 0..59 */
  4769.          tm_min,                         /* ¼¿¡πΓδ  0..59 */
  4770.          tm_hour,                        /* τáß ñ¡∩ 0..23 */
  4771.          tm_mday,                    /* ñÑ¡∞ ¼Ñß∩µá 1..31 */
  4772.          tm_mon,                           /* ¼Ñß∩µ 0..11 */
  4773.          tm_year,                       /* ú«ñ »«ß½Ñ 1900 */
  4774.          tm_wday,         /* ñÑ¡∞ ¡Ññѽ¿, 0..6 (Sun..Sat) */
  4775.          tm_yday,                    /* ñÑ¡∞ ú«ñá, 0..365 */
  4776.          tm_isdst;        /* >0, Ñß½¿ ÑßΓ∞ »«»αáó¬á ¡á ßñó¿ú,
  4777.                              =0, Ñß½¿ ¡ÑΓ »«»αáó¬¿,
  4778.                              <0, Ñß½¿ ¡Ñ¿ºóÑßΓ¡« */
  4779.       }
  4780.  
  4781.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4782.  
  4783.       é«ºóαáΘáÑΓ  π¬áºáΓѽ∞  ¡á  ßΓáΓ¿τÑ߬πε  ßΓαπ¬Γπαπ  tm,
  4784.       ¬«Γ«αá∩ «í¡«ó½∩ÑΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ Σπ¡¬µ¿¿.
  4785.  
  4786.    Åα¿¼Ñα:
  4787.  
  4788.       #include <time.h>
  4789.       #include <stdio.h>
  4790.       main()
  4791.       {
  4792.         struct tm *t;
  4793.         time_t ltime;
  4794.         time(<ime);
  4795.         t = localtime(<ime);
  4796.         printf("äáΓá: %d-%d-%d\n", t-> tm_mday,
  4797.                          t->tm_mon+1, t->tm_year);
  4798.       }
  4799.  
  4800.  
  4801.    ÉѬ«¼Ñ¡ñᵿ∩:
  4802.  
  4803.       æ¼«Γα¿ΓÑ ΓᬪѠ time, asctime, ctime, mktime.
  4804.  
  4805.  
  4806. log, log10                                          ïÄâÇÉêöî
  4807.  
  4808.    êß»«½∞º«óá¡¿Ñ:
  4809.  
  4810.       #include <math.h>
  4811.       double log(double x);                       /* ANSI */
  4812.       double log10(double x);                     /* ANSI */
  4813.  
  4814.    Ä»¿ßá¡¿Ñ:
  4815.  
  4816.       Log óδτ¿ß½∩ÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ x.  ç¡áτÑ¡¿Ñ x ñ«½-
  4817.       ª¡« íδΓ∞ í«½∞ΦÑ 0. Log10 óδτ¿ß½∩ÑΓ ñÑß∩Γ¿τ¡δ⌐ ½«úáα¿Σ¼
  4818.       x (x ñ«½ªÑ¡ íδΓ∞ í«½∞ΦÑ 0).
  4819.  
  4820.    Åα¿¼Ñα:
  4821.  
  4822.       #include <math.h>
  4823.       #include <stdio.h>
  4824.       main(int argc, char **argv)
  4825.       {
  4826.         double d, result;
  4827.         d = atof(argv[1]);
  4828.         result = log(d);
  4829.         printf("The log of %.2f is %f\n", d, result);
  4830.         result = log10(d);
  4831.         printf("The log10 of %.2f is %f\n", d, result);
  4832.       }
  4833.  
  4834.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4835.  
  4836.       é«ºóαáΘáεΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ¿½¿ «Φ¿í¬π,  ßó∩ºá¡¡πε
  4837.       ß «í½áßΓ∞ε «»αÑñѽѡ¿∩, Ñß½¿ x <= 0.
  4838.  
  4839.    ÉѬ«¼Ñ¡ñᵿ∩:
  4840.  
  4841.       æ¼«Γα¿ΓÑ ΓᬪѠ exp, pow, sqrt.
  4842.  
  4843.  
  4844. longjmp                                      äïêìì¢ë ÅàÉàòÄä
  4845.  
  4846.    êß»«½∞º«óá¡¿Ñ:
  4847.  
  4848.       #include <setjmp.h>
  4849.       void longjmp (jmp_buf env, int value);      /* ANSI */
  4850.       int setjmp (jmp_buf env);                   /* ANSI */
  4851.  
  4852.    Ä»¿ßá¡¿Ñ:
  4853.  
  4854.       ¥Γ¿  Σπ¡¬µ¿¿  »«ºó«½∩εΓ  «ßπΘÑßΓó½∩Γ∞  »ÑαÑσ«ñδ  ¼Ñªñπ
  4855.       Σπ¡¬µ¿∩¼¿. Ä¡¿ ¼«úπΓ íδΓ∞ »«½Ñº¡δ »α¿ «íαáí«Γ¬Ñ «Φ¿í«¬
  4856.       ¿½¿ »αÑαδóá¡¿⌐,  »α«¿ßΦÑñΦ¿σ ó ¡¿º¬«πα«ó¡Ñóδσ »α«µÑñπ-
  4857.       αáσ »α«úαá¼¼δ.
  4858.       setjmp ß«σαá¡∩ÑΓ «¬απªÑ¡¿Ñ ßΓѬá ó »ÑαѼѡ¡«⌐  env ñ½∩
  4859.       ñá½∞¡Ñ⌐ΦÑú« ¿ß»«½∞º«óá¡¿∩ ó longjmp.
  4860.       longjmp ó«ßßΓá¡áó½¿óáÑΓ «¬απªÑ¡¿Ñ,  ß«σαá¡Ñ¡¡«Ñ  αá¡ÑÑ
  4861.       »«ßαÑñßΓó«¼ setjmp ó íπΣÑαÑ env. value, ó«ºóαáΘáѼ«Ñ ó
  4862.       «¬απªÑ¡¿Ñ, ¬á¬ íδ »«ßΓáó½∩ÑΓ setjmp.
  4863.  
  4864.       çÇîàùÇìêà:  Ä¬απªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ºáΣ¿¬ß¿α«óá¡« ß ¿ß-
  4865.                   »«½∞º«ó᡿Ѽ setjmp, óδºδóáѼ«⌐ ¿º Γ«⌐ ªÑ
  4866.                   Σπ¡¬µ¿¿, ¬«Γ«αá∩ ß«ñÑαª¿Γ «íαáΘÑ¡¿Ñ ¬ Σπ-
  4867.                   ¡¬µ¿¿ longjmp, ¿½¿ ¿º "α«ñ¿Γѽ∞߬«⌐", Γ.Ñ.
  4868.                   Σπ¡¬µ¿¿,  ß«ñÑαªáΘÑ⌐ «íαáΘÑ¡¿Ñ ¬ Γ«⌐, τΓ«
  4869.                   óδºδóáÑΓ longjmp.
  4870.  
  4871.       Å«ß½Ñ ºáóÑαΦÑ¡¿∩  longjmp óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ »α«ñ«½-
  4872.       ªáÑΓß∩, ¬á¬ Ñß½¿ íδ ß««ΓóÑΓßΓóπεΘÑÑ «íαáΘÑ¡¿Ñ ¬ setjmp
  4873.       ó«ºóαáΓ¿½« value. value ¡¿¬«úñá ¡Ñ íπñÑΓ 0. àß½¿ value
  4874.       »ÑαÑñá¡« ¬á¬ 0, íπñÑΓ ó«ºóαáΘÑ¡« º¡áτÑ¡¿Ñ 1.
  4875.  
  4876.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4877.  
  4878.       setjmp  ó«ºóαáΘáÑΓ  0.  longjmp ¡Ñ ¿¼ÑÑΓ ó«ºóαáΘáѼ«ú«
  4879.       º¡áτÑ¡¿∩.
  4880.  
  4881.    Åα¿¼Ñα:
  4882.  
  4883.       #include <setjmp.h>
  4884.       #include <stdio.h>
  4885.       void doscall(void);
  4886.       jmp_buf environment;
  4887.       int error_val = -1;
  4888.       main()
  4889.       {
  4890.         int error code;
  4891.         error_code = setjmp(environment);
  4892.         if (error_code !=0)
  4893.             {
  4894.               printf("éδºóá¡ longjmp\n");
  4895.               exit(1);
  4896.             }
  4897.         printf("éδºóá¡ setjmp\n");
  4898.         doscall();
  4899.       }
  4900.       doscall()
  4901.       {
  4902.         longjmp(environment, error_val);
  4903.       }
  4904.  
  4905.  
  4906. lseek                              êçîàìêÆ£ ÅÄçêûê₧ é öÇëïà
  4907.  
  4908.    êß»«½∞º«óá¡¿Ñ:
  4909.  
  4910.       #include <io.h>
  4911.       long lseek(int fd, long offset, int mode);
  4912.  
  4913.  
  4914.    Ä»¿ßá¡¿Ñ:
  4915.  
  4916.       êº¼Ñ¡∩ÑΓ ΓѬπΘπε »«º¿µ¿ε τΓÑ¡¿∩/ºá»¿ß¿ ó Σá⌐½Ñ, ºáñá¡-
  4917.       ¡«¼ ñÑß¬α¿»Γ«α«¼ fd. Åáαá¼ÑΓα mode ¼«ªÑΓ »α¿¡¿¼áΓ∞ «ñ¡«
  4918.       ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
  4919.  
  4920.          SEEK_SET - ô¬áºáΓѽ∞ ßñó¿úáÑΓß∩ ¡á offset íá⌐Γ«ó «Γ
  4921.                     ¡áτá½á Σá⌐½á.
  4922.  
  4923.          SEEK_CUR - æñó¿ú ¡á offset íá⌐Γ«ó «Γ¡«ß¿Γѽ∞¡« ΓѬπ-
  4924.                     ΘÑ⌐ »«º¿µ¿¿.
  4925.  
  4926.          SEEK_END - æñó¿ú ¡á offset íá⌐Γ«ó «Γ ¬«¡µá Σá⌐½á.
  4927.  
  4928.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4929.  
  4930.       é«ºóαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ¡«ó«⌐ »«º¿µ¿¿ «Γ¡«ß¿Γѽ∞-
  4931.       ¡« ¡áτá½á Σá⌐½á. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓ -1 ¿ πßΓá-
  4932.       ¡áó½¿óáÑΓ errno.
  4933.  
  4934.    ÉѬ«¼Ñ¡ñᵿ∩:
  4935.  
  4936.       æ¼«Γα¿ΓÑ ΓᬪѠ fseek.
  4937.  
  4938.    Åα¿¼Ñα:
  4939.  
  4940.       #include <stdio.h>
  4941.       #include <io.h>
  4942.       #include <dos.h>
  4943.       main()
  4944.       {
  4945.         int fp;
  4946.         long offset, lpos;
  4947.         fp = open("file.dat", O_RDWR);
  4948.         if (fp<0)
  4949.             return;
  4950.         offset = 0L;
  4951.         lpos = lseek(fp, offset, SEEK_SET)
  4952.         printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
  4953.         offset = 10L;
  4954.         lpos = lseek(fp, offset, SEEK_CUR);
  4955.         printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
  4956.         offset = 50L;
  4957.         lpos = lseek(fp, offset, SEEK_END);
  4958.         printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
  4959.         close(fp);
  4960.       }
  4961.  
  4962.  
  4963.  
  4964. malloc                                       ÄÆéàæÆê ÅÇîƒÆ£
  4965.  
  4966.    êß»«½∞º«óá¡¿Ñ:
  4967.  
  4968.       #include <stdlib.h>
  4969.       void *malloc(unsigned numbytes);            /* ANSI */
  4970.  
  4971.    Ä»¿ßá¡¿Ñ:
  4972.  
  4973.       ÉẼÑΘáÑΓ  í½«¬ »á¼∩Γ¿ «íΩѼ«¼  numbytes  íá⌐Γ«ó. àß½¿
  4974.       numbytes αáóÑ¡ 0, Γ« ó«ºóαáΘáÑΓ NULL.
  4975.  
  4976.    Åα¿¼Ñα:
  4977.  
  4978.       #include <stdlib.h>
  4979.       #include <stdio.h>
  4980.       #define NUM_INTS 7623
  4981.       int *memblock;
  4982.       main()
  4983.       {
  4984.         memblock = malloc(NUM_INTS*sizeof(int));
  4985.         if (memblock==NULL)
  4986.             printf("ìÑσóáΓ¬á »á¼∩Γ¿\n");
  4987.         else
  4988.             printf("Åá¼∩Γ∞ «ΓóÑñÑ¡á\n");
  4989.         free(memblock);
  4990.       }
  4991.  
  4992.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  4993.  
  4994.       é«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á αẼÑΘÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿.  ï¿í«
  4995.       ó«ºóαáΘáÑΓ NULL  »α¿ ¡Ññ«ßΓáΓ¬Ñ »á¼∩Γ¿  ¿½¿  ó  ß½πτáÑ
  4996.       numbytes==0.
  4997.  
  4998.    ÉѬ«¼Ñ¡ñᵿ∩:
  4999.  
  5000.       æ¼«Γα¿ΓÑ ΓᬪѠcalloc, free, realloc, farmalloc.
  5001.  
  5002.  
  5003.  
  5004. matherr              ÄüÉÇüÄÆèÇ Äÿêüèê îÇÆàîÇÆêùàæèÄë öôìèûêê
  5005.  
  5006.    êß»«½∞º«óá¡¿Ñ:
  5007.  
  5008.       #include <math.h>
  5009.       int matherr(struct exception *e);
  5010.  
  5011.    Ä»¿ßá¡¿Ñ:
  5012.  
  5013.       matherr óδºδóáÑΓß∩  »α¿  «í¡áαπªÑ¡¿¿  «Φ¿í¬¿ Σπ¡¬µ¿∩¼¿
  5014.       math í¿í½¿«ΓѬ¿.  Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ í¿í-
  5015.       ½¿«ΓÑτ¡δ⌐ óáα¿á¡Γ φΓ«⌐ Σπ¡¬µ¿¿ ¿½¿ «»αÑñѽ¿Γ∞ ß«íßΓóÑ-
  5016.       ¡¡πε «ñ¡«¿¼Ñ¡¡πε »α«µÑñπαπ  ó ßó«Ñ⌐ »α«úαá¼¼Ñ.  ô¬áºá-
  5017.       Γѽ∞ ¡á ßΓαπ¬Γπαπ exception ñ«½ªÑ¡ »«ßΓπ»áΓ∞  ó »α«µÑ-
  5018.       ñπαπ »«½∞º«óáΓѽ∩, íÑαπΘπε «íαáí«Γ¬π «Φ¿í¬¿ ¡á ßÑí∩.
  5019.  
  5020.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5021.  
  5022.       é«ºóαáΘÑ¡¿Ñ 0 «º¡áτáÑΓ, τΓ« «Φ¿í¬á «íαáí«Γá¡á »αáó¿½∞-
  5023.       ¡«, 1 «º¡áτáÑΓ, τΓ« «Φ¿í¬á ¡Ñ ¼«ªÑΓ íδΓ∞ «íαáí«Γá¡á.
  5024.  
  5025.    Åα¿¼Ñα:
  5026.  
  5027.       #include <stdio.h>
  5028.       #include <math.h>
  5029.       #include <string.h>
  5030.       main()
  5031.       {
  5032.         printf("log(-1) = %e\n", log(-1));
  5033.       }
  5034.       int matherr(x)
  5035.       struct exception *x;
  5036.       {
  5037.         if (x -> type == DOMAIN)
  5038.             {
  5039.               if (strcmp(x -> name, "log")==0)
  5040.                  {
  5041.                    x -> retval = log(-(x -> arg1));
  5042.                    return(1);
  5043.                  }
  5044.             }
  5045.         return(0);
  5046.       }
  5047.  
  5048. memchr - memset                  ÉÇüÄÆÇ æ üÇëÆÇîê é îÇææêéÇò
  5049.  
  5050.    êß»«½∞º«óá¡¿Ñ:                             /* óßÑ ANSI */
  5051.  
  5052.       #include <string.h>
  5053.       void *memchr(void *buf, int c, unsigned count);
  5054.       int  memcmp(void *buf1, void *buf2, unsigned count);
  5055.       void *memcpy(void *buf1, void *buf2, unsigned count);
  5056.       void *memmove(void *buf1, void *buf2, unsigned count);
  5057.       void *memset(void *buf, int val, unsigned count);
  5058.  
  5059.    Ä»¿ßá¡¿Ñ:
  5060.  
  5061.       memchr «Γδ߬¿óáÑΓ ó íπΣÑαÑ  buf  íá⌐Γ ß« º¡áτÑ¡¿Ñ¼ 'c'.
  5062.       Å«¿ß¬ »α«ñ«½ªáÑΓß∩ ßαÑñ¿  count  ¬«½¿τÑßΓóá íá⌐Γ«ó ¿½¿
  5063.       ñ« óßΓαÑτ¿ º¡áτÑ¡¿∩ 'c'.
  5064.  
  5065.       memcmp »«ß½Ññ«óáΓѽ∞¡« ßαáó¡¿óáÑΓ íá⌐Γδ íπΣÑα«ó buf1 ¿
  5066.       buf2 ¿ »α«ñ«½ªáÑΓ φΓ«,  »«¬á «¡¿ ß«ó»áñáεΓ,  ½¿í« »«¬á
  5067.       ¡Ñ óδ»«½¡¿Γ ºáñá¡¡«Ñ ¬«½¿τÑßΓó« ßαáó¡Ñ¡¿⌐ count. memcmp
  5068.       ó«ºóαáΘáÑΓ µÑ½«Ñ, ¼Ñ¡∞ΦÑÑ, αáó¡«Ñ ¿½¿ í«½∞ΦÑÑ 0 ó ºáó¿-
  5069.       ß¿¼«ßΓ¿ «Γ αѺπ½∞ΓáΓá ßαáó¡Ñ¡¿∩  »«ß½Ññ¡Ñ⌐ »áαδ íá⌐Γ«ó.
  5070.  
  5071.       memcpy ¿ memmove ¬«»¿απεΓ count íá⌐Γ«ó ¿º buf2 ó buf1.
  5072.       memcpy αáí«ΓáÑΓ íδßΓαÑÑ,  ¡« ¡Ñ αáí«ΓáÑΓ,  Ñß½¿ buf1 ¿
  5073.       buf2 »ÑαѬαδóáεΓß∩ (¿¼ÑεΓ «íΘπε τáßΓ∞).髺óαáΘáεΓ buf1.
  5074.  
  5075.       memset πßΓá¡áó½¿óáÑΓ »ÑαóδÑ count íá⌐Γ«ó ó buf αáó¡δ¼¿
  5076.       val. é«ºóαáΘáÑΓ buf.
  5077.  
  5078.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5079.  
  5080.       memchr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε ¡á⌐ñÑ¡¡«⌐ ½¿ΓÑαδ
  5081.       'c' ó íπΣÑαÑ, ½¿í« NULL.
  5082.  
  5083.       memcpy ¿ memmove ó«ºóαáΘáεΓ buf1.
  5084.       memset ó«ºóαáΘáÑΓ buf.
  5085.       memcmp ó«ºóαáΘáÑΓ º¡áτÑ¡¿∩:
  5086.  
  5087.          <0         buf1 < buf2
  5088.          =0         buf1 = buf2
  5089.          >0         buf1 > buf2
  5090.  
  5091.    Åα¿¼Ñα:
  5092.  
  5093.       #include <string.h>
  5094.       #include <stdio.h>
  5095.       char buffer[50];
  5096.       char buffer2[50]="Åα¿¼Ñα ßΓ᫬¿\n";
  5097.       char srccpy[]="Åα¿¼Ñα 2 ßΓ᫬¿\n";
  5098.       char * result;
  5099.       int reslt;
  5100.       main()
  5101.       {
  5102.         printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memcpy\n");
  5103.         memcpy(buffer, buffer2, 15);
  5104.         printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memchr\n");
  5105.         result = memchr(buffer, 'Γ', 50);
  5106.         if (result != NULL)
  5107.             printf("ï¿ΓÑαá(Γ) ¡á⌐ñÑ¡á ó (%d)\n",
  5108.                                  result-buffer+1);
  5109.         else
  5110.             printf("ÄΦ¿í¬á-(Γ) ¡Ñ ¡á⌐ñÑ¡á\n");
  5111.         printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memcmp\n");
  5112.         reslt = memcmp(buffer, buffer2, 50);
  5113.         printf("ÉѺπ½∞ΓáΓ memcmp: %s\n", reslt;
  5114.         printf("Buffer before memmove : %s", buffer);
  5115.         result = memmove(buffer, srccpy, sizeof(srccpy));
  5116.         printf("üπΣÑα »«ß½Ñ memmove : %s", buffer);
  5117.         printf("üπΣÑα ñ« memset : %s", buffer);
  5118.         result = memset(buffer, 'x', 6);
  5119.         printf("üπΣÑα »«ß½Ñ memset : %s", buffer);
  5120.       }
  5121.  
  5122.    ÉѬ«¼Ñ¡ñᵿ∩:
  5123.  
  5124.       æ¼«Γα¿ΓÑ ΓᬪѠstrcmp, strcat, strset, strchr.
  5125.  
  5126.  
  5127. mkdir                                        æÄçäÇÆ£ èÇÆÇïÄâ
  5128.  
  5129.    êß»«½∞º«óá¡¿Ñ:
  5130.  
  5131.       #include <direct.h>
  5132.       int mkdir(char * pathname);
  5133.  
  5134.    Ä»¿ßá¡¿Ñ:
  5135.  
  5136.       æ«ºñáÑΓ ¡«óδ⌐  ¬áΓὫú,  ºáñá¡¡δ⌐ »áαá¼ÑΓα«¼ pathname.
  5137.       àß½¿ pathname ß«ñÑαª¿Γ í«½ÑÑ «ñ¡«⌐ ¬«¼»«¡Ñ¡Γδ,  Γ«½∞¬«
  5138.       »«ß½Ññ¡∩∩ ¬«¼»«¡Ñ¡Γá ñ«½ª¡á  íδΓ∞  ¡«ó«⌐,  á óßÑ »αÑñ-
  5139.       ΦÑßΓóπεΘ¿Ñ ñ«½ª¡δ íδΓ∞ ßπΘÑßΓóπεΘ¿¼¿ ¬áΓὫúἿ.
  5140.  
  5141.    Åα¿¼Ñα:
  5142.  
  5143.       #include <stdio.h>
  5144.       #include <direct.h>
  5145.       main()
  5146.       {
  5147.         int result;
  5148.         result = mkdir("\\temp");
  5149.         if (result==0)
  5150.             printf("èáΓὫú \\temp ß«ºñá¡\n");
  5151.         else
  5152.             printf("ìÑ ¼«úπ ß«ºñáΓ∞ ¬áΓὫú \\temp\n");
  5153.       }
  5154.  
  5155.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5156.  
  5157.       é«ºóαáΘáÑΓ 0 ó ß½πτáÑ  πß»Ñσá  ¿ -1 ó ß½πτáÑ ¡Ñπñáτ¿ ß
  5158.       πßΓá¡áó¬«⌐ errno.
  5159.  
  5160.    ÉѬ«¼Ñ¡ñᵿ∩:
  5161.  
  5162.       æ¼«Γα¿ΓÑ ΓᬪѠrmdir, chdir.
  5163.  
  5164.  
  5165. MK_FP                              æÄçäÇÆ£ äÇï£ìêë ôèÇçÇÆàï£
  5166.  
  5167.    êß»«½∞º«óá¡¿Ñ:
  5168.  
  5169.       #include <dos.h>
  5170.       void far *MK_FP(unsigned seg, unsigned off);
  5171.  
  5172.    Ä»¿ßá¡¿Ñ:
  5173.  
  5174.       ÅαÑ«íαáºπÑΓ  º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá (segment) ¿  ß¼ÑΘÑ¡¿∩
  5175.       (offset) ó ñá½∞¡¿⌐ π¬áºáΓѽ∞.
  5176.  
  5177.    Åα¿¼Ñα:
  5178.  
  5179.       #include <dos.h>
  5180.       #include <stdio.h>
  5181.       main()
  5182.       {
  5183.         char far *p;
  5184.         unsigned int segment=0xb800, offset=0;
  5185.         p = MK_FP(segment, offset);
  5186.         printf("The CGA ó¿ñÑ« íπΣÑα ó %lp\n", p);
  5187.       }
  5188.  
  5189.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5190.  
  5191.       é«ºóαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞.
  5192.  
  5193.    ÉѬ«¼Ñ¡ñᵿ∩:
  5194.  
  5195.       æ¼«Γα¿ΓÑ ΓᬪѠFP_SEG, FP_OFF.
  5196.  
  5197.  
  5198. mktime                                   ÅÉàÄüÉÇçÄéÇÆ£ éÉàîƒ
  5199.  
  5200.    êß»«½∞º«óá¡¿Ñ:
  5201.  
  5202.       #include <time.h>
  5203.       time_t mktime(struct tm *ntime);            /* ANSI */
  5204.  
  5205.    Ä»¿ßá¡¿Ñ:
  5206.  
  5207.       ÅαÑ«íαáºπÑΓ ßΓαπ¬Γπαπ tm ó time_t.
  5208.  
  5209.    Åα¿¼Ñα:
  5210.  
  5211.       #include <time.h>
  5212.       #include <stdio.h>
  5213.       main()
  5214.       {
  5215.         struct tm ntime;
  5216.         time_t set;
  5217.         time(&set);
  5218.         ntime = *localtime(&set);
  5219.         printf("æÑ¬π¡ñ ß 1 ∩¡óáα∩ 1970 »α«Φ½« %ld",
  5220.                              mktime(&ntime));
  5221.         printf("éαѼ∩: %s", asctime(&ntime));
  5222.       }
  5223.  
  5224.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5225.  
  5226.       éαѼ∩ ó ßѬπ¡ñáσ »«ß½Ñ  00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »«
  5227.       âα¿¡ó¿τπ.
  5228.  
  5229.    ÉѬ«¼Ñ¡ñᵿ∩:
  5230.  
  5231.       æ¼«Γα¿ΓÑ ΓᬪѠasctime, ctime, localtime, time.
  5232.  
  5233.  
  5234. modf                             äÉÄüìǃ ê ûàïǃ ùÇæÆ£ ùêæïÇ
  5235.  
  5236.    êß»«½∞º«óá¡¿Ñ:
  5237.  
  5238.       #include <math.h>                           /* ANSI */
  5239.       double modf(double x, double *ptr);
  5240.  
  5241.    Ä»¿ßá¡¿Ñ:
  5242.  
  5243.       éδτ¿ß½∩ÑΓ ñα«í¡πε ¿ µÑ½πε τáßΓ¿ º¡áτÑ¡¿∩  áαúπ¼Ñ¡Γá x
  5244.       ß« º¡á¬«¼.ûѽá∩ τáßΓ∞ 'x'ß« º¡á¬«¼ ºá»«¼¿¡áÑΓß∩ ó ptr.
  5245.  
  5246.    Åα¿¼Ñα:
  5247.  
  5248.       #include <math.h>
  5249.       #include <stdio.h>
  5250.       main()
  5251.       {
  5252.         double x, y, n;
  5253.         x = -41.56789;
  5254.         y = modf(x, &n);
  5255.         printf("modf(%f)=fractional %f and integer : %f",
  5256.                                                   x, y, n);
  5257.       }
  5258.  
  5259.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5260.  
  5261.       é«ºóαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá x ß« º¡á¬«¼.
  5262.  
  5263.    ÉѬ«¼Ñ¡ñᵿ∩:
  5264.  
  5265.       æ¼«Γα¿ΓÑ ΓᬪѠfrexp, ldexp.
  5266.  
  5267.  
  5268. Mouse Package                           Åá¬ÑΓ αáí«Γδ ß ¼δΦ∞ε
  5269.  
  5270.    êß»«½∞º«óá¡¿Ñ:
  5271.  
  5272.       #include <msmouse.h>
  5273.       int msm_init(void);
  5274.       void msm_term(void);
  5275.       void msm_hidecursor(void);
  5276.       void msm_showcursor(void);
  5277.       int msm_getstatus(unsigned *curposx,unsigned *curposy);
  5278.       void msm_setcurpos(unsigned curposx,unsigned curposy);
  5279.       int msm_getpress(unsigned *count, unsigned *curposx,
  5280.                                           unsigned *curposy);
  5281.       int msm_getrelease(unsigned *count, unsigned *curposx,
  5282.                                           unsigned *curposy);
  5283.       void msm_setgraphcur(int hotx, int hoty, int *pmasks);
  5284.       void msm_setareax(unsigned minx, unsigned maxx);
  5285.       void msm_setareay(unsigned miny, unsigned maxy);
  5286.       void msm_settextcur(int select, int scanstart,
  5287.                                       int scanstop);
  5288.       void msm_readcounter(int *countx, int *county);
  5289.       void msm_signal(unsigned mask,void(*func)(unsigned mask,
  5290.          unsigned state,unsigned curposx,unsigned curposy),
  5291.                                                  void *stack);
  5292.       void msm_lightpenon(void);
  5293.       void msm_lightpenoff(void);
  5294.       void msm_setratio(unsigned ratiox, unsigned ratioy);
  5295.       void msm_condoff(unsigned upperx, unsigned uppery,
  5296.                        unsigned lowerx, unsigned lowery);
  5297.       void msm_setthreshhold(unsigned speed);
  5298.  
  5299.    Ä»¿ßá¡¿Ñ:
  5300.  
  5301.       ¥Γ«Γ »á¬ÑΓ ∩ó½∩ÑΓß∩  ¿¡ΓÑαΣÑ⌐ß«¼  ¬  Microsoft  ¼δΦ¿ ¿
  5302.       ñ«½ªÑ¡  ¿ß»«½∞º«óáΓ∞ß∩  ó¼ÑßΓÑ ß απ¬«ó«ñßΓó«¼ »« »α«ú-
  5303.       αá¼¼¿α«óá¡¿ε ¼δΦ¿. ä½∩ ñá½∞¡Ñ⌐ΦÑú« º¡á¬«¼ßΓóá «Γßδ½áѼ
  5304.       éáß ¬  Mouse  Programming Manual.
  5305.  
  5306.    Åα¿¼Ñα:
  5307.  
  5308.       #include <stdio.h>
  5309.       #include <msmouse.h>
  5310.       main()
  5311.       { if (msm_init()==-1)
  5312.            { printf("îδΦ∞ ¿¡¿µ¿á½¿º¿α«óá¡á πß»ÑΦ¡«\n");
  5313.              msm_showcursor();
  5314.              while(1)
  5315.                {
  5316.                  int status;
  5317.                  unsigned x, y;
  5318.                  status = msm_getstatus(&x, &y);
  5319.                  if (status & LEFT_BUTTON)
  5320.                     {
  5321.                      msm_hidecursor();
  5322.                      printf("x=%n,y=%n\n",x,y);
  5323.                      msm_showcursor();
  5324.                     }
  5325.                if (status & RIGHT_BUTTON)
  5326.                     break;
  5327.                }
  5328.            msm_term();
  5329.            }
  5330.         else
  5331.             printf("ê¡¿µ¿á½¿ºáµ¿∩ ¼δΦ¿ ¡Ñ »α«Φ½á\n");
  5332.       }
  5333.  
  5334.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5335.  
  5336.       æ¼«Γα¿ΓÑ Mouse Manual Programming.
  5337.  
  5338.  
  5339. open                                            ÄÆèɢƣ öÇëï
  5340.  
  5341.    êß»«½∞º«óá¡¿Ñ:
  5342.  
  5343.       #include <io.h>
  5344.       int open (char *pathname, int rwmode);
  5345.  
  5346.    Ä»¿ßá¡¿Ñ:
  5347.  
  5348.       ÄΓ¬αδóáÑΓ Σá⌐½,  ºáñá¡¡δ⌐ »áαá¼ÑΓα«¼ pathname.  Rwmode
  5349.       ß»Ñµ¿Σ¿µ¿απÑΓ αѪ¿¼ ñ«ßΓπ»á ¬ Σá⌐½π »«ßαÑñßΓó«¼ «ñ¡«ú«
  5350.       ¿º º¡áτÑ¡¿⌐:
  5351.  
  5352.          O_RDONLY   -   »« τΓÑ¡¿ε
  5353.          O_WRONLY   -   »« ºá»¿ß¿
  5354.  
  5355.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5356.  
  5357.       é«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ó ß½πτáÑ  πß»Ñσá  ¿  -1  ó
  5358.       ß½πτáÑ ¡Ñπñáτ¿, πßΓá¡áó½¿óá∩ »α¿ φΓ«¼ errno.
  5359.  
  5360.    ÉѬ«¼Ñ¡ñᵿ∩:
  5361.  
  5362.       æ¼«Γα¿ΓÑ ΓᬪѠclose, creat, dos_creat, fopen.
  5363.  
  5364.    Åα¿¼Ñα:
  5365.  
  5366.       #include <stdio.h>
  5367.       #include <dos.h>
  5368.       #include <io.h>
  5369.       #include <sys/stat.h>
  5370.       main()
  5371.       {
  5372.         char *fname;
  5373.         unsigned int mode;
  5374.         int fd;
  5375.         mode = O_RDONLY;
  5376.         fname = "file.dat";
  5377.         fd = open(fname, mode);
  5378.         if (fd==-1)
  5379.             perror("ÄΦ¿í¬á «Γ¬αδΓ¿∩ Σá⌐½á");
  5380.         else
  5381.             {
  5382.               printf"\n Σá⌐½ : %s «Γ¬αδΓ ñ½∩ τΓÑ¡¿∩\n",
  5383.                                                      fname);
  5384.               close(fd);
  5385.             }
  5386.         mode = O_WRONLY;
  5387.         fname = "CON";
  5388.         fd = open(fname, mode);
  5389.         if (fd<0)
  5390.           printf("\n ÄΦ¿í¬á «Γ¬αδΓ¿∩ ¬«¡ß«½¿ ¡á ºá»¿ß∞: %s\n",
  5391.                                                        fname);
  5392.         else
  5393.            {
  5394.              printf("\n öá⌐½ %s «Γ¬αδΓ ¡á ºá»¿ß∞\n",
  5395.                                                      fname);
  5396.              close(fd);
  5397.            }
  5398.         mode = O_WRONLY | O_CREAT;
  5399.         fname = "file.dat";
  5400.         fd = open(fname, mode);
  5401.         if (fd==-1)
  5402.             perror("ÄΦ¿í¬á «Γ¬αδΓ¿∩ Σá⌐½á");
  5403.         else
  5404.            {
  5405.              printf("\n öá⌐½ %s «Γ¬αδΓ ¡á óδó«ñ\n", fname);
  5406.              close(fd);
  5407.            }
  5408.       }
  5409.  
  5410.  
  5411. outp, outpw                                     é¢éÄä é ÅÄÉÆ
  5412.  
  5413.    êß»«½∞º«óá¡¿Ñ:
  5414.  
  5415.       #include <dos.h>
  5416.       void outp(int port_address, int value);
  5417.       void outpw(int port_address, int value);
  5418.  
  5419.    Ä»¿ßá¡¿Ñ:
  5420.  
  5421.       ¥Γ¿ Σπ¡¬µ¿¿  «íÑß»Ñτ¿óáεΓ ¿¡ΓÑαΣÑ⌐ß ß á»»áαáΓ¡δ¼¿ »«α-
  5422.       ΓἿ óó«ñá/óδó«ñá 8086, ¿ß»«½∞ºπ∩ ¬«¼á¡ñδ 'in' ¿ 'out'
  5423.       »α«µÑßß«αá 8086.
  5424.  
  5425.     outp  -  »¿ΦÑΓ ¼½áñΦ¿⌐ íá⌐Γ value ó π¬áºá¡¡δ⌐ »«αΓ.
  5426.         outpw  -  ºá»¿ßδóáÑΓ º¡áτÑ¡¿Ñ ß½«óá ó π¬áºá¡¡δ⌐ »«αΓ.
  5427.  
  5428.       àß½¿ ó¬½ετÑ¡ Σá⌐½ dos.h,  ¬«¼»¿½∩Γ«α "«Γ¬αδΓ« »«ñßΓáó-
  5429.       ½∩ÑΓ ¬«ñ ñ½∩ outp ¿ outpw.
  5430.  
  5431.    ÉѬ«¼Ñ¡ñᵿ∩:
  5432.  
  5433.       æ¼«Γα¿ΓÑ ΓᬪѠinp, inpw.
  5434.  
  5435.    Åα¿¼Ñα;
  5436.  
  5437.       /* ¥Γá Σπ¡¬µ¿∩ ó䬽ετáÑΓ ¬παß«α IBM MDA. */
  5438.       #include <dos.h>
  5439.       int porta, portb, bytea, byteb;
  5440.       main()
  5441.       {
  5442.         char result;
  5443.         porta = Ox3B4;
  5444.         portb = Ox3B5;
  5445.         bytea = 10;
  5446.         byteb = 32;
  5447.         result = inpw(porta);
  5448.         printf("ç¡áτÑ¡¿Ñ ¿º »«αΓá %x αáó¡« %x hex\n",
  5449.                                           porta, result);
  5450.         outp(porta,bytea);
  5451.         outp(portb,byteb);
  5452.       }
  5453.       /* ¥Γá Σπ¡¬µ¿∩ ó¬½ετáÑΓ ¬παß«α IBM MDA. */
  5454.       #include <dos.h>
  5455.       int porta, portb, bytea, byteb;
  5456.       main()
  5457.       {
  5458.         porta = Ox3B4;
  5459.         portb = Ox3B5;
  5460.         bytea = 10;
  5461.         byteb = 11;
  5462.         outp(porta,bytea);
  5463.         outp(portb,byteb);
  5464.       }
  5465.  
  5466.       ¥Γ¿ Σπ¡¬µ¿¿ ¡Ñ ó«ºóαáΘáεΓ º¡áτÑ¡¿∩.
  5467.  
  5468.  
  5469. peek                                ÅàÉàæïÇÆ£ üôöàÉ êçäÇïàèÇ
  5470.  
  5471.    êß»«½∞º«óá¡¿Ñ:
  5472.  
  5473.       void peek(unsigned seg, unsigned offset, void *buf,
  5474.                                               int numbytes);
  5475.  
  5476.    Ä»¿ßá¡¿Ñ:
  5477.  
  5478.       ÅÑαÑßδ½áÑΓ  numbytes  íá⌐Γ«ó  ¿º  »á¼∩Γ¿,   »«  áñαÑßπ
  5479.       seg:offset, ó íπΣÑα »« π¬áºáΓѽε buf.
  5480.  
  5481.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5482.  
  5483.       ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  5484.  
  5485.    ÉѬ«¼Ñ¡ñᵿ∩:
  5486.  
  5487.       æ¼«Γα¿ΓÑ ΓᬪѠpoke.
  5488.  
  5489.    Åα¿¼Ñα:
  5490.  
  5491.       /* ¥Γá »α«úαá¼¼á ó«ß»α¿¼ÑΓ ¬á¬ áαúπ¼Ñ¡Γ ¬«¼á¡ñ¡«⌐ ßΓα«-
  5492.          ¬¿ on ¿½¿ off,  τΓ«íδ ó¬½ετ¿Γ∞/ó䬽ετ¿Γ∞ numlock. */
  5493.       #include <stdio.h>
  5494.       #include <string.h>
  5495.       main(int argc, char *argv[])
  5496.       {
  5497.         char state1, state2;
  5498.         int i;
  5499.         for (i=0; i<argc; i++)
  5500.            {
  5501.              strupr(argv[i]);
  5502.            }
  5503.         if ((strncmp(argv[1], "ON", 2)==0))
  5504.             {
  5505.               printf("鬽ετáε numlock \n");
  5506.               peek(0,0x417,&state1,1);
  5507.               state1 |= 0x20;
  5508.               poke(0,0x417, &state1, 1);
  5509.             }
  5510.         else
  5511.            if ((strncmp(argv[1],"OFF",3)==0))
  5512.                {
  5513.                  printf("é䬽ετáε numlock \n");
  5514.                  peek(0,0x417, &state1,1);
  5515.                  state1 &= ~0x20;
  5516.                  poke(0,0x417, &state1, 1);
  5517.                }
  5518.            else
  5519.              {
  5520.                printf("\n éóÑñ¿ΓÑ ON ¿½¿ OFF ¬á¬ áαúπ¼Ñ¡Γ
  5521.                                        ¬«¼á¡ñ¡«⌐ ßΓ᫬¿\n");
  5522.                exit(1);
  5523.              }
  5524.       }
  5525.  
  5526.  
  5527. perror                            é¢äÇÆ£ æÄÄüÖàìêà Äü Äÿêüèà
  5528.  
  5529.    êß»«½∞º«óá¡¿Ñ:
  5530.  
  5531.       #include <stdlib.h>
  5532.       void perror(char *msg);                     /* ANSI */
  5533.  
  5534.    Ä»¿ßá¡¿Ñ:
  5535.  
  5536.       é«ß»α«¿ºó«ñ¿Γ  ß««íΘÑ¡¿Ñ « »«ß½Ññ¡Ñ⌐  «Φ¿í¬Ñ,  ¿¼ÑóΦÑ⌐
  5537.       ¼ÑßΓ« »α¿ ß¿ßΓѼ¡«¼  ó맮óÑ ¿½¿ «íαáΘÑ¡¿¿ ¬ í¿í½¿«ΓÑτ-
  5538.       ¡«⌐ Σπ¡¬µ¿¿, ¡á ßΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá. ÅÑτáΓá-
  5539.       ÑΓß∩ áαúπ¼Ñ¡Γ msg, ºáΓѼ ñó«ÑΓ«τ¿Ñ, ºáΓѼ ß««íΘÑ¡¿Ñ «í
  5540.       «Φ¿í¬Ñ.
  5541.  
  5542.    Åα¿¼Ñα:
  5543.  
  5544.       #include <stdio.h>
  5545.       #include <stdlib.h>
  5546.       main()
  5547.       {
  5548.         FILE * fp;
  5549.         char *string = "æ««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ";
  5550.         if ((fp=fopen("file.dat","r"))==NULL)
  5551.            perror(string);
  5552.         else
  5553.            printf("öá⌐½ «Γ¬αδΓ ¡á τΓÑ¡¿Ñ\n");
  5554.         fclose(fp);
  5555.       }
  5556.  
  5557.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5558.  
  5559.       ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  5560.  
  5561.    ÉѬ«¼Ñ¡ñᵿ∩:
  5562.  
  5563.       æ¼«Γα¿ΓÑ ΓᬪѠ strerror.
  5564.  
  5565.  
  5566.  
  5567. poke                                  ÅàÉàæïÇÆ£ üôöàÉ äÇïàèÄ
  5568.  
  5569.    êß»«½∞º«óá¡¿Ñ:
  5570.  
  5571.       void poke(unsigned seg, unsigned offset, void *buf,
  5572.                                               int numbytes);
  5573.  
  5574.    Ä»¿ßá¡¿Ñ:
  5575.  
  5576.       ÅÑαÑßδ½áÑΓ numbytes íá⌐Γ«ó ¿º íπΣÑαá buf ó »á¼∩Γ∞, ºá-
  5577.       ñá¡¡πε »«½¡δ¼ áñαÑß«¼ seg:offset.
  5578.  
  5579.       é«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
  5580.  
  5581.    ÉѬ«¼Ñ¡ñᵿ∩:
  5582.  
  5583.       æ¼«Γα¿ΓÑ ΓᬪѠ peek.
  5584.  
  5585.    Åα¿¼Ñα:
  5586.  
  5587.       /* ß¼«Γα¿ΓÑ »α¿¼Ñα ñ½∩ αÑѬ */
  5588.       #include <stdio.h>
  5589.       #include <string.h>
  5590.       main(int argc, char *argv[])
  5591.       {
  5592.         char state1, state2;
  5593.         int i;
  5594.         for (i=o; i<argc; i++)
  5595.             {
  5596.               strupr(argv[i]);
  5597.             }
  5598.         if ((strncmp(argv[1], "ON",2)==0))
  5599.            { printf("Numlock ó¬½ετÑ¡\n");
  5600.              peek(0,0x417, &state1,1);
  5601.              state1 |= 0x20;
  5602.              poke(0,0x417,&state1,1);
  5603.            }
  5604.         else
  5605.            if((strncmp(argv[1], "OFF",3)==0))
  5606.               { printf("Numblock ó䬽ετÑ¡\n");
  5607.                 peek(0,0x417, & state1,1);
  5608.                 state1 &= ~0x20;
  5609.                 poke(0,0x417,&state1,1);
  5610.               }
  5611.            else
  5612.               { printf("\n éóÑñ¿ΓÑ ON ¿½¿ OFF ¬á¬ áαúπ¼Ñ¡Γ
  5613.                                        ¬«¼á¡ñ¡«⌐ ßΓ᫬¿\n");
  5614.                 exit(1);
  5615.               }
  5616.       }
  5617.  
  5618.  
  5619. poly                                                 ÅÄïêìÄî
  5620.  
  5621.    êß»«½∞º«óá¡¿Ñ:
  5622.  
  5623.       #include <math.h>
  5624.       double poly(double x, int deg, double coeff[]);
  5625.  
  5626.    Ä»¿ßá¡¿Ñ:
  5627.  
  5628.       éδτ¿ß½∩ÑΓ óδαáªÑ¡¿Ñ ó¿ñá:
  5629.  
  5630.          (...(x*coeff[deg]+coeff[deg-1])*x...)*x+coef[0].
  5631.  
  5632.    Åα¿¼Ñα:
  5633.  
  5634.       #include <stdio.h>
  5635.       #include <math.h>
  5636.       double coeff[4];
  5637.       main()
  5638.       {
  5639.         double x=1.2, y;
  5640.         coeff[0]=0.0;
  5641.         coeff[1]=1.0;
  5642.         coeff[2]=2.0;
  5643.         coeff[3]=3.0;
  5644.         y = poly(x,3,coeff);
  5645.         printf("Å«½¿¡«¼ «Γ %f αáóÑ¡ %f\n", x, y);
  5646.       }
  5647.  
  5648.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5649.  
  5650.       é«ºóαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.
  5651.  
  5652.  
  5653.  
  5654. pow                                                  æÆàÅàì£
  5655.  
  5656.    êß»«½∞º«óá¡¿Ñ:
  5657.  
  5658.       #include <math.h>
  5659.       double pow(double x, double y);             /* ANSI */
  5660.  
  5661.    Ä»¿ßá¡¿Ñ:
  5662.  
  5663.       éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ x ó ßΓѻѡ¿ y. ÄΦ¿í¬á «í½áßΓ¿ «»αÑ-
  5664.       ñѽѡ¿∩  ¿¼ÑÑΓ ¼ÑßΓ« ó ß½πτáÑ,  Ñß½¿ x = 0 ¿ y<=0 ½¿í«
  5665.       x<=0 ¿ y ¡Ñ µÑ½«Ñ.
  5666.  
  5667.    Åα¿¼Ñα:
  5668.  
  5669.       #include <stdio.h>
  5670.       #include <math.h>
  5671.       main()
  5672.       {
  5673.         double x=3,y=2, result;
  5674.         result=pow(x,y);
  5675.         printf("%.2f ó ßΓѻѡ¿ %.2f αáó¡« : %.2f\n",
  5676.                                                x,y,result);
  5677.  
  5678.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5679.  
  5680.       é«ºóαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.
  5681.  
  5682.    ÉѬ«¼Ñ¡ñᵿ∩:
  5683.  
  5684.       æ¼«Γα¿ΓÑ ΓᬪѠexp, log, sqrt.
  5685.  
  5686.  
  5687. printf, fprintf, sprintf                     öÄÉîÇÆì¢ë é¢éÄä
  5688.  
  5689.    êß»«½∞º«óá¡¿Ñ:
  5690.  
  5691.       #include <stdio.h>
  5692.       int fprintf(FILE *fp,char *format,...);     /* ANSI */
  5693.       int printf(char *format,...);               /* ANSI */
  5694.       int sprintf(char *buffer,char *format,...); /* ANSI */
  5695.  
  5696.    Ä»¿ßá¡¿Ñ:
  5697.  
  5698.       ÄßπΘÑßΓó½∩εΓ Σ«α¼áΓ¡πε »ÑτáΓ∞.
  5699.  
  5700.          fprintf   -  »¿ΦÑΓ ½¿ΓÑαδ ó »«Γ«¬ fp.
  5701.          printf    -  »¿ΦÑΓ ½¿ΓÑαδ ó »«Γ«¬ stdout.
  5702.          sprintf   -  »¿ΦÑΓ ½¿ΓÑαδ ó »á¼∩Γ∞ buffer.
  5703.  
  5704.       Çαúπ¼Ñ¡Γδ  ¿¡ΓÑα»αÑΓ¿απεΓß∩  ó ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐
  5705.       Σ«α¼áΓá,  «¬á¡τ¿óáεΘÑ⌐ß∩ 0.  æΓα«¬á  Σ«α¼áΓá  ∩ó½∩ÑΓß∩
  5706.       »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε  ½¿ΓÑα  ß«  óßΓα«Ñ¡¡δ¼¿  ¬«¼á¡ñἿ
  5707.       »αÑ«íαẫóá¡¿∩.  ï¿ΓÑαδ,  ¡Ñ ∩ó½∩εΘ¿Ñß∩ τáßΓ∞ε ¬«¼á¡ñ,
  5708.       »«ñ½ÑªáΓ óδó«ñπ. è«¼á¡ñδ »αÑ«íαẫóá¡¿∩ ß«ßΓ«∩Γ ¿º :
  5709.  
  5710. ┌────────────────────────────────────────────────────────────┐
  5711. │'%'{flag}[field_width]['.'precision][l ¿½¿ L]conversion_char│
  5712. └────────────────────────────────────────────────────────────┘
  5713.  
  5714.    úñÑ :
  5715.  
  5716.       %       Äº¡áτáÑΓ ¡áτὫ ¬«¼á¡ñδ »αÑ«íαẫóá¡¿∩.
  5717.               ùΓ«íδ ¡á»ÑτáΓáΓ∞ '%', ¡áñ« ¿ß»«½∞º«óáΓ∞ '%%'.
  5718.  
  5719.       flag characters     ï¿ΓÑαδ αѪ¿¼«ó
  5720.  
  5721.          -     - Äº¡áτáÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ óδαáó¡¿óá¡¿∩
  5722.                  ¿¡Σ«α¼áµ¿¿ »« ½Ñó«¼π ¬αáε »«½∩ óδó«ñá.
  5723.          +     - Äº¡áτáÑΓ, τΓ« »αÑ«íαẫóá¡¿Ñ, ó¬½ετáεΘÑÑ
  5724.                  º¡á¬, ñ«½ª¡« ¡áτ¿¡áΓ∞ß∩ ß + ¿½¿ -.
  5725.         »α«íѽ
  5726.        (space) - Äº¡áτáÑΓ, τΓ« ó ß½πτáÑ »αÑ«íαẫóá¡¿∩ »«½«-
  5727.                  ª¿Γѽ∞¡«ú«  αѺπ½∞ΓáΓ ¡áτ¿¡áÑΓß∩ ß »α«íѽá.
  5728.                  ÉѪ¿¼ + »ÑαѬαδóáÑΓ αѪ¿¼ space.
  5729.  
  5730.          #     - ê¼ÑÑΓ ß¼δß½  ñ½∩ »αÑ«íαẫóá¡¿∩ 'x' ¿½¿ 'X'
  5731.                  ¿ »α¿ó«ñ¿Γ ¬ ñ«íáó½Ñ¡¿ε »ÑαÑñ  óδó«ñ«¼ ß¿¼-
  5732.                  ó«½«ó 0x ¿½¿ 0X.
  5733.                  ä½∩ »αÑ«íαẫóá¡¿∩ '«' ó óδó«ñ  ñ«íáó½∩ÑΓß∩
  5734.                  ½¿ñ¿απεΘ¿⌐ ¡«½∞.
  5735.                  é ß½πτáÑ »αÑ«íαẫóá¡¿⌐ e, E, f, g, G óßÑú-
  5736.                  ñá »«∩ó½∩ÑΓß∩  ñÑß∩Γ¿τ¡á∩  Γ«τ¬á.  àß½¿ φΓ«
  5737.                  »αÑ«íαẫóá¡¿Ñ  g  ¿½¿  G,  ºá¼δ¬áεΘ¿Ñ 0 ¡Ñ
  5738.                  íπñπΓ «»π߬áΓ∞ß∩.
  5739.  
  5740.       Field_width      ÿ¿α¿¡á »«½∩
  5741.  
  5742.          äÑß∩Γ¿τ¡«Ñ µÑ½«Ñ, π»αáó½∩εΘÑÑ ¼¿¡¿¼á½∞¡δ¼ ¬«½¿τÑßΓ-
  5743.          ó«¼ »ÑτáΓáѼδσ  ½¿ΓÑα.  àß½¿  ñÑ⌐ßΓó¿Γѽ∞¡«Ñ  τ¿ß½«
  5744.          ½¿ΓÑα ¼Ñ¡∞ΦÑ, τѼ  field_width,  φΓ«  τ¿ß½«  ñ«»«½-
  5745.          ¡∩ÑΓß∩ »α«íѽἿ.  àß½¿ ßΓα«¬á µ¿Σα field_width ¡á-
  5746.          τ¿¡áÑΓß∩ ß 0, ñ½∩ ñ«»«½¡Ñ¡¿∩ ¿ß»«½∞ºπÑΓß∩ 0.
  5747.  
  5748.          àß½¿ field_width ÑßΓ∞ ½¿ΓÑαá *, ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡á-
  5749.          τÑ¡¿Ñ ñ½¿¡δ »«½∩ óδó«ñá íÑαÑΓß∩ ¿º ß½ÑñπεΘÑú« µÑ½«-
  5750.          ú« áαúπ¼Ñ¡Γá. àß½¿ field_width «Γα¿µáΓѽ∞¡«, ßτ¿Γá-
  5751.          ÑΓß∩, τΓ« ºáñá¡ Σ½áú '-',  á ó ¬áτÑßΓóÑ field_width
  5752.          íÑαÑΓß∩  áíß«½εΓ¡«Ñ  º¡áτÑ¡¿Ñ.  àß½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ
  5753.          τ¿ß½« ½¿ΓÑα »αÑó«ßσ«ñ¿Γ field_width, φΓ« »«½Ñ ß««Γ-
  5754.          óÑΓßΓóÑ¡¡« πóѽ¿τ¿óáÑΓß∩.
  5755.  
  5756.       Precision    Æ«τ¡«ßΓ∞
  5757.  
  5758.          ¥Γá ßΓα«¬á µ¿Σα, ß½ÑñπεΘá∩ ºá '.',  «»αÑñѽ∩ÑΓ Γ«τ-
  5759.          ¡«ßΓ∞ »αÑ«íαẫóá¡¿∩. àß½¿ µ¿Σαδ ºá Γ«τ¬«⌐ «ΓßπΓßΓ-
  5760.          óπεΓ, Γ«τ¡«ßΓ∞ αáó¡á 0.  ä½∩  »αÑ«íαẫóá¡¿∩  µÑ½δσ
  5761.          Γ«τ¡«ßΓ∞ ÑßΓ∞ ¼¿¡¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« óδó«ñ¿¼δσ µ¿Σα.
  5762.          ä½∩ 'g' ¿ 'G'- φΓ« ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« º¡áτáΘ¿σ
  5763.          µ¿Σα. ä½∩ 'e', 'E' ¿ 'f'- φΓ« ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ
  5764.          ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿.  ä½∩ 's' - φΓ« ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿-
  5765.          τÑßΓó« ½¿ΓÑα ó ßΓ᫬Ñ. àß½¿ Γ«τ¡«ßΓ∞ ó¬½ετáÑΓ ½¿ñ¿-
  5766.          απεΘ¿⌐ 0, Γ«úñá ßó«í«ñ¡«Ñ »«½Ñ óδó«ñᠺừ½¡∩ÑΓß∩ 0.
  5767.  
  5768.       l
  5769.  
  5770.          é ß½πτáѠ߻ѵ¿Σ¿¬áµ¿⌐ »αÑ«íαẫóá¡¿∩ o, b, u, x, X,
  5771.          i, d  ¿ß»«½∞ºπѼδ⌐ áαúπ¼Ñ¡Γ  ñ«½ªÑ¡ íδΓ∞ Γ¿»á long,
  5772.          ¿ß¬½ετÑ¡¿Ñ ß«ßΓáó½∩ÑΓ »αÑ«íαẫóá¡¿Ñ p, ¬«úñá áαúπ-
  5773.          ¼Ñ¡Γ ñ«½ªÑ¡  íδΓ∞  ñá½∞¡¿¼  π¬áºáΓѽѼ.  ä½∩ ñαπú¿σ
  5774.          »αÑ«íαẫóá¡¿⌐ φëàӽáú ¿ú¡«α¿απÑΓß∩.
  5775.  
  5776.       L
  5777.  
  5778.          ¥Γ«Γ Σ½áú ¿ú¡«α¿απÑΓß∩.
  5779.  
  5780.       Conversion_char    ÅαÑ«íαáºπεΘá∩ ½¿ΓÑαá
  5781.  
  5782.          ¥Γ« «ñ¡á ¿º ½¿ΓÑα  d, i, o, b, u, x, X, f, e, E, g,
  5783.          G, c, s, p, n, %.  äÑ⌐ßΓó¿Ñ  ñαπú¿σ  ½¿ΓÑα  ¡Ñ«»αÑ-
  5784.          ñѽѡ«.
  5785.  
  5786.       d,i,o,b,u,x,X
  5787.  
  5788.          æ««ΓóÑΓßóπεΘ¿⌐ µÑ½δ⌐ áαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó ßΓα«-
  5789.          ¬π µ¿Σα, »α¿τѼ, 'o' »α«¿ºó«ñ¿Γ íѺº¡á¬«ó«Ñ ó«ß∞¼Ñ-
  5790.          α¿τ¡«Ñ, `b' - íѺº¡á¬«ó«Ñ ñó«¿τ¡«Ñ, 'u' - íѺº¡á¬«-
  5791.          ó«Ñ ñÑß∩Γ¿τ¡«Ñ,  'x' ¿ 'X' - íѺº¡á¬«ó«Ñ ΦÑßΓ¡áñµá-
  5792.          Γ¿α¿τ¡«Ñ,  'i' ¿ 'd' - ñÑß∩Γ¿τ¡«Ñ ß« º¡á¬«¼. é ß½π-
  5793.          τáÑ  'x'  ¿ß»«½∞ºπεΓß∩  ßΓα«τ¡δÑ  µ¿Σαδ,   ó ß½πτáÑ
  5794.          'X' - ºáú½áó¡δÑ.  àß½¿ ¡Ñ ß»Ñµ¿Σ¿µ¿α«óá¡á Γ«τ¡«ßΓ∞,
  5795.          ¿ß»«½∞ºπÑΓß∩  π¼«½τá¡¿Ñ 1.  àß½¿  αÑá½∞¡« óδó«ñ¿Γß∩
  5796.          ¼Ñ¡∞ΦÑ µ¿Σα,  τѼ «»αÑñѽѡ«  Γ«τ¡«ßΓ∞ε,  óδó«ñ ñ«-
  5797.          »«½¡∩ÑΓß∩  ½¿ñ¿απεΘ¿¼¿  »α«íѽἿ.  àß½¿ áαúπ¼Ñ¡Γ ¿
  5798.          Γ«τ¡«ßΓ∞ αáó¡δ 0, ¡¿τÑú« ¡Ñ »ÑτáΓáεΓß∩.
  5799.  
  5800.       c
  5801.  
  5802.          î½áñΦ¿⌐ º¡áτáΘ¿⌐  íá⌐Γ  µÑ½«ú« áαúπ¼Ñ¡Γá »ÑτáΓáÑΓß∩
  5803.          ¬á¬ ½¿ΓÑαá.
  5804.  
  5805.       e,E
  5806.  
  5807.          Çαúπ¼Ñ¡Γ Γ¿»á  double  »ÑτáΓáÑΓß∩,  ¿ß»«½∞ºπ∩ »αÑñ-
  5808.          ßΓáó½Ñ¡¿Ñ ([-]d.dddddd+-dd). çñÑß∞ »ÑαÑñ ñÑß∩Γ¿τ¡«⌐
  5809.          Γ«τ¬«⌐ «ñ¡á µ¿Σαá ¿ precision µ¿Σα »«ß½Ñ. ô¼«½τá¡¿Ñ
  5810.          ñ½∩ precision αáó¡« 6. àß½¿ precision 0, ñÑß∩Γ¿τ¡á∩
  5811.          Γ«τ¬á ¡Ñ »ÑτáΓáÑΓß∩.  é φ¬ß»«¡Ñ¡ΓÑ ó¼ÑßΓ« 'e' íπñÑΓ
  5812.          ¿ß»«½∞º«óá¡« 'E',  Ñß½¿ ºáñá¡á ½¿ΓÑαá 'E'. é φ¬ß»«-
  5813.          ¡Ñ¡ΓÑ »α¿ßπΓßΓóπεΓ ¬á¬ ¼¿¡¿¼π¼ ñóÑ µ¿Σαδ.
  5814.  
  5815.       f
  5816.  
  5817.          Çαúπ¼Ñ¡Γ  Γ¿»á  double  »ÑτáΓáÑΓß∩  ó  ó¿ñÑ  ßΓ᫬¿
  5818.          [-]dd.dddd.  è«½¿τÑßΓó« µ¿Σα »«ß½Ñ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿
  5819.          ºáñáÑΓß∩ precision,  ¬«Γ«α«Ñ  »« π¼«½τá¡¿ε αáó¡« 6.
  5820.          àß½¿ precision 0,  ñα«í¡á∩ τáßΓ∞ ¿ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á
  5821.          ¡Ñ »ÑτáΓáεΓß∩.
  5822.  
  5823.       g,G
  5824.  
  5825.          Çαúπ¼Ñ¡Γ Γ¿»á double  »ÑτáΓáÑΓß∩ c »«¼«Θ∞ε  Σ«α¼áΓá
  5826.          'f' ¿½¿ 'e'  (¿½¿ 'E',  Ñß½¿  ºáñá¡  'G'  Σ«α¼áΓ) ó
  5827.          ºáó¿ß¿¼«ßΓ¿ «Γ óѽ¿τ¿¡δ áαúπ¼Ñ¡Γá. 'e' ¿ß»«½∞ºπÑΓß∩,
  5828.          Ñß½¿  φ¬ß»«¡Ñ¡Γá <  3  ¿½¿  φ¬ß»«¡Ñ¡Γá > precision.
  5829.          Precision ºáñáÑΓ ¬«½¿τÑßΓó« º¡áτáΘ¿σ  µ¿Σα; π¼«½τá-
  5830.          ¡¿Ñ  αáó¡« 6.  äÑß∩Γ¿τ¡á∩  Γ«τ¬á  »«∩ó½∩ÑΓß∩,  Ñß½¿
  5831.          »αÑñΦÑßΓóπÑΓ µ¿ΣαÑ. çá¼δ¬áεΘ¿Ñ 0 «»π߬áεΓß∩.
  5832.  
  5833.       n
  5834.  
  5835.          Çαúπ¼Ñ¡Γ  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ ¡á µÑ½«Ñ,  ó ¬«Γ«α«Ñ
  5836.          ºá»¿ßδóáÑΓß∩ ¬«½¿τÑßΓó« µ¿Σα,  ¡á»ÑτáΓá¡¡δσ ¬ φΓ«¼π
  5837.          ¼«¼Ñ¡Γπ. ì¿¬á¬¿Ñ ½¿ΓÑαδ ¡Ñ »ÑτáΓáεΓß∩ ¿ ¡Ñ »αÑ«íαá-
  5838.          ºπεΓß∩.
  5839.  
  5840.       p
  5841.  
  5842.          Çαúπ¼Ñ¡Γ  ∩ó½∩ÑΓß∩  π¬áºáΓѽѼ,  º¡áτÑ¡¿Ñ  ¬«Γ«α«ú«
  5843.          (áñαÑß) »ÑτáΓáÑΓß∩ ó ó¿ñÑ  segment:offset ñ½∩ ñá½∞-
  5844.          ¡Ñú« π¬áºáΓѽ∩  ¿½¿ ó ó¿ñÑ XXXX ñ½∩ í½¿ª¡Ñú« π¬áºá-
  5845.          Γѽ∩.
  5846.  
  5847.       s
  5848.  
  5849.        Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓ᫬π.  ï¿ΓÑαδ »Ñτá-
  5850.        ΓáεΓß∩ ñ« ºá¼δ¬áεΘÑú« 0, ¿½¿ ñ« ¿ßτÑα»á¡¿∩ ½¿ΓÑα, ¬«-
  5851.        ½¿τÑßΓó« ¬«Γ«αδσ ºáñá¡« precision. ô¼«½τá¡¿Ñ precision
  5852.        αáó¡« 32767. çá¼δ¬áεΘ¿⌐ 0 ¡Ñ »ÑτáΓáÑΓß∩.
  5853.  
  5854.     %
  5855.  
  5856.        ÅÑτáΓáÑΓß∩ ½¿ΓÑαá '%'.
  5857.  
  5858.    Åα¿¼Ñα:
  5859.  
  5860.       #include <stdio.h>
  5861.       #include <math.h>
  5862.       main()
  5863.       {
  5864.         char * msg="ûÑ½δ¼¿ Σ«α¼áΓἿ ∩ó½∩εΓß∩:";
  5865.         int number=10;
  5866.         double num=345.2356;
  5867.         printf("%s Hex: 0%x, Decimal:%d, Octal: %o\n",
  5868.                          msg, number, number, number);
  5869.         printf("\n Æ«τ¡«ßΓ∞ »½áóáεΘÑ⌐ Γ«τ¬¿
  5870.                  ñ½∩ PI: %.2f, %.4f, %.8f\n", PI,PI,PI);
  5871.         printf("\n %.4f ¥¬ß»«¡Ñ¡µ¿á½∞¡δ⌐ Σ«α¼áΓ : %E\n",
  5872.                                                    num,num);
  5873.       }
  5874.  
  5875.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5876.  
  5877.       é«ºóαáΘáÑΓ ¬«½¿τÑßΓó«  ¡á»ÑτáΓá¡¡δσ  ½¿ΓÑα.  àß½¿ ¿¼Ñ-
  5878.       ½á ¼ÑßΓ« «Φ¿í¬á, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ «Γα¿µáΓѽ∞¡«.
  5879.  
  5880.    ÉѬ«¼Ñ¡ñᵿ∩:
  5881.  
  5882.       æ¼«Γα¿ΓÑ ΓᬪѠscanf, vprintf, vsprintf, vfprintf.
  5883.  
  5884.  
  5885. putc, putchar                            é¢éÄä ïêÆàÉ¢ é öÇëï
  5886.  
  5887.    êß»«½∞º«óá¡¿Ñ:
  5888.  
  5889.       #include <stdio.h>
  5890.       int putc(int c, FILE *fp);                  /* ANSI */
  5891.       int putchar(int c);                         /* ANSI */
  5892.  
  5893.    Ä»¿ßá¡¿Ñ:
  5894.  
  5895.       çỿßδóáÑΓ  ½¿ΓÑαπ 'c' ó »«Γ«¬  fp (putc) ¿½¿ ó stdout
  5896.       (putchar).
  5897.  
  5898.    Åα¿¼Ñα:
  5899.  
  5900.       #include <stdio.h>
  5901.       main()
  5902.       {
  5903.         char *string = "¥Γ« »α¿¼Ñα ñ½∩ putc()";
  5904.         int i, ch;
  5905.         for (i=0; (i<strlen(string))&&((ch=putc(string[i],
  5906.                                       stdout)) !=EOF); i++);
  5907.              putchar('.');
  5908.         putchar('\n');
  5909.       }
  5910.  
  5911.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5912.  
  5913.       é«ºóαáΘáÑΓ ºá»¿ßá¡¡πε ½¿ΓÑαπ ¿½¿ EOF ó ß½πτáÑ «Φ¿í¬¿
  5914.       ºá»¿ß¿.
  5915.  
  5916.    ÉѬ«¼Ñ¡ñᵿ∩:
  5917.  
  5918.       æ¼«Γα¿ΓÑ ΓᬪѠfputc, getc, getchar.
  5919.  
  5920.  
  5921. puts                                     é¢éÄä æÆÉÄèê é öÇëï
  5922.  
  5923.    êß»«½∞º«óá¡¿Ñ:
  5924.  
  5925.       #include <stdio.h>
  5926.       int puts(char *s);                          /* ANSI */
  5927.  
  5928.    Ä»¿ßá¡¿Ñ:
  5929.  
  5930.       çỿßδóáÑΓ ßΓ᫬π s ó »«Γ«¬ stdout ( íѺ ºáóÑαΦáεΘÑ-
  5931.       ú« 0 ), ºáΓѼ ºá»¿ßδóáÑΓ newline.
  5932.    Åα¿¼Ñα:
  5933.  
  5934.       #include <stdio.h>
  5935.       main()
  5936.       {
  5937.         char *string="éδó«ñ¿¼ φΓπ ßΓ᫬𠻫ßαÑñßΓó«¼ puts(),";
  5938.         char *string2="Puts óßΓáó½∩ÑΓ ½¿ΓÑαπ newline.";
  5939.         puts(string);
  5940.         puts(string2);
  5941.       }
  5942.  
  5943.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5944.  
  5945.       é«ºóαáΘáÑΓ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ½¿í« EOF ó ß½πτáÑ
  5946.       «Φ¿í¬¿.
  5947.  
  5948.    ÉѬ«¼Ñ¡ñᵿ∩:
  5949.  
  5950.       æ¼«Γα¿ΓÑ ΓᬪѠfputs, gets.
  5951.  
  5952.  
  5953.  
  5954. qsort                           ü¢æÆÉǃ æÄÉÆêÉÄéèÇ ÆÇüïêû¢
  5955.  
  5956.    êß»«½∞º«óá¡¿Ñ:
  5957.  
  5958.       #include <stdio.h>
  5959.       void qsort(void *base, unsigned nel, unsigned size,
  5960.                  int (*compar)(void *, void *));  /* ANSI */
  5961.  
  5962.    Ä»¿ßá¡¿Ñ:
  5963.  
  5964.       ÉÑ὿ºπÑΓ íδßΓαπε ß«αΓ¿α«ó¬π Γáí½¿µδ ñá¡¡δσ.
  5965.  
  5966.          base   -  π¬áºáΓѽ∞ ¡á Γáí½¿µπ.
  5967.          nel    -  ¬«½¿τÑßΓó« φ½Ñ¼Ñ¡Γ«ó Γáí½¿µδ.
  5968.          size   -  αẼÑα ó íá⌐Γáσ φ½Ñ¼Ñ¡Γá Γáí½¿µδ.
  5969.          compar -  ¿¼∩ Σπ¡¬µ¿¿, αÑ὿ºπεΘÑ⌐ á½ú«α¿Γ¼ ßαáó¡Ñ-
  5970.                    ¡¿∩ ñóπσ áαúπ¼Ñ¡Γ«ó, ºáñá¡¡δσ π¬áºáΓѽ∩¼¿.
  5971.                    öπ¡¬µ¿∩ »«ßΓáó½∩ÑΓß∩ »α«úαá¼¼¿ßΓ«¼ ¿ ñ«½ª-
  5972.                    ¡á ó«ºóαáΘáΓ∞ µÑ½«Ñ, ¬«Γ«α«Ñ ¼Ñ¡∞ΦÑ, αáó-
  5973.                    ¡« ¿½¿ í«½∞ΦÑ 0 ó ß««ΓóÑΓßΓó¿¿ ß αѺπ½∞-
  5974.                    ΓáΓ«¼ ßαáó¡Ñ¡¿∩ ñóπσ áαúπ¼Ñ¡Γ«ó.
  5975.  
  5976.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  5977.  
  5978.       ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
  5979.  
  5980.    Åα¿¼Ñα:
  5981.  
  5982.       #include <stdio.h>
  5983.       #include <stdlib.h>
  5984.       #include <string.h>
  5985.       #define MAXL 10
  5986.       unsigned char *line[MAXL];
  5987.       comp(unsigned char **a, unsigned char **b);
  5988.       {
  5989.         return strcmp(*a, *b);
  5990.       }
  5991.       main()
  5992.       {
  5993.         int j,k;
  5994.         unsigned char buffer[82];
  5995.         printf("éóÑñ¿ΓÑ 10 ßΓ᫬ ñá¡¡δσ\n");
  5996.         for (j=0; j<MAXL; ++j)
  5997.            {
  5998.              printf("æΓ᫬á: %d\n", j+1);
  5999.              if (!fgets(buffer,80,stdin))
  6000.                  break;
  6001.              line[j]=malloc(strlen(buffer)+1);
  6002.              strcpy(line[j],buffer);
  6003.            }
  6004.         printf("\n\n æ«αΓ¿απѼ 10 ßΓ᫬ ¿º stdin:\n");
  6005.         qsort(line, j, sizeof(unsigned char *), comp);
  6006.         for (k=0; k<j; ++k)
  6007.            printf("æΓ᫬á: %d%s\n", k+1,line[k]);
  6008.       }
  6009.  
  6010.  
  6011. raise                                       éÄçüôäêÆ£ æêâìÇï
  6012.  
  6013.    êß»«½∞º«óá¡¿Ñ:
  6014.  
  6015.       #include <signal.h>
  6016.       int raise(int sig);                         /* ANSI */
  6017.  
  6018.    Ä»¿ßá¡¿Ñ:
  6019.  
  6020.       éδαáíáΓδóáÑΓ ß¿ú¡á½ ó óδ»«½¡∩Ѽ«⌐ »α«úαá¼¼Ñ. Æ¿» sig
  6021.       ß¿ú¡á½á «íßπªñáÑΓß∩ ó «»¿ßá¡¿¿ Σπ¡¬µ¿¿ signal(). Å«
  6022.       ß¿ú¡á½π óδºδóáÑΓß∩ ΓѬπΘá∩ »α«µÑñπαá «íαáí«Γ¬¿ ß¿ú¡á-
  6023.       ½«ó. Å«½¡«Ñ «»¿ßá¡¿Ñ ñá¡« ñ½∩ Σπ¡¬µ¿¿ signal().
  6024.  
  6025.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6026.  
  6027.       é«ºóαáΘáÑΓ 0 ¿½¿ º¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ «Γ 0, ó ß½πτáÑ ¡Ñ-
  6028.       πñáτ¿.
  6029.  
  6030.    ÉѬ«¼Ñ¡ñᵿ∩:
  6031.  
  6032.       æ¼«Γα¿ΓÑ ΓᬪѠsignal.
  6033.  
  6034.    Åα¿¼Ñα:
  6035.  
  6036.       #include <signal.h>
  6037.       #include <stdio.h>
  6038.       void div_zero(int val);
  6039.       {
  6040.         printf("髺¡¿¬½« ñѽѡ¿Ñ ¡á 0\n");
  6041.         exit(0);
  6042.       }
  6043.       main()
  6044.       {
  6045.         float numerator = 3.0;
  6046.         float denominator = 0.0;
  6047.         if (signal(SIGFPE,&div_zero)==SIG_ERR)
  6048.            {
  6049.              printf("ìÑ ¼«úπ πßΓá¡«ó¿Γ∞ SIGFPE!\n");
  6050.              abort();
  6051.            }
  6052.         if (denominator==0)
  6053.            raise(SIGFPE);
  6054.         else
  6055.            printf("ÉѺπ½∞ΓáΓ ñѽѡ¿∩ αáóÑ¡ %f\n",
  6056.                                      numerator/denominator);
  6057.       }
  6058.  
  6059.  
  6060. rand                                      æïôùÇëìǃ éàïêùêìÇ
  6061.  
  6062.    êß»«½∞º«óá¡¿Ñ:
  6063.  
  6064.       #include <stdlib.h>
  6065.       int rand(void);                             /* ANSI */
  6066.  
  6067.    Ä»¿ßá¡¿Ñ:
  6068.  
  6069.       rand  ó«ºóαáΘáÑΓ  ß½πτá⌐¡«Ñ  τ¿ß½« ó ñ¿á»áº«¡Ñ «Γ 0 ñ«
  6070.       32767. æ¼«Γα¿ΓÑ ñá½ÑÑ «»¿ßá¡¿Ñ srand.
  6071.  
  6072.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6073.  
  6074.       é«ºóαáΘáÑΓ µÑ½δ⌐ (int) αѺπ½∞ΓáΓ.
  6075.  
  6076.    ÉѬ«¼Ñ¡ñᵿ∩:
  6077.  
  6078.       æ¼«Γα¿ΓÑ ΓᬪѠsrand.
  6079.  
  6080.    Åα¿¼Ñα:
  6081.  
  6082.       #include <stdio.h>
  6083.       #include <stdlib.h>
  6084.       main()
  6085.       {
  6086.         int i;
  6087.         for(i=0; i<20; i++);
  6088.         printf("i: %d rand(): %d\n", i, rand());
  6089.       }
  6090.  
  6091. read                                    ùêÆÇÆ£ üïÄè êç öÇëïÇ
  6092.  
  6093.    êß»«½∞º«óá¡¿Ñ:
  6094.  
  6095.       #include <io.h>
  6096.       int read (unsigned fd, void *buffer, unsigned length);
  6097.  
  6098.    Ä»¿ßá¡¿Ñ:
  6099.  
  6100.       æ¿ßΓѼ¡δ⌐ ó맮ó  read  íÑαÑΓ  (τ¿ΓáÑΓ)  «τÑαÑñ¡«⌐ í½«¬
  6101.       ½¿ΓÑα ¿º Σá⌐½á,  ßó∩ºá¡¡«ú« ß ñÑß¬α¿»Γ«α«¼  Σá⌐½á  fd.
  6102.       ù¿ß½« íá⌐Γ«ó,  ßτ¿ΓδóáѼδσ ó íπΣÑα buffer «»αÑñѽ∩ÑΓß∩
  6103.       »áαá¼ÑΓα«¼ length. ÅÑαÑßδ½¬á »α«¿ºó«ñ¿Γß∩ íѺ »αÑ«íαá-
  6104.       º«óá¡¿⌐ (φΓ« «íαáΘÑ¡¿Ñ ¬ MS DOS).
  6105.  
  6106.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6107.  
  6108.       é«ºóαáΘáÑΓ τ¿ß½« αÑá½∞¡« ßτ¿Γá¡¡δσ ½¿ΓÑα,  ¬«Γ«α«Ñ ¼«-
  6109.       ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ,  τѼ   length,  Ñß½¿ óßΓαÑΓ¿½ß∩ ¬«¡Ñµ
  6110.       Σá⌐½á. àß½¿ »α«¿º«Φ½á «Φ¿í¬á τΓÑ¡¿∩, ó«ºóαáΘáÑΓß∩ º¡á-
  6111.       τÑ¡¿Ñ -1 ¿ πßΓá¡áó½¿óáÑΓß∩ errno.
  6112.  
  6113.    ÉѬ«¼Ñ¡ñᵿ∩:
  6114.  
  6115.       æ¼«Γα¿ΓÑ ΓᬪѠfread, open, write.
  6116.  
  6117.    Åα¿¼Ñα:
  6118.  
  6119.       #include <stdio.h>
  6120.       #include <stdlib.h>
  6121.       #include <dos.h>
  6122.       #include <io.h>
  6123.       #define BYTECOUNT 255
  6124.       main()
  6125.       {
  6126.         char *buffer;
  6127.         int fd, numread, count;
  6128.         if (( fd = open("file.dat", O_RDONLY))== -1)
  6129.           {
  6130.             perror("open failed on file file.dat");
  6131.             exit(1);
  6132.           }
  6133.         buffer = malloc(BYTECOUNT+1);
  6134.         for (count = 0; count < BYTECOUNT; count++)
  6135.              buffer[count]=`\0';
  6136.         numread = read(fd, buffer, BYTECOUNT);
  6137.         printf("/n ù¿ß½« ßτ¿Γá¡¡δσ ½¿ΓÑα %d\n",numread);
  6138.         close(fd);
  6139.         free(buffer);
  6140.       }
  6141.  
  6142.  
  6143. realloc                           ÅàÉàÉÇçîàæÆêÆ£ üïÄè ÅÇîƒÆê
  6144.  
  6145.    êß»«½∞º«óá¡¿Ñ:
  6146.  
  6147.       #include <stdlib.h>
  6148.       void *realloc(void *ptr, unsigned size);     /* ANSI */
  6149.  
  6150.    Ä»¿ßá¡¿Ñ:
  6151.  
  6152.       realloc ¿º¼Ñ¡∩ÑΓ αẼÑα αá¡ÑÑ óδñѽѡ¡«ú«  í½«¬á »á¼∩-
  6153.       Γ¿, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ ptr. ÉẼÑα φΓ«ú« í½«¬á »«ß½Ñ
  6154.       «íαáΘÑ¡¿∩ ¬ realloc «»αÑñѽ∩ÑΓß∩ »áαá¼ÑΓα«¼ size. àß½¿
  6155.       size αáóÑ¡ 0,  í½«¬ «ßó«í«ªñáÑΓß∩ ¿ ó«ºóαáΘáÑΓß∩ NULL.
  6156.       àß½¿ ptr αáóÑ¡  NULL,  Γ« «Γó«ñ¿Γß∩  (»« malloc)  size
  6157.       íá⌐Γ«ó »á¼∩Γ¿ ¿ ó«ºóαáΘáÑΓß∩  π¬áºáΓѽ∞ ¡á φëà¼áßß¿ó
  6158.       »á¼∩Γ¿.  àß½¿ ñ½∩ αáßΦ¿αÑ¡¿∩  ΓѬπΘÑú«  í½«¬á ¼ÑßΓá ¡Ñ
  6159.       σóáΓáÑΓ, íπñÑΓ αẼÑΘÑ¡ ¡«óδ⌐ í½«¬, á ΓѬπΘ¿⌐ í½«¬ «ß-
  6160.       ó«í«ñ¿Γß∩. ÆÑ¬πΘ¿Ñ ñá¡¡δÑ »ÑαÑ»¿ΦπΓß∩ ó ¡«óδ⌐ í½«¬.
  6161.  
  6162.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6163.  
  6164.       é«ºóαáΘáÑΓß∩  π¬áºáΓѽ∞ ¡á »ÑαÑαẼÑΘÑ¡¡δ⌐  í½«¬ »á¼∩-
  6165.       Γ¿. àß½¿ ¡ÑΓ »«ñσ«ñ∩ΘÑ⌐ »á¼∩Γ¿ ñ½∩ óδ»«½¡Ñ¡¿∩ realloc,
  6166.       ó«ºóαáΘáÑΓß∩ NULL (¡« »á¼∩Γ∞ »« ptr ¡Ñ «ßó«í«ªñáÑΓß∩).
  6167.  
  6168.    ÉѬ«¼Ñ¡ñᵿ∩:
  6169.  
  6170.       æ¼«Γα¿ΓÑ ΓᬪѠ calloc, free, malloc.
  6171.  
  6172.    Åα¿¼Ñα:
  6173.  
  6174.       #include <stdio.h>
  6175.       #include <stdlib.h>
  6176.       #include <string.h>
  6177.       main()
  6178.       {
  6179.         char *ptr;
  6180.         ptr = realloc(NULL, 20*sizeof(char));
  6181.         strcpy(ptr, "¥Γ« »Ñαóá∩ τáßΓ∞, ");
  6182.         ptr = realloc(ptr, 100*sizeof(char));
  6183.         strcat(ptr, "¥Γ« óΓ«αá∩ τáßΓ∞);
  6184.         printf("%s\n", ptr);
  6185.         realloc(ptr, 0);
  6186.       }
  6187.  
  6188.  
  6189. rename                            ÅàÉàêîàìÄéÇÆ£ öÇëï
  6190.  
  6191.    êß»«½∞º«óá¡¿Ñ:
  6192.  
  6193.       #include <stdio.h>
  6194.       rename (char *oldname, char *newname);       /* ANSI */
  6195.  
  6196.    Ä»¿ßá¡¿Ñ:
  6197.  
  6198.       çá¼Ñ¡∩ÑΓ π Σá⌐½á  oldname  φΓ«  ¿¼∩  ¡á  newname.  èá¬
  6199.       oldname,  Γᬠ¿ newname ¼«úπΓ ß«ñÑαªáΓ∞ ¿¼∩ πßΓα«⌐ßΓóá
  6200.       ¿ ¼áαΦαπΓδ, ¡« «íá ¿¼Ñ¡¿ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á «ñ¡« ¿ Γ«
  6201.       ªÑ πßΓα«⌐ßΓó«.
  6202.  
  6203.  
  6204.    Åα¿¼Ñα:
  6205.  
  6206.       #include <stdio.h>
  6207.       #include <io.h>
  6208.       main()
  6209.       {
  6210.         int return_code;
  6211.         char *oldname, *newname;
  6212.         oldname = "data.fil";
  6213.         newname = "file.dat";
  6214.         return_code = rename(oldname, newname);
  6215.         printf("\n%s %s renamed to %s\n", oldname,
  6216.              return_code == 0 ? "was": "was not", newname);
  6217.       }
  6218.  
  6219.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6220.  
  6221.       rename ó«ºóαáΘáÑΓ 0, Ñß½¿ ¿¼∩ Σá⌐½á í佫 πß»ÑΦ¡« ¿º¼Ñ-
  6222.       ¡Ñ¡«, ¿ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ,  Ñß½¿ ºá¼Ñ¡á ¡Ñ »α«¿º«Φ½á,
  6223.       πßΓá¡áó½¿óá∩ »α¿ φΓ«¼ errno.
  6224.  
  6225.  
  6226. rewind             ôæÆÇìÄéêÆ£ ôèÇçÇÆàöÇëïÇ é ìÇùÇïÄ
  6227.  
  6228.    êß»«½∞º«óá¡¿Ñ:
  6229.  
  6230.       #include <stdio.h>
  6231.       void rewind(FILE *fp);                      /* ANSI */
  6232.  
  6233.    Ä»¿ßá¡¿Ñ:
  6234.  
  6235.       rewind πßΓá¡áó½¿óáÑΓ π¬áºáΓѽ∞ Σá⌐½á,  ßó∩ºá¡¡δ⌐ ß »«-
  6236.       Γ«¬«¼, ó Ñú« ¡áτὫ.  ¥Γ«  φ¬ó¿óá½Ñ¡Γ¡«  ¿ß»«½∞º«óá¡¿ε
  6237.       fseek(fp, 0L, SEEK_SET)  ß  «τ¿ΘÑ¡¡δ¼   Σ½áú«¼  «Φ¿í«¬
  6238.       ñ½∩ fp.
  6239.  
  6240.    Åα¿¼Ñα:
  6241.  
  6242.       #include <stdio.h>
  6243.       main()
  6244.       {
  6245.         FILE *fp;
  6246.         char *string = "String one, example string";
  6247.         char *string2 = "xxxxxxxxxxxxxx";
  6248.         fp = fopen("file.dat", "w+");
  6249.         fprintf(fp, "%s, &string);
  6250.         rewind(fp);
  6251.         fscanf(fp, "%s", &string2);
  6252.         printf("꺠Σá⌐½á ¡áºáñ »α«τ½¿: %s\n", string2);
  6253.       }
  6254.  
  6255.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6256.  
  6257.       rewind ¡¿τÑú« ¡Ñ ó«ºóαáΘáÑΓ.
  6258.  
  6259.    ÉѬ«¼Ñ¡ñᵿ∩:
  6260.  
  6261.       æ¼«Γα¿ΓÑ ΓᬪѠ fseek.
  6262.  
  6263.  
  6264. rmdir                         ôäÇïêÆ£ èÇÆÇïÄâ
  6265.  
  6266.    êß»«½∞º«óá¡¿Ñ:
  6267.  
  6268.       #include <direct.h>
  6269.       int rmdir(char *pathname);
  6270.  
  6271.    Ä»¿ßá¡¿Ñ:
  6272.  
  6273.       rmdir   πñá½∩ÑΓ   ¬áΓὫú,   «»αÑñѽѡ¡δ⌐   áαúπ¼Ñ¡Γ«¼
  6274.       pathname.  èáΓὫú  ñ«½ªÑ¡ íδΓ∞ »πßΓδ¼ ¿ ¡Ñ ¼«ªÑΓ íδΓ∞
  6275.       ¬«α¡Ñóδ¼ ¬áΓὫú«¼ ¿½¿ ΓѬπΘ¿¼ αáí«τ¿¼ ¬áΓὫú«¼.  éßÑ
  6276.       »α«¼ÑªπΓ«τ¡δÑ ¬áΓὫú¿ ΓᬪѠñ«½ª¡δ ßπΘÑßΓó«óáΓ∞.
  6277.  
  6278.    Åα¿¼Ñα:
  6279.  
  6280.       #include <stdio.h>
  6281.       #include <direct.h>
  6282.       main()
  6283.       {
  6284.         int result;
  6285.         result = rmdir("\\temp");
  6286.         if (result == 0)
  6287.             printf("èáΓὫú \\temp πñá½Ñ¡\n");
  6288.         else
  6289.             printf("ìÑ ß¼«ú½¿ πñ὿Γ∞ ¬áΓὫú \\temp \n")];
  6290.       }
  6291.  
  6292.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6293.  
  6294.       öπ¡¬µ¿∩  rmdir ó«ºóαáΘáÑΓ 0,  Ñß½¿ ¬áΓὫú íδ½ πñá½Ñ¡.
  6295.       é«ºóαáΘÑ¡¡«Ñ º¡áτÑ¡¿Ñ -1 «º¡áτáÑΓ «Φ¿í¬π, »α¿ φΓ«¼ πß-
  6296.       Γá¡áó½¿óáÑΓß∩ errno.
  6297.  
  6298.    ÉѬ«¼Ñ¡ñᵿ∩:
  6299.  
  6300.       æ¼«Γα¿ΓÑ ΓᬪѠ mkdir, chdir.
  6301.  
  6302.  
  6303.  
  6304. sbrk                                ôéàïêùêÆ£ æàâîàìÆ äÇìì¢ò
  6305.  
  6306.    êß»«½∞º«óá¡¿Ñ:
  6307.  
  6308.       void *sbrk(unsigned count);
  6309.  
  6310.    Ä»¿ßá¡¿Ñ:
  6311.  
  6312.       sbrk »δΓáÑΓß∩ αáßΦ¿α¿Γ∞ ßÑú¼Ñ¡Γ ñá¡¡δσ ¡á τ¿ß½« íá⌐Γ«ó,
  6313.       π¬áºá¡¡δσ ó count. Åα¿ πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿ ó«ºóαáΘáÑΓ-
  6314.       ß∩ π¬áºáΓѽ∞ ¡á ñ«íáó½Ñ¡¡πε »á¼∩Γ∞, ó »α«Γ¿ó¡«¼ ß½πτáÑ
  6315.       ó«ºóαáΘáÑΓß∩ -1.  ä½∩ T,S ¿ M ¼«ñѽÑ⌐ »á¼∩Γ¿,  Ñß½¿ ¡Ñ
  6316.       íδ½á «íΩ∩ó½Ñ¡á »ÑαѼѡ¡á∩ _okbigbuf,  Γ« óß∩ ñ«ßΓπ»¡á∩
  6317.       »á¼∩Γ∞, αẼÑα«¼ ñ« 64 èí,  »α¿ß«Ññ¿¡∩ÑΓß∩ »α¿ ºá»π߬Ñ
  6318.       »α«úαá¼¼δ ¿ sbrk íπñÑΓ óßÑúñá ßí«¿Γ∞  (Γ.Ñ. ó«ºóαáΘáΓ∞
  6319.       -1). àß½¿ »ÑαѼѡ¡á∩ _okbigbuf «íΩ∩ó½Ñ¡á ó »α«úαἼѠ¿
  6320.       ¿¡¿µ¿á½¿º¿α«óá¡á 0,  Γ« ó  '¬πτÑ'  αẼÑΘáÑΓß∩Γ Γ«½∞¬«
  6321.       ΓαÑíπѼá∩ »α«úαἼѠ»á¼∩Γ∞ ¿ ºñÑß∞ »«½Ñº¡á sbrk.
  6322.  
  6323.       ä½∩ C ¿ L ¼«ñѽÑ⌐ »á¼∩Γ¿,  Ñß½¿ sbrk() ¡Ñ ¼«ªÑΓ αáßΦ¿-
  6324.       α¿Γ∞ ßÑú¼Ñ¡Γ ñá¡¡δσ,  «¡á íπñÑΓ »δΓáΓ∞ß∩  »α¿ß«Ññ¿¡¿Γ∞
  6325.       ¡«óδ⌐ ßÑú¼Ñ¡Γ.
  6326.  
  6327.             sbrk()  ∩ó½∩ÑΓß∩ «íΘÑ⌐ τáßΓ∞ε Σπ¡¬µ¿⌐  calloc(),
  6328.             malloc() ¿ realloc().
  6329.             Åα¿½«ªÑ¡¿∩¼  ß½ÑñπÑΓ  ¿ºíÑúáΓ∞  ¿ß»«½∞º«óáΓ∞ φΓπ
  6330.             Σπ¡¬µ¿ε.
  6331.  
  6332.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6333.  
  6334.       àß½¿ ¡Ñ σóáΓ¿½«  »á¼∩Γ¿  ñ½∩  πñ«ó½ÑΓó«αÑ¡¿∩  ºá»α«ßá,
  6335.       sbrk ó«ºóαáΘáÑΓ -1  ¿  πßΓá¡áó½¿óáÑΓ   errno.  é »α«-
  6336.       Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á í½«¬ »á¼∩Γ¿.
  6337.  
  6338.    ÉѬ«¼Ñ¡ñᵿ∩:
  6339.  
  6340.       æ¼«Γα¿ΓÑ ΓᬪѠ calloc, free, malloc, realloc.
  6341.  
  6342.  
  6343.    Åα¿¼Ñα:
  6344.  
  6345.       #include <string.h>
  6346.       #include <stdio.h>
  6347.       void *sbrk(int);
  6348.       main()
  6349.       {
  6350.         unsigned int count = 100;
  6351.         char *ptr;
  6352.         ptr = sbrk(count);
  6353.         if (ptr == (char *)-1)
  6354.             {
  6355.               perror("No available space for sbrk\n");
  6356.               return;
  6357.             }
  6358.         strcpy(ptr, "String of data:");
  6359.         strcat(ptr, "another string added\n");
  6360.         fputs(ptr, stdout);
  6361.       }
  6362.  
  6363.  
  6364. scanf                                         öÄÉîÇÆì¢ë ééÄä
  6365.  
  6366.    êß»«½∞º«óá¡¿Ñ:
  6367.  
  6368.       #include <stdio.h>
  6369.       int scanf(char *format,...);                /* ANSI */
  6370.       int fscanf(FILE *fp, char *format,...);     /* ANSI */
  6371.       int sscanf(char *buffer, char *format,...); /* ANSI */
  6372.  
  6373.    Ä»¿ßá¡¿Ñ:
  6374.  
  6375.       ¥Γ« »α«µÑñπαδ Σ«α¼áΓ¡«ú« óó«ñá.  î¡«ú«Γ«τ¿∩ «í«º¡áτáεΓ
  6376.       áαúπ¼Ñ¡Γδ («Γ 0 ¿ í«½ÑÑ), ¬«Γ«αδÑ ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿
  6377.       ¡á »ÑαѼѡ¡δÑ ñ½∩ óó«ñá ¿¡Σ«α¼áµ¿¿;
  6378.  
  6379.       fscanf   τ¿ΓáÑΓ ¿º óσ«ñ¡«ú« »«Γ«¬á fp.
  6380.       scanf    τ¿ΓáÑΓ ¿º stdin.
  6381.       sscanf   τ¿ΓáÑΓ ¿º π¬áºá¡¡«ú« íπΣÑαá buffer. æτ¿ΓδóáÑ-
  6382.                ¼δÑ  ½¿ΓÑαδ  »αÑ«íαáºπεΓß∩  ó  ß««ΓóÑΓßΓó¿¿ ß
  6383.                Σ«α¼áΓ¡«⌐ ßΓ᫬«⌐, ¿ φΓ¿ »αÑ«íαẫóá¡¡δÑ º¡á-
  6384.                τÑ¡¿∩ αẼÑΘáεΓß∩ »« áαúπ¼Ñ¡Γá¼-π¬áºáΓѽ∩¼.
  6385.  
  6386.       Çαúπ¼Ñ¡Γδ ñ«½ª¡δ  íδΓ∞  π¬áºáΓѽ∩¼¿  ¡á Γ«, ¬πñá íπñπΓ
  6387.       ºá»¿ßδóáΓ∞ß∩ º¡áτÑ¡¿∩.
  6388.  
  6389.       ö«α¼áΓ¡á∩ ßΓ᫬á ß«ßΓ«¿Γ ¿º:
  6390.  
  6391.          1. Åα«íѽ«ó,  ½¿ΓÑα  Γáíπ½∩µ¿¿  ¿ ¡«ó«⌐ ßΓ᫬¿, ¬«-
  6392.             Γ«αδÑ óδºδóáεΓ  »α«»π߬ óó«ñá  ñ«  ß½ÑñπεΘÑ⌐, ¡Ñ
  6393.             'íѽ«⌐' (whitespace) ½¿ΓÑαδ.
  6394.          2. äαπú¿σ ½¿ΓÑα,  ¬α«¼Ñ  ½¿ΓÑαδ %,  ¬«Γ«αδÑ "«ñ¿¡ ó
  6395.             «ñ¿¡" »ÑαÑ»αáó½∩εΓß∩ ó« óó«ñ.
  6396.          3. æ»Ñµ¿Σ¿¬áµ¿⌐  »αÑ«íαẫóá¡¿∩,  ¬«Γ«αδÑ  óδú½∩ñ∩Γ
  6397.             ß½ÑñπεΘ¿¼ «íαẫ¼:
  6398.  
  6399.     ┌──────────────────────────────────────────────────────┐
  6400.     │ '%'['*'][Φ¿α¿¡á »«½∩][Γ«τ¡«ßΓ∞]½¿ΓÑαá »αÑ«íαẫóá¡¿∩ │
  6401.     └──────────────────────────────────────────────────────┘
  6402.  
  6403.       ¥Γá ßΓα«¬á «»αÑñѽ∩ÑΓ,  ¬á¬¿¼ «íαẫ¼ óó«ñ¿¼δÑ ß¿¼ó«½δ
  6404.       ñ«½ª¡δ  »αÑ«íαẫóδóáΓ∞ß∩ ¿ ºá»¿ßδóáΓ∞ß∩  »«  ß««ΓóÑΓ-
  6405.       ßΓóπεΘ¿¼ áαúπ¼Ñ¡Γá¼-π¬áºáΓѽ∩¼. ÅαÑ«íαẫóá¡¿Ñ »α«ñ«½-
  6406.       ªáÑΓß∩ ñ« »Ñαó«⌐ ¡Ñ»«ñσ«ñ∩ΘÑ⌐  óσ«ñ¡«⌐  ½¿ΓÑαδ ¿½¿ ¿ß-
  6407.       τÑα»á¡¿∩ Φ¿α¿¡δ »«½∩.
  6408.       æ¿¼ó«½ '*' ∩ó½∩ÑΓß∩ Σ½áú«¼ »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿∩. Ä¡
  6409.       óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ »αÑ«íαẫóá¡¿∩, ¡« αѺπ½∞ΓáΓ ¿ú¡«-
  6410.       α¿απÑΓß∩ ¿ ñ½∩ ¡Ñú« ¡Ñ ¡πªÑ¡ ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ-
  6411.       -π¬áºáΓѽ∞.
  6412.       àß½¿  τ¿ß½«  áαúπ¼Ñ¡Γ«ó-π¬áºáΓѽÑ⌐ ¼Ñ¡∞ΦѠ߻ѵ¿Σ¿¬áµ¿⌐
  6413.       »αÑ«íαẫóá¡¿∩, αѺπ½∞ΓáΓ ¡Ñ»αÑñ߬áºπѼ. àß½¿ ªÑ τ¿ß½«
  6414.       áαúπ¼Ñ¡Γ«ó-π¬áºáΓѽÑ⌐ í«½∞ΦÑ, ½¿Φ¡¿Ñ π¬áºáΓѽ¿ ¿ú¡«α¿-
  6415.       απεΓß∩.
  6416.  
  6417.       ÿ¿α¿¡á »«½∩ (field_width)
  6418.       ────────────────────────
  6419.          ¥Γ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑß∩Γ¿τ¡δσ µ¿Σα,  «»αÑñѽ∩ε-
  6420.          Θá∩ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« ½¿ΓÑα ó »«½Ñ óó«ñá.
  6421.  
  6422.       Æ«τ¡«ßΓ∞ (precision)
  6423.       ────────────────────
  6424.          L ¿½¿ l (쿪¡¿⌐ αÑú¿ßΓα L)
  6425.             àß½¿ 'l' ¿ß»«½∞ºπÑΓß∩ ß «ñ¡«⌐ ¿º (d, i, o, u, x)
  6426.             ½¿ΓÑα »αÑ«íαẫóá¡¿∩, Γ« «¡á «º¡áτáÑΓ, τΓ« áαúπ-
  6427.             ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á long, á ¡Ñ ¡á int. l
  6428.             ¿½¿ L Σ½áú,  »α¿ ¿ß»«½∞º«óá¡¿¿ (e) ¿½¿ (f) ½¿ΓÑα
  6429.             »αÑ«íαẫóá¡¿∩, «º¡áτáÑΓ,  τΓ« áαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩
  6430.             π¬áºáΓѽѼ ¡á double, á ¡Ñ ¡á float.
  6431.  
  6432.          h  Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á short.
  6433.  
  6434.       ï¿ΓÑαá »αÑ«íαẫóá¡¿∩ (conv_char)
  6435.       ─────────────────────────────────
  6436.          è ½¿ΓÑαá¼ »αÑ«íαẫóá¡¿∩ «Γ¡«ß∩Γß∩:
  6437.  
  6438.       d          Äª¿ñáÑΓß∩   óó«ñ  µÑ½«ú«  τ¿ß½á,  áαúπ¼Ñ¡Γ-
  6439.                  -π¬áºáΓѽ∞ ñ«½ªÑ¡ íδΓ∞  π¬áºáΓѽѼ  ¡á int.
  6440.  
  6441.       e,f,g,E,G  Äª¿ñáÑΓß∩ óó«ñ τ¿ß½á ß »½áóáεΘÑ⌐  ºá »∩Γ«⌐.
  6442.                  ö«α¼áΓ τ¿ß½á Γᬫ⌐ ªÑ, ¬á¬ ¿ ó C¿.
  6443.                  Çαúπ¼Ñ¡Γ ñ«½ªÑ¡  íδΓ∞ π¬áºáΓѽѼ  ¡á  float
  6444.                  (¿½¿ double, Ñß½¿ ¿ß»«½∞ºπÑΓß∩ 'l' ¿½¿ 'L').
  6445.  
  6446.       i          Äª¿ñáÑΓß∩ óó«ñ µÑ½«ú« τ¿ß½á. àß½¿ τ¿ß½« ¡á-
  6447.                  τ¿¡áÑΓß∩ ß 0, «¡« ó«ß»α¿¡¿¼áÑΓß∩ ¬á¬ ó«ß∞¼Ñ-
  6448.                  α¿τ¡«Ñ.  àß½¿ τ¿ß½« ¡áτ¿¡áÑΓß∩ ß 0x ¿½¿ 0X,
  6449.                  «¡« ΦÑßΓ¡áñµáΓ¿α¿τ¡«Ñ. Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
  6450.                  π¬áºáΓѽѼ ¡á int.
  6451.  
  6452.       b          Äª¿ñáÑΓß∩ óó«ñ  ñó«¿τ¡«ú«  τ¿ß½á.  Çαúπ¼Ñ¡Γ
  6453.                  ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ.
  6454.  
  6455.       o          Äª¿ñáÑΓß∩ óó«ñ  ó«ß∞¼Ñα¿τ¡«ú« τ¿ß½á.  Çαúπ-
  6456.                  ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á int.
  6457.  
  6458.       x,X        Äª¿ñáÑΓß∩   óó«ñ  ΦÑßΓ¡áñµáΓ¿α¿τ¡«ú«  τ¿ß½á
  6459.                  (áñαÑßá).  Çαúπ¼Ñ¡Γ  ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ
  6460.                  ¡á int.
  6461.  
  6462.       p          Äª¿ñáÑΓß∩  óó«ñ  ΦÑßΓ¡áñµáΓ¿α¿τ¡«ú«  τ¿ß½á.
  6463.                  Çαúπ¼Ñ¡Γ  ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ  ¡á π¬áºá-
  6464.                  Γѽ∞.
  6465.  
  6466.       u          Äª¿ñáÑΓß∩ óó«ñ  íѺº¡á¬«ó«ú«  µÑ½«ú« τ¿ß½á.
  6467.                  Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á unsigned.
  6468.  
  6469.       n          Å« π¬áºáΓѽε, ºáñá¡¡«¼π áαúπ¼Ñ¡Γ«¼, ºá»¿ßδ-
  6470.                  óáÑΓß∩ τ¿ß½«  ½¿ΓÑα,  ßτ¿Γá¡¡δσ ¬ φΓ«¼π ¼«-
  6471.                  ¼Ñ¡Γπ »α¿ φΓ«¼ «íαáΘÑ¡¿¿ ¬ scanf().
  6472.  
  6473.       [          Äª¿ñáÑΓß∩  óó«ñ  ßΓ᫬¿  ½¿ΓÑα.  îѪñπ  [ ¿
  6474.                  ºá¬αδóáεΘÑ⌐ ] ñ«½ª¡δ íδΓ∞ ½¿ΓÑαδ,  ñ«»πßΓ¿-
  6475.                  ¼δÑ ó φΓ«⌐ ßΓ᫬Ñ.  àß½¿ ºá ß¬«í¬«⌐ [ ßαáºπ
  6476.                  ß½ÑñπÑΓ ½¿ΓÑαá^,  ñ«»πßΓ¿¼δ¼¿ ½¿ΓÑαἿ óó«-
  6477.                  ñ¿¼«⌐  ßΓ᫬¿  ∩ó½∩εΓß∩  óßÑ ºá ¿ß¬½ετÑ¡¿Ñ¼
  6478.                  »ÑαÑτ¿ß½Ñ¡¡δσ ¼Ñªñπ ^ ¿ ].  Çαúπ¼Ñ¡Γ ñ«½ªÑ¡
  6479.                  íδΓ∞  π¬áºáΓѽѼ ¡á ßΓ᫬π.  é ¬«¡µÑ ßΓ᫬¿
  6480.                  ñ«íáó½∩ÑΓß∩ 0.
  6481.  
  6482.       s          Äª¿ñáÑΓß∩  óó«ñ ßΓ᫬¿ ½¿ΓÑα. Çαúπ¼Ñ¡Γ ñ«½-
  6483.                  ªÑ¡ íδΓ∞  π¬áºáΓѽѼ  ¡á ßΓ᫬π.  Å«½Ñ óó«-
  6484.                  ñᠺừ½¡∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á ¡Ñ ßτ¿ΓáÑΓ-
  6485.                  ß∩ »α«íѽ ¿½¿ ½¿ΓÑαá ¡«ó«⌐ ßΓ᫬¿,  ¬«Γ«αδÑ
  6486.                  ¡Ñ  ∩ó½∩εΓß∩  τáßΓ∞ε  »«½∩  óó«ñá.  è ¬«¡µπ
  6487.                  ßΓ᫬¿ ñ«íáó½∩ÑΓß∩ 0.
  6488.  
  6489.       c          Äª¿ñáÑΓß∩ óó«ñ ½¿ΓÑαδ. Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
  6490.                  π¬áºáΓѽѼ ¡á ½¿ΓÑαπ. àß½¿ «»αÑñѽѡá Φ¿α¿-
  6491.                  ¡á »«½∩ (field_width), Γ« ßτ¿ΓδóáÑΓß∩ «»αÑ-
  6492.                  ñѽѡ¡«Ñ  Φ¿α¿¡«⌐  »«½∩ τ¿ß½« ½¿ΓÑα ¿ áαúπ-
  6493.                  ¼Ñ¡Γ ó φΓ«¼ ß½πτáÑ ñ«½ªÑ¡  íδΓ∞  π¬áºáΓѽѼ
  6494.                  ¡á ¼áß߿󠽿ΓÑα, ñ«ßΓáΓ«τ¡δ⌐ ñ½∩ αẼÑΘÑ¡¿∩
  6495.                  αѺπ½∞ΓáΓá.
  6496.  
  6497.       %          æ««ΓóÑΓßΓóπÑΓ óó«ñπ ½¿ΓÑαδ %.
  6498.  
  6499.          æ¿¼ó«½δ »αÑ«íαẫóá¡¿∩ e, g ¿ x  ¼«úπΓ íδΓ∞ ºáú½áó-
  6500.          ¡δ¼¿.  äαπú¿Ñ ªÑ ß¿¼ó«½δ íπñπΓ ñáóáΓ∞ ¡Ñ»αÑñ߬áºπÑ-
  6501.          ¼δÑ αѺπ½∞ΓáΓδ. ìÑ»«ñσ«ñ∩Θ¿Ñ ½¿ΓÑαδ «ßΓáεΓß∩ ¡Ñ»α«-
  6502.          τ¿Γá¡¡δ¼¿ ¿º óσ«ñ¡«ú« »«Γ«¬á.  ìÑΓ »α∩¼«ú« »πΓ¿ «»-
  6503.          αÑñѽѡ¿∩  Γ«ú«,  ñ«ßΓ¿ú¡πΓδ ½¿ Γ«τ¡δÑ ß««ΓóÑΓßΓó¿∩
  6504.          ¿½¿ í뫨 »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿⌐, ¬α«¼Ñ ¿ß»«½∞º«óá-
  6505.          ¡¿∩ ß¿¼ó«½á »αÑ«íαẫóá¡¿∩ %n.
  6506.  
  6507.    Åα¿¼Ñα:
  6508.  
  6509.       #include <stdio.h>
  6510.       main()
  6511.       {
  6512.         unsigned int result, val;
  6513.         printf("éóÑñ¿ΓÑ ñÑß∩Γ¿τ¡«Ñ τ¿ß½«:");
  6514.         result = scanf("%i", &val);
  6515.         printf("The decimal number [%d] is [%4x]
  6516.                     hexadecimal", val, val);
  6517.       }
  6518.  
  6519.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6520.  
  6521.       é«ºóαáΘáÑΓß∩ τ¿ß½« »α¿ßó«Ñ¡¡δσ φ½Ñ¼Ñ¡Γ«ó óó«ñá, ¿ß¬½ε-
  6522.       τá∩ »αÑ«íαẫóá¡¿∩ ß »«ñáó½Ñ¡¡δ¼  »α¿ßóá¿ó᡿Ѽ.  àß½¿
  6523.       óßΓαÑτáÑΓß∩ ¬«¡Ñµ  Σá⌐½á  ñ« Γ«ú«,  ¬á¬ í뫨 óδ»«½¡Ñ¡δ
  6524.       ¬á¬¿Ñ-½¿í« »α¿ßóá¿óá¡¿∩ ¿ ó«º¡¿¬½¿ ¬á¬¿Ñ-½¿í« ¬«¡Σ½¿¬-
  6525.       Γδ  (Σ«α¼áΓá  ¿  óó«ñá),  ó«ºóαáΘáÑΓß∩  º¡áτÑ¡¿Ñ  EOF.
  6526.       Scanf() «íδτ¡« ºáóÑαΦáÑΓ αáí«Γπ, ¬«úñá ñ«ßΓ¿úáÑΓ ¬«¡µá
  6527.       ßΓ᫬¿ Σ«α¼áΓá.
  6528.  
  6529.    ÉѬ«¼Ñ¡ñᵿ∩:
  6530.  
  6531.       æ¼«Γα¿ΓÑ ΓᬪѠprintf, fscanf, sscanf
  6532.  
  6533.  
  6534.  
  6535. segread                           ùêÆÇÆ£ æàâîàìÆì¢à ÉàâêæÆÉ¢
  6536.  
  6537.    êß»«½∞º«óá¡¿Ñ:
  6538.  
  6539.       #include <dos.h>              /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó*/
  6540.       void segread (struct SREGS *segregs);
  6541.  
  6542.    Ä»¿ßá¡¿Ñ:
  6543.  
  6544.       æτ¿ΓδóáÑΓ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γ¡δσ  αÑú¿ßΓα«ó ¿ »«¼ÑΘáÑΓ ¿σ
  6545.       ó SREGS.
  6546.  
  6547.    Åα¿¼Ñα:
  6548.  
  6549.       #include <dos.h>
  6550.       #include <stdio.h>
  6551.       struct SREGS segregs;
  6552.       unsigned code_seg, data_seg, stack_seg, extra_seg;
  6553.       main()
  6554.       {
  6555.         segread(&segregs);
  6556.         code_seg = segregs.cs;
  6557.         stack_seg = segregs.ss;
  6558.         data_seg = segregs.ds;
  6559.         extra_seg = segregs.es;
  6560.         printf("\n ÉÑú¿ßΓαδ ßÑú¼Ñ¡Γ«ó ßÑ⌐τáß ß«ñÑαªáΓ:\n");
  6561.         printf("\n CS: %4x\nDS: %4x\nSS: %4X\nES: %4x\n",
  6562.                 code_seg, data_seg, stack_seg, extra_seg);
  6563.       }
  6564.  
  6565.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6566.  
  6567.       ìÑΓ.
  6568.  
  6569.    ÉѬ«¼Ñ¡ñᵿ∩:
  6570.  
  6571.       æ¼«Γα¿ΓÑ ΓᬪѠintdosx, int86x, getDS.
  6572.  
  6573.  
  6574. setbuf                                  ôæÆÇìÄéêÆ£ üôöàÉ é/é
  6575.  
  6576.    êß»«½∞º«óá¡¿Ñ:
  6577.  
  6578.       #include <stdio.h>
  6579.       void setbuf(FILE *stream, char *buffer);    /* ANSI */
  6580.  
  6581.    Ä»¿ßá¡¿Ñ:
  6582.  
  6583.       öπ¡¬µ¿∩  setbuf ºáñáÑΓ íπΣÑα ñ½∩ ßτ¿Γδóá¡¿∩ ¿½¿ ºá»¿ß¿
  6584.       íá⌐Γ«ó ó »«Γ«¬. àß½¿ áαúπ¼Ñ¡Γ buffer αáóÑ¡ NULL, »«Γ«¬
  6585.       ¡Ñ íπΣÑਧ«óá¡.  àß½¿ ªÑ  buffer ¡Ñ αáóÑ¡ NULL,  Γ« «¡
  6586.       ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á íπΣÑα,  ¬«Γ«αδ⌐ íπñÑΓ ¿ß»«½∞º«-
  6587.       óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ ó맮óáσ read ¿ write. buffer ñ«½-
  6588.       ªÑ¡  π¬áºδóáΓ∞  ¡á  ½¿ΓÑα¡δ⌐  ¼áßß¿ó  αẼÑα«¼  BUFSIZ
  6589.       (BUFSIZ «»αÑñѽѡ ó stdio.h). Ä»αÑñѽѡ¡δ⌐ »«½∞º«óáΓÑ-
  6590.       ½Ñ¼ íπΣÑα ¿ß»«½∞ºπÑΓß∩ »«Γ«¼ ó¼ÑßΓ«  αẼÑΘÑ¡¡«ú« ß¿ß-
  6591.       ΓѼ«⌐ »« π¼«½τá¡¿ε íπΣÑαá óó«ñá/óδó«ñá.
  6592.  
  6593.    Åα¿¼Ñα:
  6594.  
  6595.       #include <stdio.h>
  6596.       char buffer [BUFSIZ];
  6597.       FILE *fp;
  6598.       main()
  6599.       {
  6600.         fp = fopen("file.dat", "r");
  6601.         setbuf(fp, buffer);
  6602.         printf("ÆÑ»Ñα∞ »«Γ«¬ »α¬αÑ»½Ñ¡ ¬ íπΣÑαπ \n");
  6603.       }
  6604.  
  6605.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6606.  
  6607.       ìÑΓ.
  6608.  
  6609.    ÉѬ«¼Ñ¡ñᵿ∩:
  6610.  
  6611.       æ¼«Γα¿ΓÑ ΓᬪѠsetvbuf.
  6612.  
  6613.  
  6614. setjmp                    ôæÆÇìÄéêÆ£ ÆÄùèô äïêììÄâÄ ÅàÉàòÄäÇ
  6615.  
  6616.    êß»«½∞º«óá¡¿Ñ:
  6617.  
  6618.       #include <setjmp.h>
  6619.       int setjmp(jmp_buf env);                    /* ANSI */
  6620.  
  6621.    Ä»¿ßá¡¿Ñ:
  6622.  
  6623.       æ¼«Γα¿ΓÑ «»¿ßá¡¿Ñ longjmp.
  6624.  
  6625.  
  6626. setvbuf                                 ôæÆÇìÄéêÆ£ üôöàÉ é/é
  6627.  
  6628.    êß»«½∞º«óá¡¿Ñ:
  6629.  
  6630.       #include <stdio.h>                           /* ANSI */
  6631.       int setvbuf(FILE *fp, char *buf,int mode,size_t size);
  6632.  
  6633.    Ä»¿ßá¡¿Ñ:
  6634.  
  6635.       öπ¡¬µ¿∩ setvbuf «»αÑñѽ∩ÑΓ Γ¿» ¿ αẼÑα íπΣÑαá, ¿ß»«½∞-
  6636.       ºπѼ«ú« ñ½∩ »«Γ«¬á. é ñ«»«½¡Ñ¡¿Ñ ¬ »áαá¼ÑΓαá¼ Σπ¡¬µ¿¿,
  6637.       ß½ÑñπεΘá∩ ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩  ó«ºñÑ⌐ßΓóπÑΓ ¡á »«óÑ-
  6638.       ñÑ¡¿Ñ φΓ«⌐ Σπ¡¬µ¿¿:
  6639.  
  6640.     _okbigbuf
  6641.  
  6642.       ¥Γá »ÑαѼѡ¡á∩ ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬« ó  T, S ¿ M ¼«ñѽ∩σ
  6643.       »á¼∩Γ¿ ¿ π»αáó½∩ÑΓ αẼÑΘÑ¡¿Ñ¼ íπΣÑα«ó,  ¬«úñá buf αá-
  6644.       óÑ¡ NULL.  ¥Γá  »ÑαѼ¡¡á∩  ßΓáΓ¿τÑ߬¿ ¿¡¿µ¿á½¿º¿απÑΓß∩
  6645.       ó 0 ¿½¿ 1 »α«úαá¼¼¿ßΓ«¼ (»« π¼«½τá¡¿ε ó í¿í½¿«ΓѬѠπß-
  6646.       Γá¡áó½¿óáÑΓß∩  º¡áτÑ¡¿Ñ 1).  àß½¿  _okbigbuf αáó¡á 1 ¿
  6647.       ¼«ñѽ∞ »á¼∩Γ¿ T, S ¿½¿ M,  Γ« setvbuf()  »δΓáÑΓß∩ αáß-
  6648.       »«½«ª¿Γ∞ íπΣÑα ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ. àß½¿ φΓ« ¡Ñ óδ»«½-
  6649.       ¡∩ÑΓß∩ ¿ size <= BUFSIZ, setvbuf() »δΓáÑΓß∩ αẼÑßΓ¿Γ∞
  6650.       íπΣÑα ó¡πΓα¿ ßÑú¼Ñ¡Γá ñá¡¡δσ.
  6651.       üπΣÑα, ¬«Γ«αδ⌐ ¡áσ«ñ¿Γß∩ ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ,  »«¼Ñτá-
  6652.       ÑΓß∩ πßΓá¡«ó¬«⌐  Σ½áúá  _IOBIGBUF  ó fp─>_flags.  àß½¿
  6653.       _okbigbuf  αáó¡á  0  ¿½¿  ¼«ñѽ∞  »á¼∩Γ¿  C ¿½¿ L,  Γ«
  6654.       setvbuf() »δΓáÑΓß∩  αẼÑßΓ¿Γ∞ íπΣÑα  ó¡πΓα¿  ßÑú¼Ñ¡Γá
  6655.       ñá¡¡δσ.  üπΣÑα, αẼÑΘÑ¡¡δ⌐ »«ßαÑñßΓó«¼ setvbuf(), »«-
  6656.       ¼ÑτáÑΓß∩ πßΓá¡«ó¬«⌐ Σ½áúá _IOMYBUF ó fp─>flags.  æ¼«Γ-
  6657.       α¿ΓÑ »áαáúαáΣ »«ñ ¡áºó᡿Ѽ  â½«íá½∞¡δÑ ÅÑαѼѡ¡δÑ ñ½∩
  6658.       í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ »« _okbigbuf.
  6659.  
  6660.     Åáαá¼ÑΓαδ Σπ¡¬µ¿¿ ß½ÑñπεΘ¿Ñ:
  6661.  
  6662.       fp      ô¬áºáΓѽ∞ ¡á »«Γ«¬,  ¬«Γ«αδ⌐ πªÑ «Γ¬αδΓ,  ¡« ó
  6663.               ¬«Γ«α«¼ ÑΘÑ ¡Ñ í佫  ¡¿¬á¬¿σ  «»Ñαᵿ⌐  τΓÑ¡¿∩
  6664.               ¿½¿ ºá»¿ß¿.
  6665.  
  6666.       buf     ô¬áºáΓѽ∞ ¡á íπΣÑα  ¿½¿  NULL.  àß½¿  NULL, Γ«
  6667.               setvbuf() ¿ß»«½∞ºπÑΓ  malloc() ¿½¿ farmalloc(),
  6668.               τΓ«íδ  »«»δΓáΓ∞ß∩  αẼÑßΓ¿Γ∞  íπΣÑα  αẼÑα«¼
  6669.               size íá⌐Γ. àß½¿ buf ¡Ñ αáóÑ¡ NULL, «¡ π¬áºδóá-
  6670.               ÑΓ ¡á íπΣÑα, ¬«Γ«αδ⌐ setvbuf() íπñÑΓ ßó∩ºδóáΓ∞
  6671.               ß »«Γ«¬«¼ fp.
  6672.  
  6673.       mode    ÉѪ¿¼; ñ«½ªÑ¡ íδΓ∞ «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
  6674.  
  6675.             _IONBF    ìÑΓ íπΣÑα¿ºáµ¿¿.  Åáαá¼ÑΓαδ buf ¿ size
  6676.                       ¿ú¡«α¿απεΓß∩. ìÑíπΣÑਧ«óá¡¡δ⌐ óó«ñ/óδ-
  6677.                       ó«ñ «º¡áτáÑΓ,  τΓ«  ºá»¿ßá¡¡δÑ  ñá¡¡δÑ
  6678.                       ¡Ñ¼Ññ½Ñ¡¡« »ÑαÑñáεΓß∩ ó DOS. è«úñá ñá¡-
  6679.                       ¡δÑ   τ¿ΓáεΓß∩,   ßτ¿ΓδóáÑΓß∩  ßΓ«½∞¬«,
  6680.                       ß¬«½∞¬« ΓαÑíπÑΓß∩.
  6681.  
  6682.             _IOLBF    éδ»«½¡∩ÑΓß∩  ßΓα«τ¡á∩ íπΣÑα¿ºáµ¿∩. ÉÑ-
  6683.                       á½∞¡«  óó«ñ/óδó«ñ  óδ»«½¡∩ÑΓß∩,  ¬«úñá
  6684.                       τ¿ΓáÑΓß∩ ¿½¿ ºá»¿ßδóáÑΓß∩ ¡«óá∩ ßΓ᫬á.
  6685.  
  6686.             _IOFBF    Å«½¡á∩ íπΣÑα¿ºáµ¿∩. äá¡¡δÑ ßτ¿ΓδóáεΓß∩
  6687.                       ßαáºπ µÑ½δ¼ íπΣÑα«¼.  äá¡¡δÑ ºá»¿ßδóá-
  6688.                       εΓß∩ Γ«½∞¬« »« ºá»«½¡Ñ¡¿ε íπΣÑαá.
  6689.  
  6690.       size    àß½¿ buf αáóÑ¡ NULL,  Γ« size - φΓ« τ¿ß½« íá⌐-
  6691.               Γ«ó αẼÑΘáѼ«ú«  íπΣÑαá.  àß½¿  buf  ¡Ñ αáóÑ¡
  6692.               NULL,  Γ« size ñ«½ªÑ¡ íδΓ∞ τ¿ß½«¼ íá⌐Γ«ó ó íπ-
  6693.               ΣÑαÑ, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ buf.
  6694.  
  6695.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6696.  
  6697.       Åα¿ πß»ÑΦ¡«¼  ºáóÑαΦÑ¡¿¿  αẽ¿τ¡δÑ  »«½∩,  ¡á ¬«Γ«αδÑ
  6698.       ßßδ½áÑΓß∩ fp, ¼«ñÑα¡¿º¿απεΓß∩,  τΓ«íδ π¬áºδóáΓ∞ ¡á íπ-
  6699.       ΣÑα ¿ ó«ºóαáΘáÑΓß∩ 0. àß½¿ ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ »«ñ íπ-
  6700.       ΣÑα ¿½¿ »áαá¼ÑΓα mode ¡Ññ«»πßΓ¿¼, ó«ºóαáΘáÑΓß∩ ¡Ñ¡π½Ñ-
  6701.       ó«Ñ º¡áτÑ¡¿Ñ.
  6702.  
  6703.  
  6704.    Åα¿¼Ñα:
  6705.  
  6706.       #include <stdio.h>
  6707.       main(argc, argv)
  6708.       int argc;
  6709.       char *argv[];
  6710.       {
  6711.         FILE *fp;
  6712.         static char buf [100];
  6713.                        /* ßñѽáѼ stdprn ¡ÑíπΣÑਧ«óá¡¡δ¼ */
  6714.         setvbuf(srdprn, NULL, _IONBF, 0);
  6715.         fprintf(stdprn, "unbuffered\n");
  6716.         if (argc == 2)              /* ÑßΓ∞ «ñ¿¡ áαúπ¼Ñ¡Γ */
  6717.             fp = fopen(argv[1], "w");
  6718.         else
  6719.             fp = stdout;  /* ¿ß»«½∞ºπѼ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ */
  6720.         if (setvbuf(fp,buf,_IOLBF,sizeof(buf)))
  6721.             printf("setvbuf ßαáí«Γá½ ¡Ñπñáτ¡«\n");
  6722.         else
  6723.           {
  6724.             fprintf(fp, "¥Γ« »ÑαÑñáÑΓß∩ ó fp\n");
  6725.             fclose(fp);
  6726.           }
  6727.       }
  6728.  
  6729.    ÉѬ«¼Ñ¡ñᵿ∩:
  6730.  
  6731.       æ¼«Γα¿ΓÑ ΓᬪѠsetbuf.
  6732.  
  6733.  
  6734. signal                          ôæÆÇìÄéêÆ£ ÉàÇèûê₧ ìÇ æêâìÇï
  6735.  
  6736.    êß»«½∞º«óá¡¿Ñ:
  6737.  
  6738.       #include <signal.h>
  6739.       void (*signal(int sig, void (*func)(int)))(int);
  6740.  
  6741.    Ä»¿ßá¡¿Ñ:
  6742.  
  6743.       öπ¡¬µ¿∩  signal  »«ºó«½∩ÑΓ  »α«úαἼѠ «»αÑñѽ¿Γ∞, ¬á¬
  6744.       ß½ÑñπÑΓ «íαáíáΓδóáΓ∞ ß¿ú¡á½δ «Γ «»Ñαᵿ«¡¡«⌐  ß¿ßΓѼδ.
  6745.       Çαúπ¼Ñ¡Γ sig ñ«½ªÑ¡ íδΓ∞ «ñ¡«⌐ ¿º ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ :
  6746.  
  6747.          SIGABRT       ìÑ¡«α¼á½∞¡«Ñ ºáóÑαΦÑ¡¿Ñ
  6748.  
  6749.          SIGFPE        ÄΦ¿í¬á áα¿Σ¼ÑΓ¿¬¿ ß »½áóáεΦÑ⌐ Γ«τ¬«⌐
  6750.  
  6751.          SIGILL        ìÑóÑα¡á∩ ¿¡ßΓαπ¬µ¿∩ (¬«¼á¡ñá ûÅ)
  6752.  
  6753.          SIGINT        ÅαÑαδóá¡¿Ñ CTRL+C
  6754.  
  6755.          SIGSEGV       ìáαπΦÑ¡¿Ñ úαá¡¿µ ßÑú¼Ñ¡Γá
  6756.  
  6757.          SIGTERM       çáóÑαΦÑ¡¿Ñ »« CTRL+break
  6758.  
  6759.       ì¿ªÑ«»¿ßá¡¡δÑ  ¼á¬α«ßδ  «»αÑñѽ∩εΓ º¡áτÑ¡¿∩ ñ½∩  func:
  6760.  
  6761.          SIG_DFL       Äíαáí«Γ¬á ß¿ú¡á½á »« π¼«½τá¡¿ε
  6762.  
  6763.          SIG_IGN       êú¡«α¿α«óá¡¿Ñ ß¿ú¡á½á
  6764.  
  6765.       öπ¡¬µ¿∩  signal  πßΓá¡áó½¿óáÑΓ «ΓóÑΓ ¡á ß¿ú¡á½.  è«úñá
  6766.       ó«º¡¿¬áÑΓ ß¿ú¡á½, ó¡áτá½Ñ αѪ¿¼ «íαáí«Γ¬¿ φΓ«ú« ß¿ú¡á-
  6767.       ½á πßΓá¡áó½¿óáÑΓß∩ ó SIG_DFL, á ºáΓѼ óδºδóáÑΓß∩ Σπ¡¬-
  6768.       µ¿∩  «íαáí«Γ¬¿  ß¿ú¡á½á  func  ¿  Ñ⌐  »ÑαÑñáÑΓß∩ »áαá-
  6769.       ¼ÑΓα sig.
  6770.  
  6771.    Åα¿¼Ñα:
  6772.  
  6773.       #include <stdio.h>
  6774.       #include <signal.h>
  6775.                    /* ¡¿ªÑ ¡áΦá Σπ¡¬µ¿∩ «íαáí«Γ¬¿ ß¿ú¡á½á */
  6776.       void ctrl_break(int val)
  6777.       {
  6778.         signal (SIGINT, SIG_IGN);
  6779.         printf("ä½∩ ºáóÑαΦÑ¡ : ");
  6780.         getch();
  6781.         exit(0);
  6782.       }
  6783.       main()
  6784.       {
  6785.         if (signal(SIGINT,(&ctrl_break)) == SIG_ERR)
  6786.             {
  6787.               perror("ìÑ ß¼«ú πßΓá¡«ó¿Γ∞ SIGINT!");
  6788.               abort();
  6789.             }
  6790.         raise(SIGINT);
  6791.       }
  6792.  
  6793.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6794.  
  6795.       signal ó«ºóαáΘáÑΓ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ func. é«ºóαáΘáÑ-
  6796.       ¼«Ñ º¡áτÑ¡¿Ñ SIG_ERR π¬áºδóáÑΓ ¡á «Φ¿í¬π ¿ errno »α¿ß-
  6797.       óá¿óáÑΓß∩ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ.
  6798.  
  6799.    ÉѬ«¼Ñ¡ñᵿ∩:
  6800.  
  6801.       æ¼«Γα¿ΓÑ ΓᬪѠ raise.
  6802.  
  6803.  
  6804. sin, sinh                       æêìôæ, æêìôæ âêÅàÉüÄïêùàæèêë
  6805.  
  6806.    êß»«½∞º«óá¡¿Ñ:
  6807.  
  6808.       #include <math.h>
  6809.       double sinh(double x);                      /* ANSI */
  6810.       double sin (double x);                      /* ANSI */
  6811.  
  6812.    Ä»¿ßá¡¿Ñ:
  6813.  
  6814.       öπ¡¬µ¿¿ sin ¿ sinh  ó«ºóαáΘáεΓ ß¿¡πß ¿ ú¿»Ñαí«½¿τÑ߬¿⌐
  6815.       ß¿¡πß áαúπ¼Ñ¡Γá x. ä½∩ sin  x ºáñáÑΓß∩ ó αáñ¿á¡áσ.
  6816.  
  6817.    Åα¿¼Ñα:
  6818.  
  6819.       #include <stdio.h>
  6820.       #include <math.h>
  6821.       main()
  6822.       {
  6823.         double x = 4.3, d;
  6824.         d = sin (x);
  6825.         printf("The sine of (%d)is (%d)/\n", x, d);
  6826.         d = sinh(x);
  6827.         printf("The hyperbolic sine of (%d) is (%d)\n",x,d);
  6828.       }
  6829.  
  6830.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6831.  
  6832.       sin ó«ºóαáΘáÑΓ  ß¿¡πß  áαúπ¼Ñ¡Γá x.   sinh  ó«ºóαáΘáÑΓ
  6833.       ú¿»Ñαí«½¿τÑ߬¿⌐ ß¿¡πß áαúπ¼Ñ¡Γá x.
  6834.  
  6835.  
  6836. Sound Package                        Åá¬ÑΓ αáí«Γδ ß« ºóπ¬«¼
  6837.  
  6838.    êß»«½∞º«óá¡¿Ñ:
  6839.  
  6840.       #include <sound.h>
  6841.       void sound_tone(int cycles, int uptime, int dntime);
  6842.       void sound_beep(int freg);
  6843.       void sound_click();
  6844.  
  6845.    Ä»¿ßá¡¿Ñ:
  6846.  
  6847.       sound_tone   úÑ¡Ñα¿απÑΓ Γ«¡á. çáñáεΓß∩ τ¿ß½« µ¿¬½«ó ¿
  6848.                    óαѼѡ¡δÑ ¿¡ΓÑαóá½δ.
  6849.       sound_beep   ºáßΓáó½∩ÑΓ ñ¿¡á¼¿¬ 'úπñÑΓ∞'.
  6850.                  ùáßΓ«Γá 1000 Hz »α¿í½¿º¿Γѽ∞¡« ß««ΓóÑΓßΓóπÑΓ
  6851.                  1331 ñ½∩ »áαá¼ÑΓαá freg.
  6852.       sound_click  ºáßΓáó½∩ÑΓ ñ¿¡á¼¿¬ 'Θѽ¬¡πΓ∞'.
  6853.  
  6854.    Åα¿¼Ñα:
  6855.  
  6856.       #include <stdio.h>
  6857.       #include <sound.h>
  6858.       main()
  6859.       {
  6860.         int cycles=5000, uptime=50, dntime=50, freg=1331;
  6861.         char ch;
  6862.         printf("Sound using sound_click\n");
  6863.         sound_click();
  6864.         printf("Press any key:");
  6865.         ch = getch();
  6866.         printf("\nSound using sound_tone\n");
  6867.         sound_tone(cycles, uptime, dntime);
  6868.         printf("Press any key:");
  6869.         ch = getch();
  6870.         printf("\nSound using sound_beep\n");
  6871.         sound_beep(freg);
  6872.       }
  6873.  
  6874.  
  6875. spawn                                        æÄçäÇÆ£ ÅÉÄûàææ
  6876.  
  6877.    êß»«½∞º«óá¡¿Ñ:
  6878.  
  6879.       #include <process.h>
  6880.       int spawnl(int mode, char *pathname,
  6881.                 char *arg0, *arg1, ... , *argn, NULL);
  6882.       int spawnlp(int mode, char *filename,
  6883.                   char *arg0, *arg1, ... , *argn, NULL);
  6884.       int spawnv(int mode, char *pathname, char *argv[]);
  6885.       int spawnvp(int mode, char *filename, char *argv[]);
  6886.  
  6887.    Ä»¿ßá¡¿Ñ:
  6888.  
  6889.       æ¿ßΓѼ¡δ⌐ ó맮ó  spawn  ß«ºñáÑΓ ¿ ¿ß»«½¡∩ÑΓ ¡«óδ⌐ »α«-
  6890.       µÑßß - »«Γ«¼«¬. ü«½ÑÑ »α«ßΓ« - ºá»π߬áÑΓß∩ ¡«óá∩ »α«ú-
  6891.       αἼᠿ ºáΓѼ ßΓáαá∩ »α«úαἼᠻα«ñ«½ªáÑΓß∩. æ¿ßΓѼ¡δ⌐
  6892.       ó맮ó αáí«ΓáÑΓ »«ñ«í¡« ó맮óπ »«ñ»α«úαá¼¼δ.
  6893.       æ«ºñá¡¿Ñ ¡«ó«ú«  »«ñ»α«µÑßßá ΓαÑíπÑΓ ¡á½¿τ¿∩ ßó«í«ñ¡«⌐
  6894.       »á¼∩Γ¿, ñ«ßΓπ»¡«⌐ ñ½∩ ¿ß»«½¡Ñ¡¿∩ »«α«ªñÑ¡¡«ú« »α«µÑßßá,
  6895.       ¡áα∩ñπ ß Γ«⌐, τΓ« ºá¡∩Γá ΓѬπΘÑ⌐ »α«úαá¼¼«⌐.  æ¼«Γα¿ΓÑ
  6896.       óóÑñÑ¡¿Ñ ó φëàαáºñѽ απ¬«ó«ñßΓóá, úñÑ «»¿ßá¡á αáí«Γá
  6897.       ß »á¼∩Γ∞ε »α¿ ó맮óÑ spawn. ö½áú mode ¿ú¡«α¿απÑΓß∩. Ä¡,
  6898.       ó«º¼«ª¡«,  íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ óÑαß¿∩σ.
  6899.       ä½∩ mode ¿ß»«½∞ºπ⌐ΓÑ º¡áτÑ¡¿Ñ 0.
  6900.       Çαúπ¼Ñ¡Γ  filename  «»αÑñѽ∩ÑΓ  ºá»π߬áѼπε »α«úαá¼¼π.
  6901.       Æ«½∞¬« ñ½∩ spawnlp ¿ spawnvp: Ñß½¿  filename ¡Ñ ß«ñÑα-
  6902.       ª¿Γ ¼áαΦαπΓá ¿ ¡Ñ ¡áσ«ñ¿Γß∩ ó ΓѬπΘѼ ¬áΓὫúÑ, Γ« ñ½∩
  6903.       »«¿ß¬á Σá⌐½á  ¿ß»«½∞ºπÑΓß∩  »ÑαѼѡ¡á∩ «¬απªÑ¡¿∩ PATH.
  6904.       Argv[0]  ¡Ñ »ÑαÑñáÑΓß∩ »«ñ»α«µÑßßπ ¿ ¿ß»«½∞ºπÑΓß∩ ½¿Φ∞
  6905.       ñ½∩  ß«ó¼ÑßΓ¿¼«ßΓ¿,  ¡« ó µÑ½∩σ  »ÑαÑ¡«ß¿¼«ßΓ¿  ñ«½ªÑ¡
  6906.       íδΓ∞ óßÑúñá  ó¬½ετÑ¡. ¥Γ«Γ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞ ¿¼Ñ¡Ñ¼
  6907.       ºá»π߬áѼ«⌐ »α«úαá¼¼δ.
  6908.       è«¼á¡ñ¡á∩ ßΓ᫬á,  »ÑαÑñáóáѼá∩ »«α«ªñáѼ«⌐ »α«úαá¼¼Ñ,
  6909.       ß«ßΓáó½∩ÑΓß∩ ¿º ß¿¼ó«½∞¡δσ ßΓ᫬ ó spawn ó맮óÑ,  »Ñα-
  6910.       óá∩ ßΓ᫬á - φΓ«  arg1  ¿ Γ.ñ.  ÄíΘá∩ ñ½¿¡á φΓ¿σ ßΓ᫬
  6911.       ¡Ñ ñ«½ª¡á »αÑóδΦáΓ∞ 128 ß¿¼ó«½«ó.
  6912.       Çαúπ¼Ñ¡Γ argv, ¿ß»«½∞ºπѼδ⌐ ó ó맮óáσ spawnv ¿ spawnp,
  6913.       ∩ó½∩ÑΓß∩ ¼áß߿󫼠π¬áºáΓѽÑ⌐ ¡á char. Å«ß½Ññ¡¿⌐ π¬áºá-
  6914.       Γѽ∞ ó argv ñ«½ªÑ¡ íδΓ∞ NULL ñ½∩ ¿¡ñ¿¬áµ¿¿ ¬«¡µá ß»¿ß-
  6915.       ¬á.
  6916.  
  6917.    Åα¿¼Ñα:
  6918.  
  6919.       #include <stdio.h>
  6920.       main()
  6921.       {
  6922.         char *args[4];
  6923.         args[0] = "ztc1.exe";
  6924.         args[1] = "stuff";
  6925.         args[2] = "morestuff";
  6926.         args[3] = NULL;
  6927.         if (spawnv(0, "C:ZTC1.EXE", args) == -1)
  6928.             fprintf(stderr, "exec failed!\n");
  6929.       }
  6930.  
  6931.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6932.  
  6933.       é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ñáÑΓ ßΓáΓπß ºáóÑαΦÑ¡¿∩ »«α«ªñÑ¡-
  6934.       ¡«⌐ »α«úαá¼¼δ. ç¡áτÑ¡¿Ñ 0 ú«ó«α¿Γ « Γ«¼, τΓ« »«α«ªñÑ¡-
  6935.       ¡á∩ »α«úαá¼¼á óδ»«½¡¿½áß∞ πß»ÑΦ¡«.  Å«½«ª¿Γѽ∞¡«Ñ º¡á-
  6936.       τÑ¡¿Ñ ú«ó«α¿Γ « Γ«¼,  τΓ« »«α«ªñÑ¡¡á∩ »α«úαἼᠿ߻«½-
  6937.       ¡¿½áß∞,  ¡« íδ½á ßíα«Φѡᠿ½¿ ºáóÑαΦ¿½áß∞ ¿º-ºá «Φ¿í¬¿
  6938.       ¿ß»«½¡Ñ¡¿∩;  ó«ºóαáΘáѼ«Ñ  º¡áτÑ¡¿Ñ  ∩ó½∩ÑΓß∩ ßΓáΓπß«¼
  6939.       ºáóÑαΦÑ¡¿∩ »«α«ªñÑ¡¡«ú« »α«µÑßßá. ÄΓα¿µáΓѽ∞¡«Ñ º¡áτÑ-
  6940.       ¡¿Ñ ú«ó«α¿Γ  « Γ«¼,  τΓ«  »«α«ªñÑ¡¡δ⌐  »α«µÑßß  ¡Ñ íδ½
  6941.       ¿ß»«½¡Ñ¡, ¿ πßΓá¡áó½¿óáÑΓß∩ errno.
  6942.  
  6943.    ÉѬ«¼Ñ¡ñᵿ∩:
  6944.  
  6945.       æ¼«Γα¿ΓÑ ΓᬪѠabort, exit, exec, system.
  6946.  
  6947.  
  6948. sprintf                              öÄÉîÇÆì¢ë é¢éÄä é üôöàÉ
  6949.  
  6950.    êß»«½∞º«óá¡¿Ñ:
  6951.  
  6952.       #include <stdio.h>                          /* ANSI */
  6953.       int sprintf(char *buffer, char *format, ...);
  6954.  
  6955.    Ä»¿ßá¡¿Ñ:  æ¼«Γα¿ΓÑ printf.
  6956.  
  6957.  
  6958. sqrt                                       èéÇäÉÇÆì¢ë èÄÉàì£
  6959.  
  6960.    êß»«½∞º«óá¡¿Ñ:
  6961.  
  6962.       #include <math.h>
  6963.       double sqrt(double x);                      /* ANSI */
  6964.  
  6965.    Ä»¿ßá¡¿Ñ:
  6966.  
  6967.       öπ¡¬µ¿∩ sqrt ó«ºóαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá x.
  6968.       àß½¿ x  «Γα¿µáΓѽ∞¡«Ñ  τ¿ß½«,  Γ« ó«º¡¿¬áÑΓ «Φ¿í¬á «í-
  6969.       ½áßΓ¿ «»αÑñѽѡ¿∩  (domain error).
  6970.  
  6971.    Åα¿¼Ñα:
  6972.  
  6973.       #include <stdio.h>
  6974.       #include <math.h>
  6975.       main()
  6976.       {
  6977.         double x;
  6978.         for (x=1.0; x<=20.0; ++x)
  6979.              printf("The square root of %.4f is %.4f\n",
  6980.                                                 x, sqrt(x));
  6981.       }
  6982.  
  6983.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  6984.  
  6985.       sqrt ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ Γ¿»á double.
  6986.  
  6987.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠexp, log, pow.
  6988.  
  6989.  
  6990. srand                       êìêûêÇïêçÇûꃠæïôùÇëìÄë éàïêùêì¢
  6991.  
  6992.    êß»«½∞º«óá¡¿Ñ:
  6993.  
  6994.       #include <stdlib.h>
  6995.       void srand(unsigned seed);                  /* ANSI */
  6996.  
  6997.    Ä»¿ßá¡¿Ñ:
  6998.  
  6999.       srand ¿¡¿µ¿á½¿º¿απÑΓ  ("ºáßÑóáÑΓ" ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼)
  7000.       úÑ¡ÑαáΓ«α ß½πτá⌐¡δσ τ¿ßѽ (rand()). àß½¿ srand() ¡¿¬«ú-
  7001.       ñá ¡Ñ óδºδóὫß∞,  Γ« »«ñαáºπ¼ÑóáÑΓß∩, τΓ«  óδºδóá½áß∞
  7002.       srand(1).
  7003.  
  7004.    Åα¿¼Ñα:
  7005.  
  7006.       #include <stdio.h>
  7007.       #include <stdlib.h>
  7008.       main()
  7009.       {
  7010.         int i;
  7011.         srand(9);
  7012.         for (i=0; i<20; i++)
  7013.              printf("i: %d rand(): %d\n", i, rand());
  7014.       }
  7015.  
  7016.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7017.  
  7018.       ìÑΓ.
  7019.  
  7020.    ÉѬ«¼Ñ¡ñᵿ∩:
  7021.  
  7022.       æ¼«Γα¿ΓÑ ΓᬪѠrand.
  7023.  
  7024.  
  7025. sscanf                             öÄÉîÇÆì¢ë é¢éÄä êç üôöàÉÇ
  7026.  
  7027.    êß»«½∞º«óá¡¿Ñ:
  7028.  
  7029.       #include <stdio.h>
  7030.       int sscanf(char *buffer, char *format,...); /* ANSI */
  7031.  
  7032.    Ä»¿ßá¡¿Ñ:
  7033.  
  7034.       æ¼«Γα¿ΓÑ Σπ¡¬µ¿ε scanf.
  7035.  
  7036.    Åα¿¼Ñα:
  7037.  
  7038.       #include <stdio.h>
  7039.       char *string = "1.24...";
  7040.       char str[8];
  7041.       float fp;
  7042.       int i;
  7043.       main()
  7044.       {
  7045.         sscanf(string, "%s", str);
  7046.         sscanf(string, "%f", &fp);
  7047.         sscanf(string, "%d", &i);
  7048.         printf("String : %s\n", str);
  7049.         printf("Float : %f\n", fp);
  7050.         printf("Integer : %d\n", i);
  7051.       }
  7052.  
  7053.  
  7054.  
  7055. stat                                     ùêÆÇÆ£ æÆÇÆôæ öÇëïÇ
  7056.  
  7057.    êß»«½∞º«óá¡¿Ñ:
  7058.  
  7059.       #include <sys\stat.h>
  7060.       int stat(char *path, struct stat *buf);
  7061.  
  7062.    Ä»¿ßá¡¿Ñ:
  7063.  
  7064.       öπ¡¬µ¿∩ stat  íÑαÑΓ  ¿¡Σ«α¼áµ¿ε  « Σá⌐½Ñ ¿½¿ ¬áΓὫúÑ,
  7065.       «»αÑñѽѡ¡«¼ »áαá¼ÑΓα«¼ path, ¿ »«¼ÑΘáÑΓ ÑÑ ó ßΓαπ¬Γπ-
  7066.       απ, ¡á ¬«Γ«απε π¬áºδóáÑΓ buf.  Ä»¿ßá¡¿Ñ ßΓαπ¬Γπαδ Γ¿»á
  7067.       stat ß¼«Γα¿ΓÑ ó Σπ¡¬µ¿¿ fstat.
  7068.  
  7069.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7070.  
  7071.       stat  ó«ºóαáΘáÑΓ 0,  Ñß½¿ ¿¡Σ«α¼áµ¿∩ « ß«ßΓ«∩¡¿¿ Σá⌐½á
  7072.       ¿½¿ ¬áΓὫúá ó«ßßΓá¡«ó½Ñ¡á. Åα¿ «Φ¿í¬Ñ Σπ¡¬µ¿∩ ó«ºóαá-
  7073.       ΘáÑΓ -1 ¿ πßΓá¡áó½¿óáÑΓ errno ó ENOENT, τΓ« π¬áºδóáÑΓ
  7074.       ¡á »½«σ«⌐ ¼áαΦαπΓ.
  7075.  
  7076.    ÉѬ«¼Ñ¡ñᵿ∩:
  7077.  
  7078.       æ¼«Γα¿ΓÑ ΓᬪÑ: fstat, filesize.
  7079.  
  7080.          çÇîàùÇìêà:  stat ¿  fstat  ¡Ñ ¼«úπΓ íδΓ∞ óδºóá¡δ ¿º
  7081.                      C++ Σá⌐½á,  »«Γ«¼π  τΓ«  ÑßΓ∞  ¬«¡Σ½¿¬Γ
  7082.                      ¿¼Ñ¡ ¼Ñªñπ Σπ¡¬µ¿Ñ⌐ int stat() ¿ ßΓαπ¬-
  7083.                      Γπα«⌐ struct stat.  àß½¿ éá¼ ¡Ñ«íσ«ñ¿¼δ
  7084.                      φΓ¿  Σπ¡¬µ¿¿,   ¿ß»«½∞º«óá¡¿Ñ   stat.h,
  7085.                      fstat() ¿ stat()  ñ«½ª¡«  íδΓ∞ óδñѽѡ«
  7086.                      ó C Σá⌐½.
  7087.  
  7088.    Åα¿¼Ñα:
  7089.  
  7090.       #include <stdio.h>
  7091.       #include <time.h>
  7092.       #include <sys\stat.h>
  7093.       #include <string.h>
  7094.       #include <stdlib.h>
  7095.       main()
  7096.       {
  7097.         char *date;
  7098.         int ret;
  7099.         struct stat buf;
  7100.         if ((ret = stat("file.dat", &buf))!=0)
  7101.           {
  7102.             fprintf(stderr, "stat failure error .%d", ret);
  7103.             abort();
  7104.           }
  7105.         date = asctime(localtime(&buf.st_ctime));
  7106.         printf("\n %s\n", date);
  7107.         printf("\n %d mode\n", buf.st_mode);
  7108.         printf("\n %ld size\n", buf.st_size);
  7109.       }
  7110.  
  7111.  
  7112. strcat - strdup                           Éáí«Γá ß« ßΓα«¬á¼¿
  7113.  
  7114.    êß»«½∞º«óá¡¿Ñ:
  7115.  
  7116.       #include <string.h>
  7117.       char *strcat(char *string1, const char *string2);
  7118.                                                   /* ANSI */
  7119.       char *strchr(const char *string, int ch);   /* ANSI */
  7120.       int strcmp(const char *string1, const char *string2);
  7121.                                                   /* ANSI */
  7122.       int strcmpl(const char *string1, const char *string2);
  7123.       int *strcpy(char *string1, const char *string2);
  7124.                                                   /* ANSI */
  7125.       size_t strcspn(const char *string1,
  7126.                                        const char *string2);
  7127.                                                   /* ANSI */
  7128.       char *strdup(const char *string);
  7129.  
  7130.    Ä»¿ßá¡¿Ñ:
  7131.  
  7132.       strcat    ä«íáó½∩ÑΓ  ¬«»¿ε   string2  ó  ¬«¡Ñµ  ßΓ᫬¿
  7133.                 string1.  Åਪ½áñ¡á∩  »α«úαἼᠫΓóÑΓßΓóÑ¡¡á
  7134.                 ºá Γ«, τΓ« ó ßΓα«¬Ñ ¿¼ÑÑΓß∩ ñ«ßΓáΓ«τ¡« »α«ßΓ-
  7135.                 αá¡ßΓóá ñ½∩ αẼÑΘÑ¡¿∩  αѺπ½∞ΓáΓá.  öπ¡¬µ¿∩
  7136.                 ó«ºóαáΘáÑΓ string1.
  7137.  
  7138.       strchr    êΘÑΓ »Ñαó«Ñ  »«∩ó½Ñ¡¿Ñ  ½¿ΓÑαδ  ch  ó ßΓ᫬Ñ
  7139.                 string.  é«ºóαáΘáÑΓ  π¬áºáΓѽ∞ ¡á ½¿ΓÑαπ ch.
  7140.                 é«ºóαáΘáÑΓß∩  NULL,  Ñß½¿ ½¿ΓÑαá ó ßΓα«¬Ñ ¡Ñ
  7141.                 ¡á⌐ñÑ¡á. öπ¡¬µ¿∩  strchr  ¿ñÑ¡Γ¿τ¡á  Σπ¡¬µ¿¿
  7142.                 index().
  7143.  
  7144.       strcmp    Å«ß¿¼ó«½∞¡«  ßαáó¡¿óáÑΓ  ñóÑ ßΓ᫬¿,  strcmp
  7145.                 ó«ºóαáΘáÑΓ:
  7146.  
  7147.                    <0,   Ñß½¿ string1 ¼Ñ¡∞ΦÑ string2
  7148.                    =0,   Ñß½¿ string1 αáó¡«  string2
  7149.                    >0,   Ñß½¿ string1 í«½∞ΦÑ string2
  7150.  
  7151.       strcmpl   æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿,  Γαá¬Γπ∩  ½¿ΓÑαδ ¡¿ª-
  7152.                 ¡Ñú« ¿ óÑασ¡Ñú« αÑú¿ßΓαᠬᬠ«ñ¿¡á¬«óδÑ.
  7153.  
  7154.       strcpy    è«»¿απÑΓ ßΓ᫬π  string2 ó string1,  ó¬½ετá∩
  7155.                 ºáóÑαΦáεΘπε ½¿ΓÑαπ '\0'. é«ºóαáΘáÑΓ string1.
  7156.  
  7157.       strcspn   êßß½ÑñπÑΓ ßΓ᫬π string1 ¡á »Ñαó«Ñ »«∩ó½Ñ¡¿Ñ
  7158.                 ½¿ΓÑαδ ¿º ßΓ᫬¿ string2.  é«ºóαáΘáÑΓ  ñ½¿¡π
  7159.                 ¡áτá½∞¡«ú« ßÑú¼Ñ¡Γá ßΓ᫬¿ string1,  ß«ßΓ«∩-
  7160.                 ΘÑú« ¿º ½¿ΓÑα, ¡Ñ ¡á⌐ñÑ¡¡δσ ó ßΓα«¬Ñ string2.
  7161.                 àß½¿ ¡¿ «ñ¡á ¿º ½¿ΓÑα ßΓ᫬¿ string1 ¡Ñ »«∩ó-
  7162.                 ½∩ÑΓß∩ ó string2,  ó«ºóαáΘáÑΓß∩  «íΘá∩ ñ½¿¡á
  7163.                 ßΓ᫬¿ string1 íѺ ºáóÑαΦáεΘÑ⌐ ½¿ΓÑαδ '\0'.
  7164.  
  7165.       strdup    Åα¿ß«Ññ¿¡∩ÑΓ »á¼∩Γ∞ »α¿ »«¼«Θ¿ ó맮óá malloc,
  7166.                 ¬«»¿απÑΓ  ó  ¡ÑÑ ßΓ᫬π  string  ¿ ó«ºóαáΘáÑΓ
  7167.                 π¬áºáΓѽ∞ ¡á »α¿ß«Ññ¿¡Ñ¡¡πε »á¼∩Γ∞.  öπ¡¬µ¿∩
  7168.                 ó«ºóαáΘáÑΓ  NULL,  Ñß½¿ »á¼∩Γ∞ ¡Ñ ¼«ªÑΓ íδΓ∞
  7169.                 «ΓóÑñÑ¡á.
  7170.  
  7171.    Åα¿¼Ñα:
  7172.  
  7173.       #include <stdio.h>
  7174.       #include <string.h>
  7175.       char string1[50] = " 1 Example string ";
  7176.       char string2[50] = " 2 Example string ";
  7177.       char buffer[50] = " Rubbish - string ";
  7178.       main()
  7179.       {
  7180.         printf("strcat example [%s]\n",
  7181.                                   strcat(string1, string2));
  7182.         printf("strchr example [%s]\n",
  7183.                                   strchr(string1, '2'));
  7184.         printf("strcmp example [%d]\n",
  7185.                                   strcmp(string1, string2));
  7186.         printf("strcmpl example [%d]\n",
  7187.                                  strcmpl(string1, string2));
  7188.         printf("strcpy example [%s]\n",
  7189.                                   strcpy(buffer,  string1));
  7190.         printf("strcspn example [%d]\n",
  7191.                                      strcspn(string1, "s"));
  7192.         printf("strdup example [%s]\n", strdup(string2));
  7193.       }
  7194.  
  7195.  
  7196.  
  7197. strerror                       ÅÄïôùêÆ£ êìöÄÉîÇûê₧ Äü Äÿêüèà
  7198.  
  7199.    êß»«½∞º«óá¡¿Ñ:
  7200.  
  7201.       #include <string.h>
  7202.       char *strerror(int errornum);               /* ANSI */
  7203.  
  7204.    Ä»¿ßá¡¿Ñ:
  7205.  
  7206.       ÄΓ«íαáªáÑΓ  errornum  ó ßΓ᫬π  ß««íΘÑ¡¿∩  «í «Φ¿í¬Ñ ¿
  7207.       ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á φΓπ ßΓ᫬π.
  7208.  
  7209.    Åα¿¼Ñα:
  7210.  
  7211.       #include <stdio.h>
  7212.       #include <errno.h>
  7213.       #include <io.h>
  7214.       #include <dos.h>
  7215.       #include <string.h>
  7216.       int fp;
  7217.       main()
  7218.       {
  7219.         errno = 0;
  7220.         if ((fp = open("file", Ä_RDONLY)) == -1)
  7221.           {
  7222.             printf(strerror(errno));
  7223.           }
  7224.         close(fp);
  7225.       }
  7226.  
  7227.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7228.  
  7229.       strerror  ó«ºóαáΘáÑΓ  π¬áºáΓѽ∞ ¡á ßΓ᫬π ß««íΘÑ¡¿∩ «í
  7230.       «Φ¿í¬Ñ.
  7231.  
  7232.    ÉѬ«¼Ñ¡ñᵿ∩:
  7233.  
  7234.       æ¼«Γα¿ΓÑ ΓᬪѠ perror.
  7235.  
  7236.  
  7237. strlen                                     äÇÆ£ äïêìô æÆÉÄèê
  7238.  
  7239.    êß»«½∞º«óá¡¿Ñ:
  7240.  
  7241.       #include <string.h>
  7242.       size_t strlen(char *string);                /* ANSI */
  7243.  
  7244.    Ä»¿ßá¡¿Ñ:
  7245.  
  7246.       é«ºóαáΘáÑΓ ñ½¿¡π ßΓ᫬¿ íѺ ºáóÑαΦáεΘÑ⌐ ½¿ΓÑαδ '\0'.
  7247.  
  7248.    Åα¿¼Ñα:
  7249.  
  7250.       #include <stdio.h>
  7251.       #include <string.h>
  7252.       char *string = "Example string ";
  7253.       size_t result;
  7254.       main()
  7255.       {
  7256.         result=strlen(string);
  7257.         printf("使¡á ßΓ᫬¿: [%s] αáó¡á [%d]\n",
  7258.                                             string, result);
  7259.       }
  7260.  
  7261.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:  é«ºóαáΘáÑΓ ñ½¿¡π ßΓ᫬¿.
  7262.  
  7263.  
  7264. strlwr                           ÅÉêéàæÆê è ìêåìàîô ÉàâêæÆÉô
  7265.  
  7266.    êß»«½∞º«óá¡¿Ñ:
  7267.  
  7268.       #include<string.h>
  7269.       char *strlwr(char *string);
  7270.  
  7271.    Ä»¿ßá¡¿Ñ:
  7272.  
  7273.       ÅαÑ«íαáºπÑΓ  óßÑ ½¿ΓÑαδ  óÑασ¡Ñú«  αÑú¿ßΓαá ó ßΓα«¬Ñ ó
  7274.       ½¿ΓÑαδ ¡¿ª¡Ñú« αÑú¿ßΓαá.
  7275.  
  7276.    Åα¿¼Ñα:
  7277.  
  7278.       #include <stdio.h>
  7279.       #include <string.h>
  7280.       char *string = "Mixed Case String";
  7281.       main()
  7282.       {
  7283.         printf("strlwr Example:[%s]\n", strlwr(string));
  7284.       }
  7285.  
  7286.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7287.  
  7288.       é«ºóαáΘáÑΓß∩ string.
  7289.  
  7290.    æ¼«Γα¿ΓÑ ΓᬪѠ strupr.
  7291.  
  7292.  
  7293. strncat - strpbrk                         Éáí«Γá ß« ßΓα«¬á¼¿
  7294.  
  7295.    êß»«½∞º«óá¡¿Ñ:
  7296.  
  7297.       #include <string.h>
  7298.       char *strncat(char *string1, const char *string2,
  7299.                     size_t n);                    /* ANSI */
  7300.       int strncmp(const char *string1, const char *string2,
  7301.                     size_t n);                    /* ANSI */
  7302.       char *strncpy(char *string1, const char *string2,
  7303.                     size_t n);                    /* ANSI */
  7304.       char *strnset(char *string, int ch, size_t n);
  7305.       char *strpbrk(const char *string1,
  7306.                                        const char *string2);
  7307.                                                   /* ANSI */
  7308.  
  7309.    Ä»¿ßá¡¿Ñ:
  7310.  
  7311.       strncat    ä«íáó½∩ÑΓ  ¼¿¡¿¼π¼ ¿º n  ¿  strlen(string2)
  7312.                  ½¿ΓÑα ó ¬«¡Ñµ ßΓ᫬¿  string1 ¿ »α¿»¿ßδóáÑΓ
  7313.                  ºáóÑαΦáεΘ¿⌐ '\0'.  Å«½∞º«óáΓѽ∞ «ΓóÑτáÑΓ ºá
  7314.                  «íÑß»ÑτÑ¡¿Ñ ñ«ßΓáΓ«τ¡«ú«  ¼ÑßΓá  ó  string1
  7315.                  ñ½∩ αẼÑΘÑ¡¿∩ αѺπ½∞ΓáΓá.  öπ¡¬µ¿∩ ó«ºóαá-
  7316.                  ΘáÑΓ string1.
  7317.  
  7318.       strncmp    æαáó¡¿óáÑΓ n »Ñαóδσ ½¿ΓÑα string2 ¿ string1.
  7319.                  æαáó¡Ñ¡¿Ñ ºáóÑαΦáÑΓß∩ »«ß½Ñ n ½¿ΓÑα ¿½¿ ñ«ß-
  7320.                  Γ¿ªÑ¡¿∩ ¬«¡µá «ñ¡«⌐ ¿º ßΓ᫬. Strncmp ó«ºó-
  7321.                  αáΘáÑΓ:
  7322.  
  7323.                     <0,   Ñß½¿ string1 ¼Ñ¡∞ΦÑ string2;
  7324.                     =0,   Ñß½¿ string1 αáó¡«  string2;
  7325.                     >0,   Ñß½¿ string1 í«½∞ΦÑ string2.
  7326.  
  7327.       strncpy    è«»¿απÑΓ »ÑαóδÑ n ½¿ΓÑα  ßΓ᫬¿  string2  ó
  7328.                  ßΓ᫬𠠠string1.   àß½¿  string2   ñ½¿¡¡ÑÑ
  7329.                  string1,  αѺπ½∞ΓáΓ ¿ß»«½¡Ñ¡¿∩ ¡Ñ íπñÑΓ ºá-
  7330.                  óÑαΦáΓ∞ß∩  '\0'.  àß½¿  ó  string2 ¼Ñ¡∞ΦÑ n
  7331.                  ½¿ΓÑα,  ßΓ᫬á string1 íπñÑΓ ñ«»«½¡Ñ¡á ñ« n
  7332.                  ½¿ΓÑαἿ '\0'. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ string1.
  7333.  
  7334.       strnset    ê¡¿µ¿á½¿º¿απÑΓ ¡Ñ í«½ÑÑ n »Ñαóδσ ½¿ΓÑα ßΓα«-
  7335.                  ¬¿ string  ½¿ΓÑα«⌐  ch.  öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
  7336.                  string.
  7337.  
  7338.       strpbrk    é«ºóαáΘáÑΓ  π¬áºáΓѽ∞ ¡á »Ñαó«Ñ »«∩ó½Ñ¡¿Ñ ó
  7339.                  ßΓα«¬Ñ   string1  ½εí«⌐  ½¿ΓÑαδ  ¿º  ßΓ᫬¿
  7340.                  string2 ½¿í« NULL, Ñß½¿ ¡¿ «ñ¡á ½¿ΓÑαá ßΓα«-
  7341.                  ¬¿ string2 ¡Ñ óσ«ñ¿Γ ó ßΓ᫬π string1.
  7342.  
  7343.    Åα¿¼Ñα:
  7344.  
  7345.       #include <stdio.h>
  7346.       #include <string.h>
  7347.       char string[50] = "Åα¿¼Ñα ßΓ᫬¿";
  7348.       char *string2 = "ä«íáó¿¼ φΓπ ßΓ᫬π";
  7349.       char buffer[50];
  7350.       main()
  7351.       {
  7352.         printf("Åα¿¼Ñα ß strncat [%s]\n",
  7353.                         strncat(string, string2, 50));
  7354.         printf("\n Åα¿¼Ñα ß strncmp [%d]\n",
  7355.                         strncmp(string, string2, 10));
  7356.         printf("\n Åα¿¼Ñα ß strncpy [%s]\n",
  7357.                         strncpy(buffer, string2, 10));
  7358.         printf("\n Åα¿¼Ñα ß strnset [%s]\n",
  7359.                         strnset(string2, 'x', 9));
  7360.         printf("\n Åα¿¼Ñα ß strpbrk [%s]\n",
  7361.                         strpbrk(string2, "s"));
  7362.       }
  7363.  
  7364.  
  7365. strrchr - strset                          Éáí«Γá ß« ßΓα«¬á¼¿
  7366.  
  7367.    êß»«½∞º«óá¡¿Ñ:
  7368.  
  7369.       #include <string.h>
  7370.       char *strrchr(const char *string, int ch);  /* ANSI */
  7371.       char *strrev(char *string);
  7372.       char *strset(char *string, int ch);
  7373.  
  7374.    Ä»¿ßá¡¿Ñ:
  7375.  
  7376.       strrchr()    êΘÑΓ »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ ½¿ΓÑαδ ch ó ßΓα«-
  7377.                    ¬Ñ string ¿ ó«ºóαáΘáÑΓ  π¬áºáΓѽ∞ ¡á ¡Ñú«
  7378.                    ½¿í« NULL,  Ñß½¿  φΓá ½¿ΓÑαá ó ßΓα«¬Ñ «Γ-
  7379.                    ßπΓßΓóπÑΓ.
  7380.  
  7381.       strrev()     îÑ¡∩ÑΓ »«α∩ñ«¬ (»«ß½Ññ«óáΓѽ∞¡«ßΓ∞) ½¿ΓÑα
  7382.                    ó ßΓα«¬Ñ  string ¡á «íαáΓ¡πε,  «ßΓáó½∩∩ ó
  7383.                    ¬«¡µÑ ßΓ᫬¿ ºáóÑαΦáεΘ¿⌐ '\0'. é«ºóαáΘáÑΓ
  7384.                    string.
  7385.  
  7386.       strset()     ê¡¿µ¿á½¿º¿απÑΓ ßΓ᫬π  string ½¿ΓÑα«⌐ ch,
  7387.                    ¡Ñ ¿º¼Ñ¡∩∩  ºáóÑαΦáεΘ¿⌐ '\0'.  é«ºóαáΘáÑΓ
  7388.                    string.
  7389.    Åα¿¼Ñα:
  7390.  
  7391.       #include <stdio.h>
  7392.       #include <string.h>
  7393.       char string[50] = "Åα¿¼Ñα ßΓ᫬¿;
  7394.       char *string2 = "ä«íáó½∩Ѽá∩ ßΓ᫬á;
  7395.       main()
  7396.       {
  7397.         printf("Åα¿¼Ñα »α« strrchr [%s]\n",
  7398.                                 strrchr(string, '¿'));
  7399.         printf("\n Åα¿¼Ñα »α« strrev [%s]\n",
  7400.                                 strrev(string));
  7401.         printf("\n Åα¿¼Ñα »α« strset [%s]\n",
  7402.                                 strset(string2, ' '));
  7403.       }
  7404.  
  7405.  
  7406. strspn                      äÇÆ£ äïêìô æÄéÅÇäÇ₧Öàë ÅÄ俯ÉÄèê
  7407.  
  7408.    êß»«½∞º«óá¡¿Ñ:
  7409.  
  7410.       #include <string.h>
  7411.       size_t strspn(const char *string1,
  7412.                           const char *string2);   /* ANSI */
  7413.  
  7414.    Ä»¿ßá¡¿Ñ:
  7415.  
  7416.       öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ  ñ½¿¡π  ¡áτá½∞¡«ú«  ßÑú¼Ñ¡Γá ßΓ᫬¿
  7417.       string1,  ¬«Γ«αδ⌐  »«½¡«ßΓ∞ε  ß«ßΓ«¿Γ  ¿º ½¿ΓÑα,  ¡á⌐-
  7418.       ñÑ¡¡δσ ó ßΓα«¬Ñ string2.
  7419.  
  7420.    Åα¿¼Ñα:
  7421.  
  7422.       #include <string.h>
  7423.       #include <stdio.h>
  7424.       char *string = "Example";
  7425.       char *cmp = "aEx";
  7426.       main()
  7427.       {
  7428.         int result;
  7429.         printf("使¡á ¡áτá½∞¡«⌐ »«ñßΓ᫬¿ ó ßΓα«¬Ñ [%s],
  7430.                 ß«ñÑαªáΘÑ⌐ [%s]  ½¿ΓÑαδ\n", string, cmp);
  7431.         printf("strspn αáó¡« [%d]\n", strspn(string, cmp));
  7432.       }
  7433.  
  7434.  
  7435.  
  7436. strstr                                       ìÇëÆê ÅÄ俯ÉÄèô
  7437.  
  7438.    êß»«½∞º«óá¡¿Ñ:
  7439.  
  7440.       #include <string.h>
  7441.       char *strstr(const char *string1,
  7442.                           const char *string2);   /* ANSI */
  7443.    Ä»¿ßá¡¿Ñ:
  7444.  
  7445.       öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ßΓα«-
  7446.       ¬¿ string2 ó ßΓ᫬π string1.
  7447.  
  7448.    Åα¿¼Ñα:
  7449.  
  7450.       #include <string.h>
  7451.       #include <stdio.h>
  7452.       char *string = "Åα¿¼Ñα ßΓ᫬¿";
  7453.       char *cmp = "ßΓα";
  7454.       main()
  7455.       {
  7456.         printf("Åα¿¼Ñα ¡á strstr [%s]\n", strstr(string, cmp));
  7457.       }
  7458.  
  7459.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7460.  
  7461.       strstr ó«ºóαáΘáÑΓ NULL,  Ñß½¿ string2 ¡Ñ íδ½á ¡á⌐ñÑ¡á.
  7462.       àß½¿  ñ½¿¡á  ßΓ᫬¿  string2  αáó¡á  0,   ó«ºóαáΘáÑΓß∩
  7463.       string1.
  7464.  
  7465.  
  7466. strtod - strtoul                   ÅÉàÄüÉÇçÄéÇÆ£ êç Ç/û éêäÇ
  7467.  
  7468.    êß»«½∞º«óá¡¿Ñ:
  7469.  
  7470.       #include <stdlib.h>
  7471.       double strtod(char *nptr, char **endptr);   /* ANSI */
  7472.       long strtol(char *nptr, char **endptr, int base);
  7473.                                                   /* ANSI */
  7474.       unsigned long strtoul(const char *nptr,char **endptr,
  7475.                                   int base);      /* ANSI */
  7476.  
  7477.    Ä»¿ßá¡¿Ñ:
  7478.  
  7479.       strtod     ÅαÑ«íαáºπÑΓ ßΓ᫬π ASCII, ¡á ¬«Γ«απε π¬áºδ-
  7480.                  óáÑΓ nptr, ó º¡áτÑ¡¿Ñ Γ¿»á  double. öπ¡¬µ¿∩
  7481.                  ó«ß»α¿¡¿¼áÑΓ  óÑñπΘ¿Ñ  Γáíπ½∩µ¿¿ ¿ »α«íѽδ,
  7482.                  ºáΓѼ ó«º¼«ª¡δ⌐ º¡á¬ ¿ ñá½ÑÑ  ßΓα«¬π µ¿Σα ß
  7483.                  ¡Ñ«í∩ºáΓѽ∞¡«⌐ ñÑß∩Γ¿τ¡«⌐  Γ«τ¬«⌐.  öπ¡¬µ¿∩
  7484.                  strtod ºáóÑαΦáÑΓ  ßτ¿Γδóá¡¿Ñ ßΓ᫬¿ ¡á »Ñα-
  7485.                  ó«⌐ ½¿ΓÑαÑ,  ¡Ñ  ∩ó½∩εΘÑ⌐ß∩  τáßΓ∞ε  τ¿ß½á.
  7486.                  ô¬áºáΓѽ∞ ¡á φΓπ  ½¿ΓÑαπ  íπñÑΓ  ºá»¿ßá¡ »«
  7487.                  áñαÑßπ endptr, Ñß½¿ endptr ¡Ñ αáóÑ¡ NULL.
  7488.  
  7489.       strtol     ÅαÑ«íαáºπÑΓ ASCII ßΓ᫬π, ¡á ¬«Γ«απε π¬áºδ-
  7490.                  óáÑΓ nptr,  ó ñ½¿¡¡«Ñ  (long)  µÑ½«Ñ τ¿ß½«.
  7491.                  öπ¡¬µ¿∩ ó«ß»α¿¡¿¼áÑΓ  óÑñπΘ¿Ñ  "»α«íѽ∞¡δÑ"
  7492.                  ½¿ΓÑαδ ¿ ñá½ÑÑ ßΓα«¬π µ¿Σα ß ó«º¼«ª¡δ¼ º¡á-
  7493.                  ¬«¼. öπ¡¬µ¿∩ strtol »αѬαáΘáÑΓ τΓÑ¡¿Ñ ßΓα«-
  7494.                  ¬¿ ¡á »Ñαó«⌐  ½¿ΓÑαÑ,  ¡Ñ ∩ó½∩εΘÑ⌐ß∩ τáßΓ∞ε
  7495.                  ºá»¿ß¿ τ¿ß½á. ô¬áºáΓѽ∞ ¡á φΓπ ½¿ΓÑαπ íπñÑΓ
  7496.                  ºá»¿ßá¡ »« áñαÑßπ  endptr,  Ñß½¿  endptr ¡Ñ
  7497.                  NULL.
  7498.  
  7499.                  àß½¿  »áαá¼ÑΓα  base  («ß¡«óá¡¿Ñ)  αáóÑ¡ 0,
  7500.                  »Ñαóá∩ ½¿ΓÑαá  »«ß½Ñ  ¡Ñ«í∩ºáΓѽ∞¡«ú« º¡á¬á
  7501.                  íπñÑΓ «»αÑñѽ∩Γ∞ «ß¡«óá¡¿Ñ  »αÑ«íαẫóá¡¿∩.
  7502.                  àß½¿ φΓá »Ñαóá∩  ½¿ΓÑαá '0',  á óΓ«αá∩ - ¡Ñ
  7503.                  'x' ¿½¿ 'X',  Γ« Γá¬á∩ ßΓ᫬á ßτ¿ΓáÑΓß∩ ºá-
  7504.                  »¿ß∞ε ó«ß∞¼Ñα¿τ¡«ú«  τ¿ß½á.  àß½¿ ªÑ »Ñαóá∩
  7505.                  ½¿ΓÑαá  αáó¡á '0',  á óΓ«αá∩ - 'x' ¿½¿ 'X',
  7506.                  Γ« Γá¬á∩  ßΓα«¬á  íπñÑΓ  ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ß∩
  7507.                  ¬á¬ ºá»¿ß∞ ΦÑßΓ¡áñµáΓÑα¿τ¡«ú«  τ¿ß½á.  àß½¿
  7508.                  »Ñαóá∩ ½¿ΓÑαá «Γ '1' ñ« '9',  Γ« ßΓα«¬á ¿¡-
  7509.                  ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ ºá»¿ß∞ ñÑß∩Γ¿τ¡«ú« µÑ½«-
  7510.                  ú«. üπ¬óá¼ A-Z ¡¿ª¡Ñú« ¿½¿ óÑασ¡Ñú« αÑú¿ßΓ-
  7511.                  αá (Γ.Ñ.  »α«»¿ß¡δ¼ ¿½¿ ºáú½áó¡δ¼) »α¿ßóá¿-
  7512.                  óáεΓß∩  º¡áτÑ¡¿∩ «Γ 10  ñ« 35.  ÉáºαÑΦáεΓß∩
  7513.                  Γ«½∞¬« ΓÑ ½¿ΓÑαδ,  º¡áτÑ¡¿∩  ¬«Γ«αδσ ¼Ñ¡∞ΦÑ
  7514.                  τѼ base. àß½¿  base ¡Ñ αáó¡« 0, Ñú« º¡áτÑ-
  7515.                  ¡¿Ñ ñ«½ª¡« íδΓ∞ ¼Ñªñπ 2 ¿ 36.
  7516.  
  7517.       strtoul    ÅαÑ«íαáºπÑΓ ASCII ßΓ᫬π, ¡á ¬«Γ«απε π¬áºδ-
  7518.                  óáÑΓ nptr, ó ñÑß∩Γ¿τ¡«Ñ τ¿ß½« Γ¿»á unsigned
  7519.                  long.
  7520.                  Ä»¿ßá¡¿Ñ - á¡á½«ú¿τ¡« strtol().
  7521.  
  7522.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7523.  
  7524.       strtod     àß½¿ ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ  óδºδóáÑΓ »ÑαÑ»«½-
  7525.                  ¡Ñ¡¿Ñ,  ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡á¬á ó«ºóαáΘáÑΓß∩
  7526.                  »½εß ¿½¿ ¼¿¡πß HUGE_VAL  ¿ errno πßΓá¡áó½¿-
  7527.                  óáÑΓß∩ ó ERANGE.   àß½¿ ¡Ññ«»πßΓ¿¼á∩ ½¿ΓÑαá
  7528.                  óßΓαÑΓ¿½áß∞ ñ« αáºαÑΦÑ¡¡δσ, ó«ºóαáΘáÑΓß∩ 0.
  7529.                  Åα¿  »«ΓÑαÑ  º¡áτ¿¼«ßΓ¿  ó«ºóαáΘáÑΓß∩  0  ¿
  7530.                  errno πßΓá¡áó½¿óáÑΓß∩ ó ERANGE.
  7531.  
  7532.       strtol     àß½¿ ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ  óδºδóáÑΓ »ÑαÑ»«½-
  7533.                  ¡Ñ¡¿Ñ,  ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡á¬á ó«ºóαáΘáεΓß∩
  7534.                  LONG_MAX  ¿½¿ LONG_MIN ¿ errno πßΓá¡áó½¿óá-
  7535.                  ÑΓß∩ ó  ERANGE.   àß½¿  ¡Ññ«»πßΓ¿¼á∩ ½¿ΓÑαá
  7536.                  óßΓαÑτáÑΓß∩ ñ« αáºαÑΦÑ¡¡δσ, ó«ºóαáΘáÑΓß∩ 0.
  7537.  
  7538.       strtoul    àß½¿ ¬«ααÑ¬Γ¡«Ñ  º¡áτÑ¡¿Ñ óδºδóáÑΓ »ÑαÑ»«½-
  7539.                  ¡Ñ¡¿Ñ,  ó«ºóαáΘáÑΓß∩  º¡áτÑ¡¿Ñ  ULONG_MAX ¿
  7540.                  errno πßΓá¡áó½¿óáÑΓß∩ ó ERANGE.  àß½¿ ¡Ññ«-
  7541.                  »πßΓ¿¼δ⌐ ß¿¼ó«½ óßΓαÑτáÑΓß∩ ñ« αáºαÑΦÑ¡¡δσ,
  7542.                  ó«ºóαáΘáÑΓß∩ 0.
  7543.  
  7544.    ÉѬ«¼Ñ¡ñᵿ∩:
  7545.  
  7546.       æ¼«Γα¿ΓÑ ΓᬪѠ atof, atoi, atol.
  7547.  
  7548.    Åα¿¼Ñα:
  7549.  
  7550.       #include <stdio.h>
  7551.       #include <stdlib.h>
  7552.       char *string, *string2;
  7553.       main()
  7554.       {
  7555.         unsigned long result;
  7556.         long result1;
  7557.         double result2;
  7558.         int base;
  7559.         string = "3.1415926Stop here";
  7560.         result2 = strtod(string,&string2);
  7561.         printf("String [%s] strtod = [%f]\n",
  7562.                                    string, result2);
  7563.         base = 8;
  7564.         string = "1011013";
  7565.         result1 = strtol(string, &string2, base);
  7566.         printf("String [%s] strtol [%ld] (base 8)\n",
  7567.                                             string, result);
  7568.         base = 2;
  7569.         string = "1011013";
  7570.         result = strtoul(string, &string2, base);
  7571.         printf("String [%s] strtoul=[%ld] (base 2)\n",
  7572.                                             string, result);
  7573.       }
  7574.  
  7575.  
  7576. strupr                          ÅÉêéàæÆê è éàÉòìàîô ÉàâêæÆÉô
  7577.  
  7578.    êß»«½∞º«óá¡¿Ñ:
  7579.  
  7580.       #include <string.h>
  7581.       char *strupr(char *string);
  7582.  
  7583.    Ä»¿ßá¡¿Ñ:
  7584.  
  7585.       öπ¡¬µ¿∩ »αÑ«íαáºπÑΓ óßÑ ½¿ΓÑαδ ¡¿ª¡Ñú« αÑú¿ßΓαá ßΓ᫬¿
  7586.       string ó ß««ΓóÑΓßΓóπεΘ¿Ñ ½¿ΓÑαδ óÑασ¡Ñú« αÑú¿ßΓαá.
  7587.  
  7588.    Åα¿¼Ñα:
  7589.  
  7590.       #include <stdio.h>
  7591.       #include <string.h>
  7592.       char *string = "æΓ᫬á é Éạδσ ÉÑú¿ßΓαáσ";
  7593.       main()
  7594.       {
  7595.         printf("Åα¿¼Ñα ß« strupr [%s]\n", strupr(string));
  7596.       }
  7597.  
  7598.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7599.  
  7600.       öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ string.
  7601.  
  7602.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ strlwr.
  7603.  
  7604.  
  7605. swab                                  ÅÄÅÇÉìÄ ÅÄîàìƒÆ£ üÇëÆ¢
  7606.  
  7607.    êß»«½∞º«óá¡¿Ñ:
  7608.  
  7609.       #include <string.h>
  7610.       void swab(char *source, char *destination, int n);
  7611.  
  7612.    Ä»¿ßá¡¿Ñ:
  7613.  
  7614.       è«»¿απÑΓ n íá⌐Γ«ó ßΓ᫬¿ source,  ¼Ñ¡∩∩ ¼ÑßΓἿ ¬áªñπε
  7615.       »áαπ ß¼Ñª¡δσ íá⌐Γ.  ÅαÑ«íαẫóá¡¡á∩  ßΓα«¬á »«¼ÑΘáÑΓß∩
  7616.       ó ßΓ᫬π destination (¡áº¡áτÑ¡¿Ñ). ûѽ«Ñ τ¿ß½« n ñ«½ª-
  7617.       ¡« íδΓ∞  τÑΓ¡δ¼,  Γᬠ ¬á¬  ß¿¼ó«½δ  ¼Ñ¡∩εΓß∩  ¼ÑßΓἿ
  7618.       »«»áα¡«.
  7619.  
  7620.    Åα¿¼Ñα:
  7621.  
  7622.       #include <stdio.h>
  7623.       #include <string.h>
  7624.       char *string1 = "badefehgjilknm";
  7625.       char *string2 = "..............";
  7626.       main()
  7627.       {
  7628.         swab(string1, string2, 14);
  7629.         printf("string1 [%s] string2 [%s]\n",
  7630.                                      string1, string2);
  7631.       }
  7632.  
  7633.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ: ìÑΓ.
  7634.  
  7635.  
  7636. system                                       ÄüÉÇÖàìêà è DOS
  7637.  
  7638.    êß»«½∞º«óá¡¿Ñ:
  7639.  
  7640.       #include <stdlib.h>
  7641.       int system(char *string);                   /* ANSI */
  7642.  
  7643.    Ä»¿ßá¡¿Ñ:
  7644.  
  7645.       öπ¡¬µ¿∩ system  «íÑß»Ñτ¿óáÑΓ  »ÑαÑñáτπ  ßΓ᫬¿  string
  7646.       ¬«¼á¡ñ¡«¼π »α«µÑßß«απ DOS, ¬á¬ Ñß½¿ íδ φΓá ßΓ᫬á íδ½á
  7647.       ¡áíαá¡á ºá ΓÑନ¡á½«¼. ÆÑ¬πΘá∩ »α«úαἼᠫª¿ñáÑΓ ¬«¡µá
  7648.       ¿ß»«½¡Ñ¡¿∩ ¬«¼á¡ñδ, á ºáΓѼ ó«º«í¡«ó½∩ÑΓ αáí«Γπ.
  7649.  
  7650.       ìÑ ßπΘÑßΓóπÑΓ ß»«ß«íá ñ½∩ «»αÑñѽѡ¿∩ ßΓáΓπßá ºáóÑαΦÑ-
  7651.       ¡¿∩ »α«úαá¼¼, ºá»π߬áѼδσ »« system. àß½¿ éá¼ ΓαÑíπÑΓ-
  7652.       ß∩ ßΓáΓπß ºáóÑαΦÑ¡¿∩,  ¿ß»«½∞ºπ⌐ΓÑ «ñ¡π ¿º Σπ¡¬µ¿⌐ »«-
  7653.       α«ªñÑ¡¿∩ (spawn).
  7654.  
  7655.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7656.  
  7657.       àß½¿ ¡Ññ«ßΓáΓ«τ¡«  ßó«í«ñ¡«⌐ »á¼∩Γ¿ ñ½∩ ºáúαπº¬¿ ¿ ºá-
  7658.       »π߬á COMMAND.COM ¿½¿ COMMAND.COM ¡Ñ ¡á⌐ñÑ¡á,  ó«ºóαá-
  7659.       ΘáÑΓß∩ -1, ó »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ 0.
  7660.  
  7661.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ exec, spawn.
  7662.  
  7663.          çá¼ÑΓ¿¼,  τΓ«  Γᬠ ¬á¬ »α¿  ¿ß»«½∞º«óá¡¿¿  Σπ¡¬µ¿¿
  7664.          system  ºáúαπªáÑΓß∩  «Γñѽ∞¡á∩  ¬«»¿∩  COMMAND.COM,
  7665.          Σπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ  íδΓ∞  ¿ß»«½∞º«óá¡á  ñ½∩ πßΓá¡«ó¬¿
  7666.          »ÑαѼѡ¡δ󠫬απªÑ¡¿∩ ΓѬπΘÑú« «¬απªÑ¡¿∩ (Γ.Ñ. «¬απ-
  7667.          ªÑ¡¿∩ ¡á ¼«¼Ñ¡Γ ¿ß»«½¡Ñ¡¿∩ »α«úαá¼¼δ) ß »«¼«Θ∞ε ¬«-
  7668.          ¼á¡ñδ SET.  ìá»α¿¼Ñα, Σαáú¼Ñ¡Γ »α«úαá¼¼δ:
  7669.  
  7670.               system("SET ABC=DEF");
  7671.  
  7672.      ¡Ñ íπñÑΓ ¿¼ÑΓ∞ »«½Ñº¡«ú« ñÑ⌐ßΓó¿∩.
  7673.  
  7674.    Åα¿¼Ñα:
  7675.  
  7676.       #include <stdlib.h>
  7677.       main()
  7678.       {
  7679.         system("set >>path.log");
  7680.         system("cls");
  7681.         system("type path.log");
  7682.         system("pause");
  7683.         system("erase path.log");
  7684.         system("cls");
  7685.         system("ver");
  7686.         system("pause");
  7687.         system("cls");
  7688.         system("dir /w");
  7689.       }
  7690.  
  7691.  
  7692. tan, tanh                   ÆÇìâàìæ, ÆÇìâàìæ âêÅàÉüÄïêùàæèêë
  7693.  
  7694.    êß»«½∞º«óá¡¿Ñ:
  7695.  
  7696.       #include <math.h>
  7697.       double tan(double x);                       /* ANSI */
  7698.       double tanh(double x);                      /* ANSI */
  7699.  
  7700.    Ä»¿ßá¡¿Ñ:
  7701.  
  7702.       ¥Γ¿ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ Γá¡úѡߠ(tan) ¿ ú¿»Ñαí«½¿τÑ߬¿⌐
  7703.       Γá¡úѡߠ(tanh) áαúπ¼Ñ¡Γá x, ¿º¼Ñα∩Ѽ«ú« ó αáñ¿á¡áσ.
  7704.  
  7705.    Åα¿¼Ñα:
  7706.  
  7707.       #include <stdio.h>
  7708.       #include <math.h>
  7709.       main()
  7710.       {
  7711.         double d = .45987;
  7712.         printf("The tangent of .45987 is [%f]\n", tan(d));
  7713.         d = .495287;
  7714.         printf("The hyperbolic tan  of .495287 is [%f]\n",
  7715.                                                    tanh(d));
  7716.       }
  7717.  
  7718.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7719.  
  7720.       öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ  Γá¡úѡߠ½¿í«  ú¿»Ñαí«½¿τÑ߬¿⌐ Γá¡-
  7721.       úѡߠx.
  7722.  
  7723.  
  7724. time                                            äÇÆ£   éÉàîƒ
  7725.  
  7726.    êß»«½∞º«óá¡¿Ñ:
  7727.  
  7728.       #include <time.h>
  7729.       time_t time(time_t *timeptr);               /* ANSI */
  7730.  
  7731.    Ä»¿ßá¡¿Ñ:
  7732.  
  7733.       öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩ ó ßѬπ¡ñáσ, »α«-
  7734.       ΦÑñΦÑÑ ß 00:00:00  1 ∩¡óáα∩ 1970 ú«ñá ¿ ºá»¿ßδóáÑΓ φΓ«
  7735.       º¡áτÑ¡¿Ñ ó *timeptr, Ñß½¿ timeptr ¡Ñ αáóÑ¡ NULL.
  7736.  
  7737.    Åα¿¼Ñα:
  7738.  
  7739.       #include <time.h>
  7740.       #include <stdio.h>
  7741.       main()
  7742.       {
  7743.         time_t ntime;
  7744.         time(&ntime);
  7745.         printf("éαѼ∩: %s\n", ctime(&ntime));
  7746.       }
  7747.  
  7748.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7749.  
  7750.       öπ¡¬µ¿∩  time  ó«ºóαáΘáÑΓ  τ¿ß½«  ßѬπ¡ñ,  »α«ΦÑñΦ¿σ ß
  7751.       00:00:00 1 ∩¡óáα∩ 1970 ú«ñá.
  7752.  
  7753.  
  7754.    ÉѬ«¼Ñ¡ñᵿ∩:
  7755.  
  7756.       æ¼«Γα¿ΓÑ ΓᬪѠ ctime, asctime, localtime, mktime.
  7757.  
  7758.  
  7759. toascii, tolower, toupper                          B ASCII,
  7760.                            B ìêåìêë,
  7761.    êß»«½∞º«óá¡¿Ñ:                                  B éàÉòìêë
  7762.  
  7763.       #include <ctype.h>
  7764.       int toascii(int c);
  7765.       int tolower(int c);                         /* ANSI */
  7766.       int toupper(int c);                         /* ANSI */
  7767.  
  7768.    Ä»¿ßá¡¿Ñ:
  7769.  
  7770.       toascii    Åα¿¡¿¼áÑΓ ½εí«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ ¿ ßíαáßδóáÑΓ
  7771.                  ó 0 óßÑ, ¬α«¼Ñ 7 ¼½áñΦ¿σ αáºα∩ñ«ó,  «»αÑñÑ-
  7772.                  ½∩εΘ¿σ ASCII ½¿ΓÑαπ.
  7773.  
  7774.                  àß½¿  c  πªÑ ¿¼ÑÑΓ »αáó¿½∞¡«Ñ º¡áτÑ¡¿Ñ, «¡«
  7775.                  ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼.
  7776.  
  7777.       tolower    ÅαÑ«íαáºπÑΓ ½εí«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ c ó ñ¿á»á-
  7778.                  º«¡Ñ «Γ A ñ« Z ó »α«»¿ß¡πε ½¿ΓÑαπ.
  7779.  
  7780.       toupper    ÅαÑ«íαáºπÑΓ µÑ½«Ñ  º¡áτÑ¡¿Ñ  c  ó ñ¿á»áº«¡Ñ
  7781.                  «Γ a ñ« z ó ºáú½áó¡πε ½¿ΓÑαπ.
  7782.  
  7783.       ¥Γ¿ Σπ¡¬µ¿¿ αÑ὿ºπεΓß∩  ¬á¬  ¼á¬α«ßδ,  «»αÑñѽѡ¡δÑ ó
  7784.       ctype.h; «¡¿ ó¬½ετÑ¡δ ¿ ó í¿í½¿«ΓѬπ Σπ¡¬µ¿⌐, ¬á¬ Σπ¡¬-
  7785.       µ¿¿.  àß½¿ φΓ¿ ¼á¬α«ßδ ¡Ñ «»αÑñÑ½Ñ¡δ ¿ Σá⌐½ ctype.h ¡Ñ
  7786.       ó¬½ετÑ¡ ó »α«úαá¼¼π,  íπñπΓ  ¿ß»«½∞º«óá¡δ í¿í½¿«ΓÑτ¡δÑ
  7787.       Σπ¡¬µ¿¿.
  7788.  
  7789.    Åα¿¼Ñα:
  7790.  
  7791.       #include <ctype.h>
  7792.       #include <stdio.h>
  7793.       main()
  7794.       {
  7795.         printf("çáú½áó¡á∩ ½¿ΓÑαá [%c]\n", toupper(0x6d));
  7796.         printf("Åα«»¿ß¡á∩ ½¿ΓÑαá [%c]\n", tolower(0x4d));
  7797.         printf("æñѽáѼ ascii ½¿ΓÑαπ [%c]\n",toascii(0x0e));
  7798.       }
  7799.  
  7800.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7801.  
  7802.       toascii    é«ºóαáΘáÑΓ 7 ¼½áñΦ¿σ αáºα∩ñ«ó  c.
  7803.  
  7804.       tolower    é«ºóαáΘáÑΓ c, »αÑ«íαẫóá¡¡«Ñ  ó  »α«»¿ß¡πε
  7805.                  ½¿ΓÑαπ, Ñß½¿ «¡«  í佫  ºáú½áó¡«⌐  ½¿ΓÑα«⌐.
  7806.                  é »α«Γ¿ó¡«¼ ß½πτáÑ  c  ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ-
  7807.                  ¡Ñ¡¡δ¼.
  7808.  
  7809.       toupper    é«ºóαáΘáÑΓ c,  »αÑ«íαẫóá¡¡«Ñ  ó ºáú½áó¡πε
  7810.                  ½¿ΓÑαπ,  Ñß½¿ «¡«  í佫  ßΓα«τ¡«⌐  ½¿ΓÑα«⌐.
  7811.                  é »α«Γ¿ó¡«¼ ß½πτáÑ  c  ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ-
  7812.                  ¡Ñ¡¡δ¼.
  7813.  
  7814.  
  7815. ungetc                                     éÄçéÉÇÆêÆ£ ïêÆàÉô
  7816.  
  7817.    êß»«½∞º«óá¡¿Ñ:
  7818.  
  7819.       #include <stdio.h>
  7820.       int ungetc (int c, FILE *fp);               /* ANSI */
  7821.  
  7822.    Ä»¿ßá¡¿Ñ:
  7823.  
  7824.       öπ¡¬µ¿∩  ungetc ó«ºóαáΘáÑΓ ½¿ΓÑαπ  c  ó« óσ«ñ¡«⌐ »«Γ«¬
  7825.       fp, «Γ¬πñá ßτ¿ΓδóáÑΓß∩  ß½ÑñπεΘÑ⌐  «»ÑαᵿÑ⌐  óó«ñá ¿º
  7826.       »«Γ«¬á. àß½¿ ¼Ñªñπ óδ»«½¡Ñ¡¿Ñ¼ Σπ¡¬µ¿¿ ungetc() ¿ »«ß-
  7827.       ½ÑñπεΘ¿¼ τΓÑ¡¿Ñ¼ óδ»«½¡∩½áß∞ Σπ¡¬µ¿∩ fseek(),  ó«ºóαá-
  7828.       ΘÑ¡¡á∩  ½¿ΓÑαá  ΓÑα∩ÑΓß∩.  îѪñπ  τΓÑ¡¿∩¼¿  ¼«ªÑΓ íδΓ∞
  7829.       ó«ºóαáΘÑ¡á Γ«½∞¬« «ñ¡á  ½¿ΓÑαá.  Åਧ¡á¬  ¬«¡µá  Σá⌐½á
  7830.       EOF ¡Ñ ¼«ªÑΓ íδΓ∞ ó«ºóαáΘÑ¡ ó »«Γ«¬.
  7831.  
  7832.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7833.  
  7834.       ungetc ó«ºóαáΘáÑΓ ß¿¼ó«½  c  ó ß½πτáÑ  πß»Ñσá,  ¿ EOF,
  7835.       Ñß½¿ ß¿¼ó«½ ¡Ñ ¼«ªÑΓ íδΓ∞ ó«ºóαáΘÑ¡.
  7836.  
  7837.    ÉѬ«¼Ñ¡ñᵿ∩:
  7838.  
  7839.       æ¼«Γα¿ΓÑ ΓᬪѠ getc, getchar, putc, putchar.
  7840.  
  7841.    Åα¿¼Ñα:
  7842.  
  7843.       #include <stdio.h>
  7844.       #include <ctype.h>
  7845.       main()
  7846.       {
  7847.         char ch;
  7848.         FILE *stream;
  7849.         stream = fopen("file.dat", "r");
  7850.         while ((ch = fgetc(stream)) !=EOF )
  7851.               if (isspace(ch))
  7852.                   break;
  7853.         ungetc(ch, stream);
  7854.         ch = fgetc(stream);
  7855.         fclose(stream);
  7856.       }
  7857.  
  7858.  
  7859. unlink                                          ôäÇïêÆ£ öÇëï
  7860.  
  7861.    êß»«½∞º«óá¡¿Ñ:
  7862.  
  7863.       #include <io.h>
  7864.       int unlink(char *filename);
  7865.  
  7866.    Ä»¿ßá¡¿Ñ:
  7867.  
  7868.      unlink πñá½∩ÑΓ Σá⌐½,  «»αÑñѽ∩Ѽδ⌐ ßΓ᫬«⌐ ¿¼Ñ¡¿ Σá⌐½á.
  7869.  
  7870.    Åα¿¼Ñα:
  7871.  
  7872.       #include <stdio.h>
  7873.       #include <io.h>
  7874.       #include <stdlib.h>
  7875.       main()
  7876.       {
  7877.         int value;
  7878.         char buffer[13];
  7879.         char *result;
  7880.         printf("ìẫó¿ΓÑ πñá½∩Ѽδ⌐ Σá⌐½: ");
  7881.         result = gets(buffer);
  7882.         value = unlink(result);
  7883.         if (value == 0)
  7884.             printf("æΓÑ૨ [% ] ß ñ¿ß¬á\n", result);
  7885.         else
  7886.             printf("ìÑ πñὫß∞ ßΓÑαÑΓ∞ [%s]\n", result);
  7887.       }
  7888.  
  7889.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7890.  
  7891.       Unlink ó«ºóαáΘáÑΓ 0 ó ß½πτáÑ πß»ÑΦ¡«ú« πñá½Ñ¡¿∩ Σá⌐½á,
  7892.       ½¿í« -1 ó ß½πτáѠ󫺡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿;  »α¿ φΓ«¼ πßΓá-
  7893.       ¡áó½¿óáÑΓß∩ errno.
  7894.  
  7895.  
  7896.  
  7897. utime                       êçîàìêÆ£ éÉàîÄäêöêèÇûêê öÇëïÇ
  7898.  
  7899.    êß»«½∞º«óá¡¿Ñ:
  7900.  
  7901.       #include <time.h>
  7902.       int utime (char *path, time_t times[]);
  7903.  
  7904.    Ä»¿ßá¡¿Ñ:
  7905.  
  7906.       Utime ¿º¼Ñ¡∩ÑΓ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á,  «»αÑñѽ∩Ѽ«ú«
  7907.       áαúπ¼Ñ¡Γ«¼  path.  Çαúπ¼Ñ¡Γ  times  ºáñáÑΓ ¡«ó«Ñ óαѼ∩
  7908.       ¼«ñ¿Σ¿¬áµ¿¿ ñ½∩ φΓ«ú« Σá⌐½á.
  7909.       îáßß¿ó óαѼѡ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ »«ß½Ññ¡ÑÑ óαѼ∩ ñ«ßΓπ»á
  7910.       ¿ »«ß½Ññ¡ÑÑ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á ß««ΓóÑΓßΓóÑ¡¡«.Å«ß-
  7911.       ¬«½∞¬π ó MS DOS ¡ÑΓ »«¡∩Γ¿∩ óαѼѡ¿ »«ß½Ññ¡Ñú« ñ«ßΓπ»á,
  7912.       φëàφ½Ñ¼Ñ¡Γ ¿ú¡«α¿απÑΓß∩.  àß½¿ áαúπ¼Ñ¡Γ times, «»αÑ-
  7913.       ñѽ∩εΘ¿⌐  óαѼ∩,  αáóÑ¡ ¡π½ε,  Γ« ¿ß»«½∞ºπÑΓß∩ ΓѬπΘÑÑ
  7914.       óαѼ∩.
  7915.  
  7916.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7917.  
  7918.       Utime ó«ºóαáΘáÑΓ 0 ó ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩, ¿ -1
  7919.       ó ß½πτáѠ󫺡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿; »α¿ φΓ«¼ πßΓá¡áó½¿óáÑΓ-
  7920.       ß∩ errno.
  7921.  
  7922.    ÉѬ«¼Ñ¡ñᵿ∩:
  7923.  
  7924.       æ¼«Γα¿ΓÑ ΓᬪѠtime.
  7925.  
  7926.    Åα¿¼Ñα:
  7927.  
  7928.       #include <time.h>
  7929.       #include <stdio.h>
  7930.       main(int argc, char *argv[])
  7931.       {
  7932.         if (argc ! = 2)
  7933.         {
  7934.         fprintf(stderr, "êß»«½∞º«óá¡¿Ñ:: utime [Σá⌐½.¿¼∩]\n");
  7935.         abort();
  7936.         }
  7937.         if (utime(argv[1], NULL) == -1)
  7938.         {
  7939.         fprintf(stderr, "ìÑ ¼«úπ «í¡«ó¿Γ∞ Σá⌐½ [%s]\n",
  7940.                                               argv[1]);
  7941.             abort();
  7942.         }
  7943.       }
  7944.  
  7945.  
  7946. va_arg - va_start      ÉÇüÄÆÇ æ ÅàÉàîàìì¢î ùêæïÄî ÅÇÉÇîàÆÉÄé
  7947.  
  7948.    êß»«½∞º«óá¡¿Ñ:
  7949.  
  7950.       #include <stdarg.h>
  7951.       type va_arg(va_list arg_ptr, type);         /* ANSI */
  7952.       void va_end(va_list arg_ptr);               /* ANSI */
  7953.       void va_start(va_list arg_ptr, prev_parm);  /* ANSI */
  7954.  
  7955.    Ä»¿ßá¡¿Ñ:
  7956.  
  7957.       ¥Γ¿ ¼á¬α«ßδ ¿ß»«½∞ºπεΓß∩ ñ½∩ Γ«ú«,  τΓ«íδ »«ññÑনóáΓ∞
  7958.       ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó,  ¿ß»«½∞ºπѼδσ ó Σπ¡¬µ¿∩σ ß »ÑαѼѡ-
  7959.       ¡δ¼ τ¿ß½«¼ áαúπ¼Ñ¡Γ«ó (¡á»α¿¼Ñα, ó Σπ¡¬µ¿¿ vprintf).
  7960.  
  7961.       Æ¿» va_list »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß»¿ß«¬ »ÑαѼѡ¡«ú« τ¿ß-
  7962.       ½á áαúπ¼Ñ¡Γ«ó, «»αÑñѽ∩Ѽδ⌐ ó stdarg.h, ó¼ÑßΓÑ ß φΓ¿¼¿
  7963.       ΓαѼ∩ ¼á¬α«ßἿ; φΓ«Γ Γ¿» »«ºó«½∩ÑΓ «íαáíáΓδóáΓ∞ ß»¿ß-
  7964.       ¬¿ áαúπ¼Ñ¡Γ«ó  Σπ¡¬µ¿¿,  ¬«úñá Ñ⌐ ÑΘÑ ¡Ñ¿ºóÑßΓ¡« τ¿ß½«
  7965.       »ÑαÑñáóáѼδσ áαúπ¼Ñ¡Γ«ó.
  7966.  
  7967.       îáßß¿ó  va_list  ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε,  ¡Ñ«íσ«ñ¿¼πε ñ½∩
  7968.       va_arg ¿ va_end.  è«úñá  óδºóá¡¡á∩ Σπ¡¬µ¿∩ óó«ñ¿Γ ß»¿-
  7969.       ß«¬ áαúπ¼Ñ¡Γ«ó, «¡á «íΩ∩ó½∩ÑΓ »ÑαѼѡ¡πε Γ¿»á va_list.
  7970.  
  7971.       öπ¡¬µ¿∩  va_start  óδºδóáÑΓß∩ »Ñαó«⌐ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿
  7972.       ß»¿ß¬á áαúπ¼Ñ¡Γ«ó,  »α¿τѼ arg_ptr π¬áºδóáÑΓ ¡á »Ñαóδ⌐
  7973.       áαúπ¼Ñ¡Γ ó φΓ«¼ ß»¿ß¬Ñ  va_list.  Åáαá¼ÑΓα prev_parm -
  7974.       - »áαá¼ÑΓα, »αÑñΦÑßΓóπεΘ¿⌐  »Ñαó«¼π  áαúπ¼Ñ¡Γπ.  Å«ß½Ñ
  7975.       «íαáΘÑ¡¿∩ ¬ va_start ¬áªñδ⌐ ó맮ó  va_arg  íπñÑΓ íαáΓ∞
  7976.       ñá¡¡δÑ ¡áºóá¡¡«ú«  Γ¿»á ¿º π¬áºá¡¡«ú« ¼ÑßΓá ¿ πóѽ¿τ¿-
  7977.       óáΓ∞ º¡áτÑ¡¿Ñ arg_ptr.
  7978.  
  7979.       va_end ßíαáßδóáÑΓ arg_ptr ó NULL.
  7980.  
  7981.    Åα¿¼Ñα:
  7982.  
  7983.       æ¼«Γα¿ΓÑ vprintf.
  7984.  
  7985.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  7986.  
  7987.       va_arg ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ áαúπ¼Ñ¡Γ.
  7988.       va_start  ¿  va_end αá󡫺¡áτ¡δ void.
  7989.  
  7990.  
  7991. vprintf, vfprintf, vsprintf                  öÄÉîÇÆì¢ë é¢éÄä
  7992.  
  7993.    êß»«½∞º«óá¡¿Ñ:
  7994.  
  7995.       #include <stdio.h>
  7996.       #include <stdarg.h>
  7997.       int vfprintf(FILE *stream, const char *format,
  7998.                          va_list arg_ptr);        /* ANSI */
  7999.       int vprintf(const char *format, va_list arg_ptr);
  8000.                                                   /* ANSI */
  8001.       int vsprintf(char *buffer, const char *format,
  8002.                          va_list arg_ptr);        /* ANSI */
  8003.  
  8004.    Ä»¿ßá¡¿Ñ:
  8005.  
  8006.       ¥Γ¿  Σπ¡¬µ¿¿   á¡á½«ú¿τ¡δ   ß««ΓóÑΓßΓóÑ¡¡«   printf(),
  8007.       fprintf()  ¿  sprintf()  ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ñá¡-
  8008.       ¡δÑ íÑαπΓß∩ ¿º va_list arg_ptr.
  8009.       æ¼«Γα¿ΓÑ á¡á½«ú¿ ñ½∩ Σ«α¼áΓá.
  8010.  
  8011.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  8012.  
  8013.       öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ τ¿ß½« óδóÑñÑ¡¡δσ ½¿ΓÑα »α¿ πß»ÑΦ¡«¼
  8014.       ºáóÑαΦÑ¡¿¿ ¿½¿ «Γα¿µáΓѽ∞¡«Ñ  τ¿ß½«  »α¿ ó«º¡¿¬¡«óÑ¡¿¿
  8015.       «Φ¿í¬¿.
  8016.  
  8017.    ÉѬ«¼Ñ¡ñᵿ∩:
  8018.  
  8019.       æ¼«Γα¿ΓÑ ΓᬪѠ fprintf, printf, sprintf.
  8020.  
  8021.    Åα¿¼Ñα:
  8022.  
  8023.       #include <stdarg.h>
  8024.       #include <stdio.h>
  8025.       varprint(char *format, ...)
  8026.       {
  8027.         va_list arg_ptr;
  8028.         va_start(arg_ptr, format);
  8029.         vprintf(format, arg_ptr);
  8030.         va_end(arg_ptr);
  8031.       }
  8032.       main()
  8033.       {
  8034.         char *string = "STRING";
  8035.         int  hnum = 0xb000;
  8036.         varprint("é맮ó c %s »áα-«¼ ¿ ß %x 16-¼ »áα-¼\n",
  8037.                                              string, hnum);
  8038.         varprint("꽿 íѺ »áαá¼ÑΓα«ó\n");
  8039.       }
  8040.  
  8041.  
  8042. write                                          ÅêæÇÆ£ é öÇëï
  8043.  
  8044.    êß»«½∞º«óá¡¿Ñ:
  8045.  
  8046.       #include <io.h>
  8047.       int write(int fd, void *buffer, unsigned length);
  8048.  
  8049.    Ä»¿ßá¡¿Ñ:
  8050.  
  8051.       öπ¡¬µ¿∩  ºá»¿ßδóáÑΓ  length  íá⌐Γ«ó ¿º íπΣÑαá buffer ó
  8052.       Σá⌐½, «»αÑñѽѡ¡δ⌐ ñÑß¬α¿»Γ«α«¼ Σá⌐½á fd. ¥Γá «»Ñαᵿ∩
  8053.       τ¿ßΓ«  'ñó«¿τ¡á∩' ¿ íѺ  íπΣÑα¿ºáµ¿¿.  ÉÑ὿ºπÑΓß∩ ¬á¬
  8054.       ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ó맮ó DOS.
  8055.  
  8056.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  8057.  
  8058.       öπ¡¬µ¿∩ write ó«ºóαáΘáÑΓ τ¿ß½«  ñÑ⌐ßΓó¿Γѽ∞¡« ºá»¿ßá¡-
  8059.       ¡δσ ó Σá⌐½ íá⌐Γ«ó ¿½¿  -1 »α¿ «Φ¿í¬Ñ, πßΓá¡áó½¿óá∩ »α¿
  8060.       φΓ«¼ errno.
  8061.  
  8062.    Åα¿¼Ñα:
  8063.  
  8064.       #include <io.h>
  8065.       #include <stdio.h>
  8066.       #include <string.h>
  8067.       #include <dos.h>
  8068.       main()
  8069.       {
  8070.         unsigned int fd;
  8071.         char *buffer = "äá¡¡δÑ ñ½∩ ºá»¿ß¿ ó Σá⌐½";
  8072.         unsigned int count;
  8073.         int nwritten;
  8074.         count = strlen(buffer);
  8075.         fd = open("file.dat", O_WRONLY);
  8076.         if (fd == -1)
  8077.             {
  8078.               fputs("ìÑ ¼«úπ «Γ¬αδΓ∞ Σá⌐½", stdout);
  8079.               return;
  8080.             }
  8081.         nwritten = write(fd, buffer, count);
  8082.         printf("\n WRITE:\n%u íá⌐Γ«ó ºá»¿ßá¡« ó Σá⌐½\n",
  8083.                                                   nwritten);
  8084.         close(fd);
  8085.       }
  8086.  
  8087.  
  8088.  
  8089.  
  8090.  
  8091.  
  8092.  
  8093.  
  8094.  
  8095.  
  8096.  
  8097.  
  8098.  
  8099.  
  8100.  
  8101.                                ééàäàìêà  é  ü¢æÆÉô₧  âÉÇöêèô
  8102.                                ─────────────────────────────
  8103.  
  8104.  
  8105.  
  8106.    üδßΓαá∩ úαáΣ¿¬á (FG) ∩ó½∩ÑΓß∩ ¡áí«α«¼ ¿¡ΓÑαΣÑ⌐ß¡δσ úαáΣ¿-
  8107. τÑ߬¿σ »α«µÑñπα ñ½∩ IBM PC (¿ ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼ ¬«¼»∞εΓÑα«ó)
  8108. ó ßαÑñÑ ZORTECH C  ¬«¼»¿½∩Γ«α«ó. ¥Γ¿ »α«µÑñπαδ «»Γ¿¼á½∞¡δ »«
  8109. ߬«α«ßΓ¿ ¿ »á¼∩Γ¿ ¿ í«½∞Φ¿¡ßΓ󫠡ỿßá¡« ¡á áßßѼí½ÑαÑ.  Ä¡¿
  8110. »«ññÑনóáεΓ áñá»ΓÑαδ Γ¿»á Hercules, EGA, CGA, VGA ¿ Toshiba
  8111. 3100.
  8112.    Åα«µÑñπαá ¿¡¿µ¿á½¿ºáµ¿¿  áóΓ«¼áΓ¿τÑ߬¿ αáß»«º¡áÑΓ ¿ ¡áßΓ-
  8113. αá¿óáÑΓß∩ ¡á í«½∞Φ¿¡ßΓó« ßπΘÑßΓóπεΘ¿σ úαáΣ¿τÑ߬¿σ »½áΓ. î«ª-
  8114. ¡« óαπτ¡πε »«ñáó¿Γ∞  (Γ.Ñ. ¡áº¡áτ¿Γ∞ ñαπúπε)  ¡áßΓα«⌐¬π »«ß-
  8115. αÑñßΓó«¼ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩ ½¿í« ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
  8116.    ê¼ÑÑΓß∩ ñóá ¡áí«αá  í¿í½¿«ΓѬ.  Äñ¿¡ ∩ó½∩ÑΓß∩ «Γ½áñ«τ¡δ¼,
  8117. «íÑß»Ñτ¿óáεΘ¿¼ ¬«¡Γα«½∞  ñ«»πßΓ¿¼«ßΓ¿  º¡áτÑ¡¿⌐  Σá¬Γ¿τÑ߬¿σ
  8118. »áαá¼ÑΓα«ó   Σπ¡¬µ¿⌐.   Åα¿  «í¡áαπªÑ¡¿¿  «Φ¿í¬¿  óδºδóáÑΓß∩
  8119. _assert() ß ß««íΘÑ¡¿Ñ¼ «í «Φ¿í¬Ñ.  ¥Γ« «íÑß»Ñτ¿óáÑΓ »«¼«Θ∞ ó
  8120. »«¿ß¬Ñ Γαπñ¡δσ ñ½∩ ½«¬á½¿ºáµ¿¿ «Φ¿í«¬ ó »α«úαá¼¼Ñ.  ÄΓ½áñ«τ-
  8121. ¡δ⌐ óáα¿á¡Γ ΓαÑíπÑΓ ¡Ñ¬«Γ«αδσ ¡Ñí«½∞Φ¿σ ¿ºñÑαªÑ¬ »« ß¬«α«ßΓ¿
  8122. ¿ »á¼∩Γ¿,  »«φΓ«¼π  ñ½∩ »«½¡«ßΓ∞ε  «Γ½áªÑ¡¡«ú«  ¬«ñá ¿¼ÑÑΓß∩
  8123. "í«Ñóá∩" óÑαß¿∩ í¿í½¿«ΓѬ¿.
  8124.    öá⌐½ "fg.h" ñ«½ªÑ¡ ó¬½ετáΓ∞ß∩ ó ¼«ñπ½¿,  ¿ß»«½∞ºπεΘ¿Ñ φΓ¿
  8125. Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ.  ü«½∞Φ¿¡ßΓó« ¿º óδºδóáѼδσ Σπ¡¬µ¿⌐ ∩ó-
  8126. ½∩εΓß∩  ¼á¬α«ßἿ,  »«φΓ«¼π ¿ß»«½∞º«óá¡¿Ñ φΓ«ú« Σá⌐½á «í∩ºá-
  8127. ⥫쭮.
  8128.  
  8129.  
  8130. Ä»αÑñѽѡ¿Ñ íẫó«⌐ ¬««αñ¿¡áΓ¡«⌐ ß¿ßΓѼδ
  8131.  
  8132.    FG ¿ß»«½∞ºπÑΓ »αáó«ßΓ«α«¡¡εε ¬««αñ¿¡áΓ¡πε ß¿ßΓѼπ.
  8133.  
  8134.  
  8135.      y^
  8136.       │                       çñÑß∞ x  ¿  y ∩ó½∩εΓß∩ ¬««αñ¿-
  8137.       │                       ¡áΓἿ »¿¬ßѽÑ⌐.
  8138.       │
  8139.       │
  8140.     0 ┼─────────────────> x
  8141.       0                
  8142.  
  8143. Æ¿»δ »ÑαѼѡ¡δσ
  8144.  
  8145.    fg_coord_t   Æ¿» ñá¡¡δσ ñ½∩ ½εíδ󠬫«αñ¿¡áΓ.
  8146.  
  8147.    fg_box_t     Æ¿»  ñá¡¡δσ  ñ½∩  ¬««αñ¿¡áΓ  «úαá¡¿τ¿óáεΘÑú«
  8148.                 »α∩¼«πú«½∞¡¿¬á  (αἬ¿).  ÉἬᠠñ«½ª¡á íδΓ∞
  8149.                 ¡«α¼á½¿º«óá¡á,  Γ.Ñ. ¬««αñ¿¡áΓá FG_X1 ¼Ñ¡∞ΦÑ
  8150.                 ¿½¿ αáó¡á ¬««αñ¿¡áΓÑ FG_X2, ¬««αñ¿¡áΓá FG_Y1
  8151.                 ¼Ñ¡∞ΦÑ  ¿½¿ αáó¡á  ¬««αñ¿¡áΓÑ  FG_Y2  (í«½ÑÑ
  8152.                 »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε ¼«ª¡« ¡á⌐Γ¿ ó »áαáúαáΣÑ
  8153.                 "è«¡ßΓá¡Γδ  FG").  äαπú¿¼¿  c½«óἿ,  »Ñαóá∩
  8154.                 Γ«τ¬á αἬ¿  ∩ó½∩ÑΓß∩  óßÑúñá  ¡¿ª¡¿¼  ½Ñóδ¼
  8155.                 πú½«¼, á óΓ«αá∩ - óÑασ¡¿¼ »αáóδ¼ πú½«¼.
  8156.  
  8157.    fg_pbox_t    ô¬áºáΓѽ∞ ¡á αἬπ.
  8158.  
  8159.    fg_line_t    Æ¿» ñá¡¡δσ  ñ½∩ ¬««αñ¿¡áΓ  («ΓαѺ¬á)  ½¿¡¿¿.
  8160.                 ä½∩ óδí«α¬¿ ¬««αñ¿¡áΓ  ½¿¡¿⌐ ¿ß»«½∞ºπεΓß∩ ΓÑ
  8161.                 ªÑ ßá¼δÑ ¬«¡ßΓá¡Γδ, τΓ« ¿ ñ½∩ αἫ¬,  ¡« ½¿-
  8162.                 ¡¿¿ ¡Ñ ñ«½ª¡δ ß»Ñµ¿á½∞¡« »«ñóÑαúáΓ∞ß∩ ¡«α¼á-
  8163.                 ½¿ºáµ¿¿ »ÑαÑñ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿∩¼.
  8164.  
  8165.    fg_color_t   Æ¿» ñ½∩ µóÑΓá.
  8166.  
  8167.    fg_pline_t   ô¬áºáΓѽ∞ ¡á ½¿¡¿ε.
  8168.  
  8169.    fg_hangle_t  äÑß¬α¿»Γ«α ß«σαá¡Ñ¡¡«⌐ «í½áßΓ¿ φ¬αá¡á. æ¼«Γ-
  8170.                 α¿ΓÑ fg_save()  ¿  fg_restore().
  8171.  
  8172. è«¡ßΓá¡Γδ FG
  8173.  
  8174.    è«¡ßΓá¡Γδ ¿¼Ñ¡πεΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ß ºáú½áó¡δ¼¿ íπ¬óἿ.
  8175. Ä¡¿ «»αÑñѽ∩εΓß∩ ó Σá⌐½Ñ "fg.h". Ä¡¿ ñ«½ª¡δ óßÑúñá ¿ß»«½∞º«-
  8176. óáΓ∞ß∩ »« ¿¼Ñ¡á¼, á ¡Ñ »« º¡áτÑ¡¿∩¼, »«ñßΓáó½∩Ñ¼δ¼ ó αѺπ½∞-
  8177. ΓáΓÑ «íαáΘÑ¡¿∩ ¬ ¼á¬α«ßá¼,  »«ß¬«½∞¬π ó íπñπΘ¿σ óÑαß¿∩σ úαá-
  8178. Σ¿τÑ߬«ú« »á¬ÑΓá φΓ¿ º¡áτÑ¡¿∩ ¼«úπΓ ¿º¼Ñ¡¿Γ∞ß∩.
  8179.  
  8180.  
  8181. Çñá»ΓÑαδ úαáΣ¿τÑ߬«ú« ñ¿ß»½Ñ∩
  8182.  
  8183.    ì¿ªÑ  »ÑαÑτ¿ß½Ñ¡δ  º¡áτÑ¡¿∩,  ó«ºóαáΘáѼδÑ  fg_init_all()
  8184. (ß¼«Γα¿ΓÑ  «»αÑñѽѡ¿Ñ  fg_init_all()  ñ½∩  í«½ÑÑ  ñÑΓá½∞¡«⌐
  8185. ¿¡Σ«α¼áµ¿¿); ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩ fg_display »«½πτáÑΓ Γ« ªÑ
  8186. ßἫѠº¡áτÑ¡¿Ñ.
  8187.  
  8188.      çÇîàùÇìêà:    fg_init_all()   »δΓáÑΓß∩  «»αÑñѽ¿Γ∞  Γ¿»
  8189.      »«ñ¬½ετÑ¡¡«ú«   úαáΣ¿τÑ߬«ú«  πßΓα«⌐ßΓóá.  é«º¼«ª¡« »Ñ-
  8190.      αÑ«»αÑñѽѡ¿Ñ  φΓ«ú«  Γ¿»á  ó«  óαѼ∩  ¿ß»«½¡Ñ¡¿∩  »«ß-
  8191.      αÑñßΓó«¼  πßΓᡫ󬿠 »ÑαѼѡ¡«⌐  «¬απªÑ¡¿∩   FG_DISPLAY
  8192.      ó  «ñ¡«   ¿º   ¡¿ª¡Ñ»α¿óÑñÑ¡¡δσ   º¡áτÑ¡¿⌐.   ìá»α¿¼Ñα,
  8193.      SET FG_DISPLAY=HERCFULL.
  8194.  
  8195.       FG_NULL      éß∩  úαáΣ¿¬á  ßó«ñ¿Γß∩ ¬ αáí«ΓÑ ß í¿Γ«ó«⌐
  8196.                    ¬áαΓ«⌐.
  8197.  
  8198.       FG_HERCFULL  Hercules "âÑα¬π½Ñß" ¼«¡«σα«¼¡δ⌐ ñ¿ß»½Ñ⌐ ß
  8199.                    2 ñ¿ß»½Ñ⌐¡δ¼¿ ßΓαá¡¿µá¼¿.
  8200.  
  8201.       FG_HERCHALF  Hercules ¼«¡«σα«¼¡δ⌐ ñ¿ß»½Ñ⌐ ß 1 ñ¿ß»½Ñ⌐-
  8202.                    ¡«⌐ ßΓαá¡¿µÑ⌐.
  8203.  
  8204.       FG_EGAECD    IBM EGA  ß αáßΦ¿αÑ¡¡δ¼ (enhanced) µóÑΓ¡δ¼
  8205.                    ñ¿ß»½ÑѼ.
  8206.  
  8207.       FG_EGACOLOR  IBM EGA  ß «íδτ¡δ¼  µóÑΓ¡δ¼  ñ¿ß»½ÑѼ.
  8208.  
  8209.       FG_EGAMONO   IBM EGA  ß ¼«¡«σα«¼¡δ¼  ñ¿ß»½ÑѼ.
  8210.  
  8211.       FG_CGAHIRES  IBM CGA  ó αѪ¿¼Ñ  640*200  »¿¬ßѽÑ⌐.
  8212.  
  8213.       FG_CGAMEDRES IBM CGA  ó αѪ¿¼Ñ  320*200.
  8214.  
  8215.       FG_TOSHIBA   TOSHIBA 3100.
  8216.  
  8217.       FG_8514A       IBM 8514A úαáΣ¿τÑ߬¿⌐ áñá»ΓÑα.
  8218.  
  8219.       FG_VGA11     IBM VGA  ó αѪ¿¼Ñ 0σ11.
  8220.  
  8221.       FG_VGA12     IBM VGA  ó αѪ¿¼Ñ 0σ12.
  8222.  
  8223.       FG_VGA13     IBM VGA  ó αѪ¿¼Ñ 0σ13.
  8224.  
  8225.    äαπú¿Ñ º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ FG_DISPLAY:
  8226.  
  8227.       HERC         HERCULES   ¼«¡«σα«¼¡δ⌐  ñ¿ß»½Ñ⌐ ß 1 ¿½¿ 2
  8228.                    ßΓαá¡¿µá¼¿, (τΓ« πΓ«τ¡∩ÑΓß∩ »α¿ ¿¡¿µ¿á½¿-
  8229.                    ºáµ¿¿ Σπ¡¬µ¿Ñ⌐ fg_init_all().
  8230.  
  8231.  
  8232. ä«ßΓπ» ¬ ¬««αñ¿¡áΓá¼ αἫ¬ ¿ ½¿¡¿⌐
  8233.  
  8234.       FG_X1     êß»«½∞ºπεΓß∩ ó ¬áτÑßΓóÑ ¿¡ñѬ߫ó αἫ¬ ¿ ½¿-
  8235.       FG_Y1     ¡¿⌐, ß¬áªÑ¼, ¬«¡ßΓαπ¬µ¿∩ [FG_X1] «íÑß»Ñτ¿óá-
  8236.       FG_X2     ÑΓ ñ«ßΓπ» ¬ x ¬««αñ¿¡áΓÑ ½Ñó«⌐ ßΓ«α«¡δ αἬ¿.
  8237.       FG_Y2
  8238.  
  8239.        ┌───────────────────────────────────────────────────┐
  8240.        │                                                   │
  8241.        │    ┌──────────┐  ───  y2                ┌─── y2   │
  8242.        │    │          │                        /│         │
  8243.        │    │          │                       / x2        │
  8244.        │    └──────────┘  ───  y1             /            │
  8245.        │    │          │               y1 ───┐             │
  8246.        │    x1         x2                    │             │
  8247.        │                                     x1            │
  8248.        │                                                   │
  8249.        └───────────────────────────────────────────────────┘
  8250.                     FG ¬««αñ¿¡áΓδ αἫ¬ ¿ ½¿¡¿⌐
  8251.  
  8252.    ¥Γ¿ ¬«¡ßΓá¡Γδ, á ¡Ñ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩,  ß½ÑñπÑΓ ¿ß»«½∞-
  8253. º«óáΓ∞ ñ½∩ ñ«ßΓπ»á ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿óá,  τΓ« »«ºó«½∩ÑΓ ¿ºíÑ-
  8254. ªáΓ∞ »α«í½Ñ¼ ß ñ¿ß»½Ñ⌐¡δ¼¿  áñá»ΓÑαἿ, ¿ß»«½∞ºπεΘ¿¼¿ αạδÑ
  8255. ß¿ßΓÑ¼δ ¬««αñ¿¡áΓ.
  8256.  
  8257.  
  8258. îá߬¿
  8259.  
  8260.    îáß«τ¡δÑ ¬«¡ßΓá¡Γδ  »ÑαÑñáεΓß∩ (¬á¬ »áαá¼ÑΓαδ) »«τΓ¿ óßѼ
  8261. Σπ¡¬µ¿∩¼ ñ½∩ ¿¡ñ¿¬áµ¿¿ í¿Γ«óδσ »½«ß¬«ßΓÑ⌐, ñ«ßΓπ»¡δσ ñ½∩ ¿º-
  8262. ¼Ñ¡Ñ¡¿∩.  îá߬ᠿ¼ÑÑΓ ß¼δß½ Γ«½∞¬« ñ½∩ »½áΓ,  »«ññÑনóáεΘ¿σ
  8263. í«½ÑÑ ñóπσ µóÑΓ«ó. ä½∩ »½áΓ Γ¿»á EGA, »«ññÑনóáεΘ¿σ ó αѪ¿-
  8264. ¼Ñ óδß«¬«ú« αáºαÑΦÑ¡¿∩ 16 µóÑΓ«ó «ñ¡«óαѼѡ¡«, ñÑ⌐ßΓó¿Γѽ∞¡δ
  8265. 4 í¿Γá ¼á߬¿, »á¬πѼδÑ ó ¼½áñΦ¿Ñ í¿Γδ.
  8266.    é í«½∞Φ¿¡ßΓóÑ »α¿½«ªÑ¡¿⌐ ¡Ñ«íσ«ñ¿¼ ñ«ßΓπ» ¬« óßѼ Γ«τ¬á¼.
  8267. ¥Γ« «íÑß»Ñτ¿óáÑΓß∩ º¡áτÑ¡¿Ñ¼ ~0. ô»αáó½Ñ¡¿Ñ ñ«ßΓπ»¡«ßΓ∞ε í¿-
  8268. Γ«óδσ »½«ß¬«ßΓÑ⌐ »«ßαÑñßΓó«¼ ¼áß«¬  »«½Ñº¡« ó ß½ÑñπεΘ¿σ ß½π-
  8269. τá∩σ:
  8270.  
  8271.         * àß½¿ ¿¼ÑεΓß∩ 2 í¿Γ«óδσ »½«ß¬«ßΓ¿ (2 í¿Γá/»¿¬ßѽ∞),
  8272.           éδ ¼«ªÑΓÑ α¿ß«óáΓ∞ αẽ¿τ¡δÑ «íαáºδ ¡á ¬áªñ«⌐. êº-
  8273.           ¼Ñ¡∩∩ ºáΓѼ ¬áαΓπ µóÑΓ«ó,  ¼«ª¡« ó¬½ετáΓ∞ ¿ ó䬽ε-
  8274.           τáΓ∞ »½«ß¬«ßΓ¿ ¡Ñºáó¿ß¿¼« ñαπú «Γ ñαπúá,  ß«ºñáóá∩
  8275.           φΣΣÑ¬Γ ¼π½∞Γ¿»½¿¬áµ¿¿.
  8276.  
  8277.         * èπαß«α ¼«ªÑΓ íδΓ∞ ºá»¿ßá¡ ¡á ßó«ε ß«íßΓóÑ¡¡πε »½«ß-
  8278.           ¬«ßΓ∞,  τΓ«  ßñѽáÑΓ  Ñú« ¡Ñºáó¿ß¿¼δ¼ «Γ «ßΓá½∞¡«⌐
  8279.           úαáΣ¿¬¿.
  8280.  
  8281.  
  8282. çỿß∞ αѪ¿¼«ó
  8283.  
  8284.    Äñ¡á ¿º ß½ÑñπεΘ¿σ óѽ¿τ¿¡  »ÑαÑñáÑΓß∩  »«τΓ¿ óßѼ Σπ¡¬µ¿-
  8285. ∩¼ ñ½∩ ¿¡ñ¿¬áµ¿¿ Γ¿»á óδ»«½¡Ñ¡∩Ѽ«⌐ «»Ñαᵿ¿ ¡á φ¬αá¡Ñ.
  8286.  
  8287.    FG_MODE_SET   ÉѪ¿¼ πßΓᡫ󬿠µóÑΓ«ó ó á¬Γ¿ó¡πε  ßΓαá¡¿µπ
  8288.                  ß πτÑΓ«¼ ñÑ⌐ßΓóπεΘÑ⌐ ¼á߬¿.
  8289.    FG_MODE_XOR   ÉѪ¿¼ »α«óÑñÑ¡¿∩ «»Ñαᵿ¿ XOR  (¿ß¬½ετáεΘÑÑ
  8290.                  ¿½¿)  ¡áñ ºá»¿ßá¡¡δ¼ ¿ ºá»¿ßδóáÑ¼δ¼ µóÑΓἿ
  8291.                  ó á¬Γ¿ó¡«⌐ ßΓαá¡¿µÑ.
  8292.  
  8293.    Æ¿»δ ½¿¡¿⌐
  8294.  
  8295.    Äñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐ »«ßΓπ»áÑΓ ¬ Σπ¡¬µ¿∩¼ α¿ß«óá¡¿∩
  8296. ½¿¡¿⌐ ñ½∩ ¿¡ñ¿¬áµ¿¿ Γ¿»á α¿ßπѼ«⌐ ½¿¡¿¿.
  8297.  
  8298.    FG_LINE_SOLID            ß»½«Φ¡á∩
  8299.    FG_LINE_LONG_DASH        ñ½¿¡¡δ⌐ ΦΓα¿σ
  8300.    FG_LINE_MEDIUM_DOTTED    ßαÑñ¡¿⌐ »π¡¬Γ¿α
  8301.    FG_LINE_DASH_DOTTED      ΦΓα¿σ - »π¡¬Γ¿α
  8302.    FG_LINE_MEDIUM_DASHED    ßαÑñ¡¿⌐ ΦΓα¿σ
  8303.    FG_LINE_DASH_W_2_DOTS    ΦΓα¿σ ¿ ñóá »π¡¬Γ¿αá
  8304.    FG_LINE_SHORT_DASH       ¬«α«Γ¬¿⌐ ΦΓα¿σ
  8305.    FG_LINE_DENSE_DOTTED     »½«Γ¡δ⌐ »π¡¬Γ¿α
  8306.    FG_LINE_SPARSE_DOTTED    αÑñ¬¿⌐ »π¡¬Γ¿α
  8307.    FG_LINE_USER_DEFINED     ¥Γ«Γ Γ¿» ½¿¡¿¿ «»αÑñѽ∩ÑΓß∩ »α¿¬-
  8308.                             ½áñ¡«⌐   »α«úαá¼¼«⌐  »«ßαÑñßΓó«¼
  8309.                             fg_setlinepattern().
  8310.    FG_LINE_MAX              îá¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« «ñ¡«óαÑ-
  8311.                             ¼Ñ¡¡« «»αÑñѽѡ¡δσ Γ¿»«ó ½¿¡¿⌐.
  8312.  
  8313. ä«ßΓπ»¡δÑ µóÑΓá
  8314.  
  8315.    ¥Γ¿ º¡áτÑ¡¿∩ »«ßΓπ»áεΓ ¬ Σπ¡¬µ¿∩¼ ó ¬áτÑßΓóÑ  áαúπ¼Ñ¡Γ«ó,
  8316. «»αÑñѽ∩∩ µóÑΓá ½¿¡¿⌐, Γ«τѬ, αἫ¬ ¿ Γ.ñ. êº óßÑú« αạ««í-
  8317. αế∩  úαáΣ¿τÑ߬¿σ  ¼«¡¿Γ«α«ó ¡¿ «ñ¿¡  ¡Ñ  »«ññÑনóáÑΓ  óßÑ
  8318. ¡áºóá¡¡δÑ ¡¿ªÑ µóÑΓá. ìѬ«Γ«αδÑ  »«ññÑনóáεΓ Γ«½∞¬« ñóá. FG
  8319. «»αÑñѽ∩ÑΓß∩ Γá¬, τΓ« íπñÑΓ »αÑñ«ßΓáó½Ñ¡«,  »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ,
  8320. ñóá ¿º φΓ¿σ µóÑΓ«ó, ñ«ßΓπ»¡δσ ¡á óßÑσ »«ññÑনóáѼδσ »½áΓáσ.
  8321. ¥Γ¿ º¡áτÑ¡¿∩ óδí¿αáεΓß∩ »« π¼«½τá¡¿ε.  àß½¿ éδ ¿º¼Ñ¡¿ΓÑ µóÑ-
  8322. Γ«óπε  ¬áαΓπ,  ß¼δß½ φΓ¿σ º¡áτÑ¡¿⌐ ß««ΓóÑΓßΓóÑ¡¡« ¿º¼Ñ¡¿Γß∩.
  8323. éßÑ φΓ¿ º¡áτÑ¡¿∩ ¡Ñ ñÑ⌐ßΓó¿Γѽ∞¡δ ñ« «íαáΘÑ¡¿∩ ¬ fg_init ().
  8324. àß½¿ µóÑΓ ¡Ññ«ßΓπ»Ñ¡,  «¡ πßΓá¡«ó½Ñ¡ ó -1.
  8325.  
  8326.    FG_BLACK              ùÑα¡δ⌐. éßÑúñá ñ«ßΓπ»Ñ¡.
  8327.    FG_BLUE               â«½πí«⌐.
  8328.    FG_GREEN              çѽѡδ⌐.
  8329.    FG_CYAN               û¿á¡ (ÆÑ¼¡«-ß¿¡¿⌐, ß¿¡Ñ-ºÑ½Ñ¡δ⌐).
  8330.    FG_BLUE_GREEN         æ¿¡Ñ-ºÑ½Ñ¡δ⌐. Æ« ªÑ, τΓ« ¿ CYAN.
  8331.    FG_RED                èαáß¡δ⌐.
  8332.    FG_MAGENTA            ö¿«½ÑΓ«óδ⌐.
  8333.    FG_PURPLE             Åπα»πα¡δ⌐. Æ« ªÑ, τΓ« ¿ MAGENTA.
  8334.    FG_WHITE              üѽδ⌐. éßÑúñá ñ«ßΓπ»Ñ¡.
  8335.    FG_GRAY               æÑαδ⌐.
  8336.    FG_LIGHT_BLUE         æóÑΓ½«-ú«½πí«⌐.
  8337.    FG_LIGHT_GREEN        æóÑΓ½«-ºÑ½Ñ¡δ⌐.
  8338.    FG_LIGHT_CYAN         æóÑΓ½δ⌐ µ¿á¡.
  8339.    FG_LIGHT_BLUE_GREEN   æóÑΓ½«-ß¿¡Ñ-ºÑ½Ñ¡δ⌐. Æ« ªÑ, τΓ« ¿
  8340.                          LIGHT_CYAN.
  8341.    FG_LIGHT_RED          æóÑΓ½«-¬αáß¡δ⌐.
  8342.    FG_LIGHT_MAGENTA      æóÑΓ½«-Σ¿«½ÑΓ«óδ⌐.
  8343.    FG_BROWN              è«α¿τ¡Ñóδ⌐.
  8344.    FG_LIGHT_WHITE        æóÑΓ½«-íѽδ⌐.
  8345.    FG_HIGHLIGHT          Äíδτ¡« ¿¡Γѡ߿ó¡δ⌐ íѽδ⌐.
  8346.    FG_COLOR_MAX          îá¬ß¿¼á½∞¡«Ñ τ¿ß½« µóÑΓ«ó, »«ññÑন-
  8347.                          óáѼ«Ñ ½εíδ¼  πßΓα«⌐ßΓó«¼.  æ¼«Γα¿ΓÑ
  8348.                          ΓᬪѠfg_ncolormap ¿ fg_nsimulcolor.
  8349.  
  8350.  
  8351.                        ÄüÖêà  ÅàÉàîàìì¢à
  8352.                        ─────────────────
  8353.  
  8354.    ç¡áτÑ¡¿∩ φΓ¿σ »ÑαѼѡ¡δσ  ¿¼ÑεΓ  ß¼δß½ ó »α«¼ÑªπΓ¬Ñ ¼Ñªñπ
  8355. «íαáΘÑ¡¿∩¼¿ ¬ fg_init() ¿ fg_term().  ¥Γ¿ º¡áτÑ¡¿∩ ¡Ñ ñ«½ª¡δ
  8356. ó φΓ«¼ »α«¼ÑªπΓ¬Ñ  ¼«ñ¿Σ¿µ¿α«óáΓ∞ß∩  »α¿¬½áñ¡δ¼¿ »α«úαἼἿ
  8357. (¿ß¬½ετÑ¡¿Ñ¼ ∩ó½∩εΓß∩ fg_activepage  ¿  fg_displaypage).
  8358.  
  8359.  
  8360. fg_displaybox (èÄÄÉäêìÇÆ¢ ÉÇîèê äêæÅïàƒ)
  8361.  
  8362.    Æ¿»:
  8363.               fg_box_t  fg_displaybox;
  8364.    Ä»¿ßá¡¿Ñ:
  8365.               ÉἬá ñ¿ß»½Ñ∩.
  8366.  
  8367.               (fg_displaybox[FG_X1],   fg_displaybox[FG_Y1])
  8368.               ∩ó½∩εΓß∩ ¬««αñ¿¡áΓἿ ¡¿ª¡Ñú« ½Ñó«ú« πú½á ñ¿ß-
  8369.               »½Ñ∩.
  8370.               (fg_displaybox[FG_X2],   fg_displaybox[FG_Y2])
  8371.               ∩ó½∩εΓß∩  ¬««αñ¿¡áΓἿ  óÑασ¡Ñú«  »αáó«ú« πú½á
  8372.               ñ¿ß»½Ñ∩.
  8373.  
  8374.  
  8375.  
  8376. fg_charbox (èÄÄÉäêìÇÆ¢ ÉÇîèê ïêÆàÉ¢)
  8377.  
  8378.    Æ¿»:
  8379.               fg_box_t  fg_charbox;
  8380.    Ä»¿ßá¡¿Ñ:
  8381.               ÉἬᠽ¿ΓÑαδ.
  8382.  
  8383.               (fg_charbox[FG_X1], fg_charbox[FG_Y1])=(0,0).
  8384.               (fg_charbox[FG_X2], fg_charbox[FG_Y2]) ∩ó½∩εΓ-
  8385.               ß∩ ¬««αñ¿¡áΓἿ  »αáó«ú«  óÑασ¡Ñú«  πú½á αἬ¿
  8386.               ½¿ΓÑαδ.
  8387.  
  8388.  
  8389.  
  8390. fg_ncolormap (ÉÇçîàÉ ÅÇïêÆÉ¢)
  8391.  
  8392.    Æ¿»:
  8393.               int fg_ncolormap;
  8394.    Ä»¿ßá¡¿Ñ:
  8395.               è«½¿τÑßΓó« φ½Ñ¼Ñ¡Γ«ó ó ¬áαΓÑ µóÑΓ«ó.
  8396.    Åα¿¼Ñα:
  8397.               ä½∩ »½áΓδ EGA ß αáßΦ¿αÑ¡¡δ¼ (Enhanced) µóÑΓ¡δ¼
  8398.               ñ¿ß»½ÑѼ  φΓ«  º¡áτÑ¡¿Ñ  αáó¡« 64.  ä½∩  »½áΓδ
  8399.               Hercules «¡« αáó¡« 2.
  8400.  
  8401.  
  8402. fg_nsimulcolor (ùêæïÄ ûéàÆÄé)
  8403.  
  8404.    Æ¿»:
  8405.               int fg_nsimulcolor;
  8406.    Ä»¿ßá¡¿Ñ:
  8407.               ù¿ß½« «ñ¡«óαѼѡ¡« ñ«ßΓπ»¡δσ µóÑΓ«ó,  αáó¡«Ñ 2
  8408.               ó ßΓѻѡ¿ n, úñÑ n - τ¿ß½« í¿Γ ¡á »¿¬ßѽ∞.
  8409.    Åα¿¼Ñα:
  8410.               ä½∩ »½áΓδ EGA  ß αáßΦ¿αÑ¡¡δ¼  µóÑΓ¡δ¼ ñ¿ß»½ÑѼ
  8411.               φΓ« º¡áτÑ¡¿Ñ αáó¡« 16 (4 í¿Γá ¡á »¿¬ßѽ∞). ä½∩
  8412.               »½áΓδ Hercules «¡« αáó¡« 2 (1 í¿Γ ¡á »¿¬ßѽ∞).
  8413.               è«½¿τÑßΓó« í¿Γ ¡á »¿¬ßѽ∞ αáó¡« ¬«½¿τÑßΓóπ í¿-
  8414.               Γ«óδσ »½«ß¬«ßΓÑ⌐.
  8415.  
  8416.  
  8417. fg_pixelx, fg_pixely (ÉÇçîàÉ¢ Åêèæàïƒ)
  8418.  
  8419.    Æ¿»:
  8420.               int fg_pixelx, fg_pixely;
  8421.    Ä»¿ßá¡¿Ñ:
  8422.               Æ¿»¿τ¡á∩ óδß«Γá ¿ Φ¿α¿¡á »¿¬ßѽ∩ ó ¼¿¬α«¼ÑΓαáσ.
  8423.               Å«ß¬«½∞¬π ñ½∩ αÑá½∞¡«ú«  ¼«¡¿Γ«αá φΓ¿ º¡áτÑ¡¿∩
  8424.               »α«úαá¼¼¡« «»αÑñѽ¿Γ∞ ¡Ñ󫺼«ª¡«, «¡¿ ß««ΓóÑΓ-
  8425.               ßΓóπεΓ Γ¿»¿τ¡«¼π¼«¡¿Γ«απ, ¿ß»«½∞ºπѼ«¼π ß φΓ«⌐
  8426.               úαáΣ¿¬«⌐.
  8427.  
  8428.  
  8429. fg_numpages (ùêæïÄ æÆÉÇìêû)
  8430.  
  8431.    Æ¿»:
  8432.               int fg_numpages;
  8433.    Ä»¿ßá¡¿Ñ:
  8434.               è«½¿τÑßΓó« ñ¿ß»½Ñ⌐¡δσ ßΓαá¡¿µ, ¡π¼ÑαπѼδσ «Γ 0
  8435.               ñ« (fg_numpages-1).
  8436.    Åα¿¼Ñα:
  8437.               Çñá»ΓÑα EGA ß 256 èí «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ (RAM)
  8438.               íπñÑΓ ¿¼ÑΓ∞ 2 úαáΣ¿τÑ߬¿Ñ ßΓαá¡¿µδ ß ¡«¼ÑαἿ
  8439.               0 ¿ 1.
  8440.  
  8441.  
  8442. fg_display (ÆêÅ ÇäÇÅÆàÉÇ)
  8443.  
  8444.    Æ¿»:
  8445.               int fg_display;
  8446.    Ä»¿ßá¡¿Ñ:
  8447.               Æ¿» úαáΣ¿τÑ߬«⌐ »½áΓδ, πßΓá¡«ó½Ñ¡¡«⌐ ó ¬«¼»∞ε-
  8448.               ΓÑα.  ¥Γá »ÑαѼѡ¡á∩ πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º
  8449.               º¡áτÑ¡¿⌐  FG_NULL,  FG_EGAECD,  FG_HERCULES, ¿
  8450.               Γ.ñ., «»¿ßá¡¡δσ ßαÑñ¿ ¬«¡ßΓá¡Γ FG.
  8451.  
  8452.  
  8453. fg_activepage (ìÄîàÉ ÇèÆêéìÄë æÆÉÇìêû¢)
  8454.  
  8455.    Æ¿»:
  8456.               unsigned fg_activepage;
  8457.    Ä»¿ßá¡¿Ñ:
  8458.               ÆÑ¬πΘá∩  á¬Γ¿ó¡á∩  ßΓαá¡¿µá,   ¬  ¬«Γ«α«⌐  «Γ-
  8459.               ¡«ß∩Γß∩   óßÑ  úαáΣ¿τÑ߬¿Ñ  ¬«¼á¡ñδ.   öπ¡¬µ¿∩
  8460.               fg_setactivepage()  πßΓá¡áó½¿óáÑΓ ¿ ¼Ñ¡∩ÑΓ ¡«-
  8461.               ¼Ñα ΓѬπΘÑ⌐ ßΓαá¡¿µδ.
  8462.  
  8463.  
  8464. fg_displaypage (ìÄîàÉ ÄÆÄüÉÇåÇàîÄë æÆÉÇìêû¢)
  8465.  
  8466.    Æ¿»:
  8467.               unsigned fg_displaypage;
  8468.  
  8469.    Ä»¿ßá¡¿Ñ:
  8470.               ÆÑ¬πΘá∩  ßΓαá¡¿µá,  «Γ«íαáªÑ¡¡á∩  ¡á ¼«¡¿Γ«αÑ.
  8471.               ì«¼Ñα  ñ¿ß»½Ñ⌐¡«⌐  ßΓαá¡¿µδ  πßΓá¡áó½¿óáÑΓß∩ ¿
  8472.               ¿º¼Ñ¡∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐ fg_setdisplaypage().
  8473.  
  8474.  
  8475.  
  8476.  
  8477.     öôìèûêê,  ÅÄæÆÇéïƒàî¢à  ÅÄï£çÄéÇÆàïàî  öÇèôï£ÆÇÆêéìÄ
  8478.     ────────────────────────────────────────────────────
  8479.  
  8480.    Å«½∞º«óáΓѽ∞ »á¬ÑΓá  FG  ¼«ªÑΓ  «»αÑñѽ∩Γ∞  »ÑαÑτ¿ß½Ñ¡¡δÑ
  8481. ¡¿ªÑ Σπ¡¬µ¿¿,  ¬«Γ«αδÑ »« π¼«½τá¡¿ε »«ññÑনóáεΓß∩ í¿í½¿«ΓÑ-
  8482. ¬«⌐.
  8483.  
  8484. _assert                                          ôÆéàÉåäàìêà
  8485.  
  8486.    Æ¿»:
  8487.               void   _assert(char *string _p,  char *file_p,
  8488.                                          unsigned int line);
  8489.    Ä»¿ßá¡¿Ñ:
  8490.               öπ¡¬µ¿∩  óδºδóáÑΓß∩ »α¿ «í¡áαπªÑ¡¿¿ Γᬿσ »α«-
  8491.               úαá¼¼¡δσ  «Φ¿í«¬,  ¬á¬  »α¿σ«ñ  ¬««αñ¿¡áΓδ ó¡Ñ
  8492.               »αÑñѽ«ó ñ¿ß»½Ñ∩.  Ä¡á ñ«½ª¡á »ÑτáΓáΓ∞ ß««íΘÑ-
  8493.               ¡¿Ñ, π¬áºá¡¡«Ñ 'string_p', ¿¼∩ ¿ßσ«ñ¡«ú« Σá⌐½á
  8494.               'file_p' ¿ ¡«¼Ñα ßΓ᫬¿  'line'  ó φΓ«¼ Σá⌐½Ñ.
  8495.               Ä¡á ¡Ñ ñ«½ª¡á ó«ºóαáΘáΓ∞  π»αáó½Ñ¡¿Ñ;  ¡áßΓ«∩-
  8496.               Γѽ∞¡« αѬ«¼Ñ¡ñπÑΓß∩ ºáóÑαΦ¿Γ∞ (exit) »α«úαá¼-
  8497.               ¼π ß ó«ºóαáΓ«¼ ó äÄæ;  ¡áßΓ«∩Γѽ∞¡« αѬ«¼Ñ¡ñπ-
  8498.               ÑΓß∩ ΓᬪѠóδºóáΓ∞  fg_term  »ÑαÑñ ó«ºóαáΓ«¼ ó
  8499.               DOS, ó«ßßΓá¡«ó¿ó ΓѬßΓ«óδ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩.
  8500.  
  8501.  
  8502. fg_lineclip                              èïêÅÅêÉÄéÇìêà ïêìêê
  8503.  
  8504.    Æ¿»:
  8505.              int fg_lineclip(fg_pbox_t clip,
  8506.                  fg_pline_t line_in, fg_pline_t line_out);
  8507.  
  8508.    Ä»¿ßá¡¿Ñ:
  8509.  
  8510.          fg_pbox_t clip        è½¿»»¿απεΘá∩   αἬᠠñ½∩
  8511.                                    ½¿¡¿¿  line_in.
  8512.  
  8513.          fg_pline_t line_in    ï¿¡¿∩,   ¬«Γ«αá∩   ñ«½ª¡á
  8514.                                    »α«⌐Γ¿ ¬½¿»»¿α«óá¡¿Ñ («í-
  8515.                                    αѺ᡿Ñ)    «Γ¡«ß¿Γѽ∞¡«
  8516.                                    ¬½¿»»¿απεΘÑ⌐ αἬ¿.
  8517.  
  8518.          fg_pline_t line_out   ÉѺπ½∞Γ¿απεΘá∩ ½¿¡¿∩. é«º-
  8519.                                    óαáΘáÑΓ  ¡Ñ¡π½Ñó«Ñ º¡áτÑ-
  8520.                                    ¡¿Ñ,  Ñß½¿ «ñ¿¡ ¿½¿ í«½ÑÑ
  8521.                                    »¿¬ßѽÑ⌐ ½¿¡¿¿ `line_out'
  8522.                                    ¡áσ«ñ¿Γß∩  ó¡πΓα¿ ¬½¿»»¿-
  8523.                                    απεΘÑ⌐ αἬ¿. é »α«Γ¿ó¡«¼
  8524.                                    ß½πτáÑ  ó«ºóαáΘáÑΓ  ¡«½∞.
  8525.                                    àß½¿ »α«úαá¼¼¿ßΓ ¡Ñ πñ«ó-
  8526.                                    ½ÑΓó«αÑ¡ αáí«Γ«⌐ Σπ¡¬µ¿⌐,
  8527.                                    óδºδóáѼδσ φΓ«⌐  »α«µÑñπ-
  8528.                                    α«⌐   (fg_drawlineclip(),
  8529.                                    fg_drawbox(),
  8530.                                    fg_drawthickline()),   «¡
  8531.                                    ¼«ªÑΓ  «íÑß»Ñτ¿Γ∞ á½∞ΓÑα-
  8532.                                    ¡áΓ¿óπ.
  8533.  
  8534.  
  8535.                 ÄüÖêà  öôìèûêê  ü¢æÆÉÄë  âÉÇöêèê
  8536.                         ────────────────────────────────
  8537.  
  8538.  
  8539. fg_adjustxy               æèÄÉÉàèÆêÉÄéÇÆ£ ÆàèôÖêà èÄÄÉäêìÇÆ¢
  8540.  
  8541.    êß»«½∞º«óá¡¿Ñ:
  8542.  
  8543.    #include <fg.h>
  8544.    void fg_adjustxy(int rot, int n,
  8545.    fg_coord_t *px, fg_coord_t *py, fg_pbox_t box);
  8546.  
  8547.    Ä»¿ßá¡¿Ñ:
  8548.  
  8549.    int rot              Äñ¡á ¿º ¬«¡ßΓá¡Γ  FG_ROT0, FG_ROT90,
  8550.                         FG_ROT180, FG_ROT270.
  8551.  
  8552.    int n                è«½¿τÑßΓó«  ½¿ΓÑα ¿½¿ «íΩÑ¬Γ«ó,  πªÑ
  8553.                         óδóÑñÑ¡¡δσ.
  8554.  
  8555.    fg_coord_t *px, *py  ô¬áºáΓѽ¿ ¡á ¬««αñ¿¡áΓδ  ¡áτá½á »Ñα-
  8556.                         ó«⌐ ½¿ΓÑαδ ßΓ᫬¿.
  8557.  
  8558.    fg_pbox_t box        Äúαá¡¿τ¿óáεΘá∩   αἬᠠ ½¿ΓÑαδ  ¿½¿
  8559.                         «íΩѬΓá.
  8560.  
  8561.  
  8562.    x ¿ y ¬««αñ¿¡áΓδ ñ½∩ óδó«ñá «τÑαÑñ¡«⌐ ½¿ΓÑαδ (¿½¿ «íΩѬΓá,
  8563.    «úαá¡¿τÑ¡¡«ú« αἬ«⌐),  óδτ¿ß½∩εΓß∩  ß  πτÑΓ«¼  ºáñá¡¡«ú«
  8564.    óαáΘÑ¡¿∩. *px ¿ *py  πßΓá¡áó½¿óáεΓß∩ π¬áºδóáεΘ¿¼¿ ¡á «τÑ-
  8565.    αÑñ¡πε ½¿ΓÑαπ («íΩѬΓ). Åα«µÑñπαá ¡á¿í«½ÑÑ »«½Ñº¡á ó ¬«¼»-
  8566.    ½Ñ¬ΓÑ ß fg_drawmatrix() ¿ fg_puts().
  8567.  
  8568.    Åα¿¼Ñα:
  8569.  
  8570.       {
  8571.         static char test_string[]="¥Γ« ΓÑßΓ";
  8572.         fg_coord_t x,y;
  8573.         ...
  8574.         x=fg_displaybox[FG_X1] + displaybox[FG_X2];
  8575.         x-=sizeof(test_string)*(fg_charbox[FG_X2]+1);
  8576.         x /=2;
  8577.         y=(fg_displaybox[FG_Y1]+fg_displaybox[FG_Y2)/2;
  8578.         fg_puts(FG_WHITE, FG_MODE_SET, ~0,  FG_ROT0, x,
  8579.                 y, test_string, fg_displaybox);
  8580.         fg_adjustxy(FG_ROT0, sizeof(test_string)-1, &x,
  8581.                     &y, fg_charbox);
  8582.                /* x  ¿  y  ßÑ⌐τáß πßΓá¡«ó½Ñ¡δ ó ¬«¡Ñµ ßΓ᫬¿
  8583.                                              `test string'*/
  8584.       }
  8585.  
  8586.  
  8587. fg_blit                                    ÅàÉàîàæÆêÆ£ ÉÇîèô
  8588.  
  8589.    êß»«½∞º«óá¡¿Ñ:
  8590.  
  8591.    #include <fg.h>
  8592.    void fg_blit(fg_pbox_t src_box,
  8593.    fg_coord_t(x, fg_coord_t y, int dstpage, int srcpage);
  8594.  
  8595.    Ä»¿ßá¡¿Ñ:
  8596.  
  8597.    ÄßπΘÑßΓó½∩ÑΓ »ÑαѼÑΘÑ¡¿Ñ  »α∩¼«πú«½∞¡«⌐  «í½áßΓ¿ »¿¬ßѽÑ⌐
  8598.    »« φ¬αá¡π.
  8599.  
  8600.    src_box   Ä»αÑñѽ∩ÑΓ ¿ßσ«ñ¡δ⌐ »α∩¼«πú«½∞¡¿¬ »¿¬ßѽÑ⌐. Ä¡,
  8601.              ÑßΓÑßΓóÑ¡¡«,  ¡Ñ ñ«½ªÑ¡ óδ½ÑºáΓ∞ ºá αἬπ óßÑú«
  8602.              φ¬αá¡á  fg_displaybox  ¬á¬ ñ«,  Γᬠ¿ »«ß½Ñ Ñú«
  8603.              »ÑαѼÑΘÑ¡¿∩ ¬ ¡«óδ¼ ¬««αñ¿¡áΓá¼.
  8604.    x, y      çáñáεΓ ¬««αñ¿¡áΓδ ¡¿ª¡Ñú« ½Ñó«ú« πú½á αѺπ½∞Γ¿-
  8605.              απεΘÑú« »α∩¼«πú«½∞¡¿¬á.
  8606.    dstpage   é ¬á¬πε ñ¿ß»½Ñ⌐¡πε ßΓαá¡¿µπ »«¼ÑßΓ¿Γ∞ »ÑαѼÑΘÑ-
  8607.              ¡¡δ⌐ »α∩¼«πú«½∞¡¿¬ »¿¬ßѽÑ⌐.
  8608.    srcpage   êº ¬á¬«⌐ ßΓαá¡¿µδ  íαáΓ∞ ¿ßσ«ñ¡δ⌐ »α∩¼«πú«½∞¡¿¬
  8609.              »¿¬ßѽÑ⌐.
  8610.  
  8611.    è½¿»»¿α«óá¡¿Ñ ¡Ñ »α«¿ºó«ñ¿Γß∩.  ÅÑαѬαδΓ¿Ñ ¿ßσ«ñ¡«⌐ ¿ αÑ-
  8612.    ºπ½∞Γ¿απεΘÑ⌐  «í½áßΓÑ⌐ «íαáíáΓδóáÑΓß∩ Γá¬,  τΓ«  τ¿ΓáѼδÑ
  8613.    »¿¬ßѽ¿ ¡Ñ π¡¿τΓ«ªáεΓß∩ ºá»¿ßδóáÑ¼δ¼¿.  ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ
  8614.    ΓᬪѠ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¬«»¿α«óá¡¿∩  ßΓαá¡¿µ  ß  »«½¡«⌐
  8615.    αἬ«⌐ src_box,  αáó¡«⌐ fg_displaybox,  ¿ αѺπ½∞Γ¿απεΘ¿¼¿
  8616.    ¬««αñ¿¡áΓἿ (0,0).
  8617.  
  8618.    Åα¿¼Ñα:
  8619.  
  8620.        /*  ¬«»¿α«óá¡¿Ñ ßΓαá¡¿µδ ¿º `oldpage' ó `page' */
  8621.    fg_blit(fg_displaybox, 0, 0, page, oldpage);
  8622.  
  8623.  
  8624. fg_box_cpy                                 æèÄÅêÉÄéÇÆ£ ÉÇîèô
  8625.  
  8626.    êß»«½∞º«óá¡¿Ñ:
  8627.  
  8628.    #include <fg.h>
  8629.    pbox_t fg_box_cpy(pbox_t to, pbox_t from);
  8630.  
  8631.    Ä»¿ßá¡¿Ñ:
  8632.  
  8633.    è«»¿απÑΓ αἬπ `from' ó αἬπ `to'.  é«ºóαáΘáÑΓ π¬áºáΓѽ∞
  8634.    ¡á αἬπ `to'.
  8635.  
  8636.    Åα¿¼Ñα:
  8637.  
  8638.    fg_box_cpy(destination_box, source_box);
  8639.  
  8640.  
  8641.  
  8642. fg_drawarc                                   ìÇÉêæÄéÇÆ£ äôâô
  8643.  
  8644.    êß»«½∞º«óá¡¿Ñ:
  8645.  
  8646.    #include <fg.h>
  8647.    void fg_drawarc(fg_color_t color, int mode,
  8648.                    int mask, fg_coord_t x, fg_coord_t y,
  8649.                    fg_coord_t radius, int startangle,
  8650.                    int endangle, fg_pbox_t clipbox);
  8651.  
  8652.    Ä»¿ßá¡¿Ñ:
  8653.  
  8654.    É¿ßπÑΓ ¬απú«óπε ñπúπ ó ¡á»αáó½Ñ¡¿¿ »α«Γ¿ó τáß«ó«⌐ ßΓαѽ¬¿
  8655.    «Γ ¡áτá½∞¡«ú« πú½«ó«ú« ß¼ÑΘÑ¡¿∩ αáñ¿πßá ñ« ¬«¡Ñτ¡«ú«.
  8656.  
  8657.    x, y        ûÑ¡Γα «¬απª¡«ßΓ¿.
  8658.    radius      Éáñ¿πß «¬απª¡«ßΓ¿.
  8659.    clipbox     è½¿»»¿απεΘá∩ αἬá ñ½∩ ñπú¿.
  8660.    startangle  ç¡áτÑ¡¿Ñ «Γ 0 ñ« 3600 (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
  8661.    endangle    ç¡áτÑ¡¿Ñ «Γ 0 ñ« 3600. ùΓ«íδ ¡áα¿ß«óáΓ∞  »«½-
  8662.                ¡πε «¬απª¡«ßΓ∞, ¿ß»«½∞ºπεΓß∩ º¡áτÑ¡¿∩ 0, 3600.
  8663.                çá¼ÑΓ¿¼, τΓ« ¡π½Ñó«⌐ αáñ¿πß ¿½¿ ¡π½Ñó«Ñ πú½«-
  8664.                ó«Ñ αáßßΓ«∩¡¿Ñ íπñπΓ «Γα¿ß«óá¡δ ¬á¬ «ñ¿¡ »¿¬-
  8665.                ßѽ∞.
  8666.  
  8667.    ò«Γ∩ Ññ¿¡¿µÑ⌐  πú½«óδσ  αáßßΓ«∩¡¿⌐  ß½πª¿Γ  ñÑß∩Γá∩ τáßΓ∞
  8668.    úαáñπßá,   ¼á¬ß¿¼á½∞¡«  ó«º¼«ª¡á∩  «Φ¿í¬á  ñ«ßΓ¿úáÑΓ  ñ½∩
  8669.    ¡Ñ¬«Γ«αδσ πú½«ó 3 úαáñπß«ó. äπúá ∩ó½∩ÑΓß∩ ¬απú«ó«⌐ ó »¿¬-
  8670.    ßѽ∩σ,  ¡« óó¿ñπ  αạ¿µδ  αáßßΓ«∩¡¿⌐  ¼Ñªñπ  »¿¬ßѽ∩¼¿ ó
  8671.    ¡á»αáó½Ñ¡¿∩σ »« x ¿ y ¡á í«½∞Φ¿¡ßΓóÑ ñ¿ß»½ÑÑó ñπúá óδú½∩-
  8672.    ñ¿Γ φ½½¿»ß«¼.  ä½∩ ¿ß»αáó½Ñ¡¿∩ ¡Ññ«ßΓáΓ¬á ¼«ª¡« ¿ß»«½∞º«-
  8673.    óáΓ∞  fg_drawellipse() ß ß««ΓóÑΓßΓóπεΘ¿¼ ¼áßΦΓáí¿α«ó᡿Ѽ
  8674.    x ¿ y αáñ¿πß«ó,  óδτ¿ß½Ñ¡¡δσ ß ¿ß»«½∞º«ó᡿Ѽ  fg_pixelx,
  8675.    fg_pixely.
  8676.  
  8677.    Åα¿¼Ñα:
  8678.  
  8679.    fg_drawarc (FG_WHITE, FG_MODE_XOR,~0, 0,
  8680.             fg_displaybox[FG_Y2]+10, fg_displaybox[FG_Y2]/2,
  8681.                                  1800, 3600, fg_displaybox);
  8682.  
  8683.  
  8684.  
  8685. fg_drawbox                          ìÇÉêæÄéÇÆ£ ÅɃîÄôâÄï£ìêè
  8686.  
  8687.    êß»«½∞º«óá¡¿Ñ:
  8688.  
  8689.    #include <fg.h>
  8690.    void fg_drawbox(fg_color_t color, int mode, int mask,
  8691.         int line_type, fg_pbox_t box, fg_pbox_t clipbox);
  8692.  
  8693.    Ä»¿ßá¡¿Ñ:
  8694.  
  8695.    É¿ßπÑΓ ¬«¡Γπα  »α∩¼«πú«½∞¡¿¬á  ¡á φ¬αá¡Ñ ¿ ¬½¿»»¿απÑΓ Ñú«
  8696.    «Γ¡«ß¿Γѽ∞¡« αἬ¿ clipbox. É¿ßπѼδ⌐ »α∩¼«πú«½∞¡¿¬ ñ«½ªÑ¡
  8697.    íδΓ∞ ¡«α¼á½¿º«óá¡,  Γ.Ñ. »Ñαóá∩ »áαá ¬««αñ¿¡áΓ ñ«½ª¡á ºá-
  8698.    ñáóáΓ∞ ¡¿ª¡¿⌐ ½Ñóδ⌐ πú«½, á óΓ«αá∩ - »αáóδ⌐ óÑασ¡¿⌐.
  8699.  
  8700.  
  8701.    Åα¿¼Ñα:
  8702.  
  8703.    {
  8704.      fg_box_t box_to_draw;
  8705.      box_to_draw[FG_X1]=10;
  8706.      box_to_draw[FG_Y1]=0;
  8707.      box_to_draw[FG_X2]=20;
  8708.      box_to_draw[FG_Y2]=30;
  8709.      box_to_draw(FG_WHITE, FG_MODE_SET, ~0,
  8710.      FG_LINE_DENSE_DOTTED, box_to_draw,
  8711.      fg_displaybox);
  8712.    }
  8713.  
  8714.  
  8715. fg_drawdot                                  ìÇÉêæÄéÇÆ£ ÆÄùèô
  8716.  
  8717.    êß»«½∞º«óá¡¿Ñ:
  8718.  
  8719.    #include <fg.h>
  8720.    void fg_drawdot(fg_color_t color, int mode,
  8721.         int mask, fg_coord_t x, fg_coord_t y);
  8722.  
  8723.    Ä»¿ßá¡¿Ñ:
  8724.  
  8725.    É¿ßπÑΓ  Γ«τ¬π  (x, y).  Æ«τ¬á  ñ«½ª¡á  íδΓ∞  ó¡πΓα¿ αἬ¿
  8726.    fg_displaybox.
  8727.  
  8728.    Åα¿¼Ñα:
  8729.  
  8730.    fg_drawdot(FG_WHITE, FG_MODE_SET,~0, 0, 0);
  8731.  
  8732.  
  8733. fg_drawellipse                             ìÇÉêæÄéÇÆ£ ¥ïïêÅæ
  8734.  
  8735.    êß»«½∞º«óá¡¿Ñ:
  8736.  
  8737.    #include <fg.h>
  8738.    void fg_drawellipse(fg_color_t color, int mode, int mask,
  8739.         fg_coord_t x, fg_coord_t y, fg_coord_t xradius,
  8740.         fg_coord_t yradius, int startangle,
  8741.         int endangle, fg_pbox_t clipbox);
  8742.  
  8743.    Ä»¿ßá¡¿Ñ:
  8744.  
  8745.    É¿ßπÑΓ ñπúπ φ½½¿»ßá  »α«Γ¿ó  τáß«ó«⌐ ßΓαѽ¬¿ ¼Ñªñπ ºáñá¡-
  8746.    ¡δ¼¿ πú½«ó묨 ß¼ÑΘÑ¡¿∩¼¿¼ αáñ¿πßá.
  8747.  
  8748.    x, y                      ûÑ¡Γα  φ½½¿»ßá.
  8749.    xradius, yradius          ä½¿¡δ  »«½π«ßÑ⌐  φ½½¿»ßá.
  8750.    clipbox                   è½¿»»¿απεΘ¿⌐  »α∩¼«πú«½∞¡¿¬.
  8751.    startangle                Åα¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ «Γ 0 ñ« 3600
  8752.                              (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
  8753.    endangle                  Åα¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ «Γ 0 ñ« 3600
  8754.                              (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
  8755.  
  8756.    ùΓ«íδ ¡áα¿ß«óáΓ∞ φ½½¿»ß µÑ½¿¬«¼, ¿ß»«½∞ºπ⌐ΓÑ º¡áτÑ¡¿∩ 0 ¿
  8757.    3600  ñ½∩ πú½«óδσ  αẼÑα«ó.  ê¼Ñ⌐ΓÑ óó¿ñπ,  τΓ« ó ß½πτáÑ
  8758.    ¡π½Ñó«ú«  º¡áτÑ¡¿∩  «ñ¡«ú« ¿º αáñ¿π߫󠿽¿ αạ«ßΓ¿ πú½«ó
  8759.    íπñÑΓ ¡áα¿ß«óá¡ «ñ¿¡ »¿¬ßѽ∞.
  8760.  
  8761.    ÉѬ«¼Ñ¡ñᵿ∩:
  8762.  
  8763.    æ¼«Γα¿ΓÑ ΓᬪѠ fg_drawarc.
  8764.  
  8765.  
  8766. fg_drawline, fg_drawlinep                   ìÇÉêæÄéÇÆ£ ïêìê₧
  8767.  
  8768.    êß»«½∞º«óá¡¿Ñ:
  8769.  
  8770.    #include <fg.h>
  8771.    void fg_drawline(fg_color_t color,
  8772.                     int mode, int mask, int line_type,
  8773.                     fg_pline_t line);
  8774.    void fg_drawlinep(fg_color_t color,
  8775.                      int mode, int mask,
  8776.                      int line_type, fg_pline_t line);
  8777.  
  8778.    Ä»¿ßá¡¿Ñ:
  8779.  
  8780.    É¿ßπεΓ ½¿¡¿ε «Γ Γ«τ¬¿ (x1, y1) ñ« Γ«τ¬¿ (x2, y2), ¿ß»«½∞-
  8781.    ºπ∩ π¬áºá¡¡δÑ Γ¿» ½¿¡¿¿, µóÑΓ, αѪ¿¼ ¿ ¼á߬π. ï¿¡¿∩ ñ«½ª-
  8782.    ¡á  πªÑ  íδΓ∞  ¬½¿»»¿α«óá¡á  «Γ¡«ß¿Γѽ∞¡«  fg_displaybox.
  8783.    fg_drawlinep() «Γ½¿τáÑΓß∩ «Γ fg_drawline() ΓѼ,  τΓ« ¬«¡-
  8784.    µÑóδÑ Γ«τ¬¿ ½¿¡¿¿ α¿ßπÑΓ ¡Ñºáó¿ß¿¼« «Γ Γ¿»á ½¿¡¿¿.
  8785.  
  8786.    Åα¿¼Ñα:
  8787.  
  8788.    {
  8789.      fg_line_t line_to_draw;
  8790.                        /* ï¿¡¿∩ ¿º óÑασ¡Ñú« ½Ñó«ú« πú½á ¬ */
  8791.                           /* ¡¿ª¡Ñ¼π »αáó«¼π πú½π ñ¿ß»½Ñ∩ */
  8792.      line_to_draw[FG_X1]=fg_displaybox[FG_X2];
  8793.      line_to_draw[FG_Y1]=fg_displaybox[FG_Y1];
  8794.      line_to_draw[FG_X2]=fg_displaybox[FG_X1];
  8795.      line_to_draw[FG_Y2]=fg_displaybox[FG_Y2];
  8796.      fg_drawline[FG_WHITE, FG_MODE-SET, ~0,
  8797.      FG_LINE_SOLID, line_to_draw);
  8798.    }
  8799.  
  8800.  
  8801. fg_drawlineclip            ÄÆèïêÅÅêÉÄéÇÆ£ ¿ ìÇÉêæÄéÇÆ£ ïêìê₧
  8802.  
  8803.    êß»«½∞º«óá¡¿Ñ:
  8804.  
  8805.    #include <fg.h>
  8806.    void fg_drawlineclip(fg_color_t color,
  8807.                         int mode, int mask, int line_type,
  8808.                         fg_pline_t line, fg_pbox clipbox);
  8809.  
  8810.    Ä»¿ßá¡¿Ñ:
  8811.  
  8812.    è½¿»»¿απÑΓ ½¿¡¿ε «Γ¡«ß¿Γѽ∞¡«  `clipbox'  ¿ α¿ßπÑΓ «ßΓáó-
  8813.    Φπεß∩  τáßΓ∞.   ä½∩  ¬½¿»»¿α«óá¡¿∩  ¿ß»«½∞ºπÑΓß∩  Σπ¡¬µ¿∩
  8814.    fg_lineclip(). àß½¿ αѺπ½∞ΓáΓ ¡Ñπñ«ó½ÑΓó«α¿Γѽѡ, »α«úαá¼-
  8815.    ¼¿ßΓ ¼«ªÑΓ ó¬½ετ¿Γ∞ á½∞ΓÑα¡áΓ¿ó¡πε  Σπ¡¬µ¿ε ß ΓѼ ªÑ ¿¼Ñ-
  8816.    ¡Ñ¼ (ß¼.`fg_lineclip()').
  8817.  
  8818.    ÄΓ¡«ß¿Γѽ∞¡« »α«τ¿σ  (»«¼¿¼« clipbox)  óσ«ñ¡δσ »áαá¼ÑΓα«ó
  8819.    ß¼«Γα¿ΓÑ «»¿ßá¡¿Ñ fg_drawline().
  8820.  
  8821.  
  8822. fg_drawmatrix                             ìÇÉêæÄéÇÆ£ îÇÆÉêûô
  8823.  
  8824.    êß»«½∞º«óá¡¿Ñ:
  8825.  
  8826.    #include <fg.h>
  8827.    void fg_drawlineclip(fg_color_t color,
  8828.                         int mode, int mask, int rotation,
  8829.                         fg_coord_t x, fg_coord_t y, char *p,
  8830.                         fg_pbox_t b, fg_pbox_t clipbox);
  8831.  
  8832.    Ä»¿ßá¡¿Ñ:
  8833.  
  8834.    É¿ßπÑΓ ¼áΓα¿µπ Γ«τѬ  αẼÑαἿ (b[X2]+1)*(b[Y2]+1). îáΓ-
  8835.    α¿µá α¿ßπÑΓß∩ ßóÑασπ ó¡¿º,  Γ.Ñ. »Ñαóδ⌐ α∩ñ (ßΓ᫬á) ñá¡-
  8836.    ¡δσ »« π¬áºáΓѽε p α¿ßπÑΓß∩ ó óÑασ¡Ñ¼  α∩ñπ  ¼áΓα¿µδ.  ìá
  8837.    ñ¿ß»½Ñ⌐ óδó«ñ∩Γß∩ Γ«½∞¬« ΓÑ »¿¬ßѽ¿, ñ½∩ ¬«Γ«αδσ ß««ΓóÑΓ-
  8838.    ßΓóπεΘ¿Ñ í¿Γδ πßΓá¡«ó½Ñ¡δ ó 1.  ÆÑ¼ ßá¼δ¼ ¿º«íαáªÑ¡¿Ñ ¼«-
  8839.    ªÑΓ ¡á¬½áñδóáΓ∞ß∩ ¡á Γ«, τΓ« πªÑ ¡áσ«ñ¿Γß∩ ¡á φ¬αá¡Ñ. ä½∩
  8840.    »«½πτÑ¡¿∩ ñαπú«ú« αѺπ½∞ΓáΓá ß½ÑñπÑΓ  »αÑñóáα¿Γѽ∞¡« óδº-
  8841.    óáΓ∞ fg_fillbox().
  8842.  
  8843.    éσ«ñ¡δÑ »áαá¼ÑΓαδ:
  8844.  
  8845.       color, mode, mask   ûóÑΓ, αѪ¿¼ ¿ ¼á߬á,  ¿ß»«½∞ºπѼδÑ
  8846.                           »α¿ óδó«ñÑ ¼áΓα¿µδ.
  8847.       rotation, x, y      FG_ROTx  ¿ß»«½∞ºπÑΓß∩ ñ½∩ »«ó«α«Γá
  8848.                           «Γ¡«ß¿Γѽ∞¡« x, y,  á (x, y) ∩ó½∩-
  8849.                           ÑΓß∩ ¡¿ª¡¿¼ ½Ñóδ¼ πú½«¼ ¼ÑßΓá, ¬π-
  8850.                           ñᠺỿßδóáÑΓß∩ ¼áΓα¿µá.
  8851.       p                   ô¬áºáΓѽ∞  ¡á  ñá¡¡δÑ, π»αáó½∩εΘ¿Ñ
  8852.                           α¿ß«ó᡿Ѽ,  ¬«Γ«αδÑ ∩ó½∩εΓß∩ ¼áß-
  8853.                           ß¿ó«¼ ñ½¿¡«⌐ (b[X2+1+7])/8*(b[Y2+1])
  8854.                           íá⌐Γ«ó.  (çñÑß∞ »Ñαóδ⌐ ß«¼¡«ª¿Γѽ∞
  8855.                           ºáñáÑΓ τ¿ß½« íá⌐Γ«ó, ß««ΓóÑΓßΓóπε-
  8856.                           Θ¿σ α∩ñπ ¼áΓα¿µδ, á óΓ«α«⌐ - τ¿ß½«
  8857.                           α∩ñ«ó; ¬áªñδ⌐ α∩ñ ¡áτ¿¡áÑΓß∩ ß ¡á-
  8858.                           τá½á íá⌐Γá).  ü¿Γ 0 íá⌐Γá ß««ΓóÑΓ-
  8859.                           ßΓóπÑΓ ¬αá⌐¡Ñ¼π  »αáó«¼π  »¿¬ßѽε,
  8860.                           í¿Γ 7 íá⌐Γá - ¬αá⌐¡Ñ¼π ½Ñó«¼π.
  8861.       b                   ÄσóáΓδóáεΘá∩ αἬá. (çáñáÑΓ αẼÑ-
  8862.                           αδ ¼áΓα¿µδ).  b[FG_X1]=d[FG_Y1]=0.
  8863.       clipbox             è½¿»»¿απεΘ¿⌐ »α∩¼«πú«½∞¡¿¬.
  8864.  
  8865.    Åα¿¼Ñα:
  8866.  
  8867.    {
  8868.      static char mouse_cursor={0xF0, 0xC0, 0xA0, 0x10, 0x08};
  8869.      static fg_box_t mouse_box={0, 0, 4, 4};
  8870.      fg_drawmatrix(FG_WHITE, FG_MODE_SET,~0, FG_ROT0, 0, 0,
  8871.                    mouse_cursor, mouse_box,  fg_displaybox);
  8872.                                         /* ¥Γ« α¿ßπÑΓß∩ ¬á¬:
  8873.  
  8874.                            X X X X 0
  8875.                            X X 0 0 0
  8876.                            X 0 X 0 0
  8877.                            0 0 0 X 0
  8878.                            0 0 0 0 X
  8879.  
  8880. úñÑ X πßΓá¡áó½¿óáεΓß∩ ó WHITE (íѽδ⌐), á ¡π½¿ «ßΓáεΓß∩
  8881.                                            íѺ ¿º¼Ñ¡Ñ¡¿∩. */
  8882.    }
  8883.  
  8884. fg_drawthickline                    ìÇÉêæÄéÇÆ£ ÆÄïæÆô₧ ïêìê₧
  8885.  
  8886.    êß»«½∞º«óá¡¿Ñ:
  8887.  
  8888.    #include <fg.h>
  8889.    void fg_drawthickline(fg_color_t color, int mode,
  8890.                          int mask, int line_type,
  8891.                          fg_pline_t line, fg_pbox_t clip,
  8892.                          int thickness);
  8893.  
  8894.    Ä»¿ßá¡¿Ñ:
  8895.  
  8896.    É¿ßπÑΓ Γ«½ßΓπε ½¿¡¿ε.  `ÅÑα«' α¿ßπÑΓ Γá¬, ¬á¬ Ñß½¿ íδ «¡«
  8897.    í佫 ¬óáñαáΓ¡δ¼, Γ.Ñ. Γ«½Θ¿¡á (thickness) ºáñáÑΓß∩ ó »¿¬-
  8898.    ßѽ∩σ.  æ¼«Γα¿ΓÑ  fg_drawlineclip(),  ß«ñÑαªáΘÑÑ «»¿ßá¡¿Ñ
  8899.    óσ«ñ¡δσ »áαá¼ÑΓα«ó ¿ ßσ«ñ¡δ⌐ »α¿¼Ñα.
  8900.  
  8901.  
  8902. fg_fillbox                           çÇÅÄïìêÆ£ ÅɃîÄôâÄï£ìêè
  8903.  
  8904.    êß»«½∞º«óá¡¿Ñ:
  8905.  
  8906.    #include <fg.h>
  8907.    void fg_drawthickline(fg_color_t color,
  8908.                          int mode, int mask, fg_pbox_t box);
  8909.  
  8910.    Ä»¿ßá¡¿Ñ:
  8911.  
  8912.    çá¬αáΦ¿óáÑΓ αἬπ.  ÉἬá "box" ñ«½ª¡á íδΓ∞ πªÑ «Γ¬½¿»»¿-
  8913.    α«óá¡á.  ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ  íδΓ∞  ¿ß»«½∞º«óá¡á ñ½∩ τ¿ßΓ¬¿
  8914.    φ¬αá¡á, Ñß½¿ αἬá φ¬ó¿óá½Ñ¡Γ¡á fg_displaybox.
  8915.  
  8916.    Åα¿¼Ñα:
  8917.  
  8918.                      /* τ¿ßΓ¬á φ¬αá¡á */
  8919.    fg_fillbox(FG_BLACK, FG_MODE_SET, ~0,
  8920.               fg_displaybox);
  8921.  
  8922.  
  8923. fg_flush                               é¢ÆÄïèìôÆ£ ìÇ äêæÅïàë
  8924.  
  8925.    êß»«½∞º«óá¡¿Ñ:
  8926.  
  8927.    #include <fg.h>
  8928.    void fg_flush(void)
  8929.  
  8930.    Ä»¿ßá¡¿Ñ:
  8931.  
  8932.    éδΓὬ¿óáÑΓ ºáñÑαªá¡¡δ⌐ óδó«ñ ¡á ñ¿ß»½Ñ⌐. åñÑΓ πßΓá¡«ó½Ñ-
  8933.    ¡¿∩ φ¬αá¡á. ¥Γ«Γ ó맮ó ñ«½ªÑ¡ íδ »αÑñΦÑßΓó«óáΓ∞ «ª¿ñáѼ«-
  8934.    ¼π óó«ñπ  »«½∞º«óáΓѽ∩, τΓ«íδ «íÑß»Ñτ¿Γ∞ ¡πª¡«Ñ ß«ßΓ«∩¡¿Ñ
  8935.    φ¬αá¡á.
  8936.  
  8937.    Åα¿¼Ñα:
  8938.  
  8939.    fg_flush();
  8940.  
  8941.  
  8942.  
  8943. fg_getcolormap                 ùêÆÇÆ£ ÅÇïêÆÉô (èÇÉÆô ûéàÆÄé)
  8944.  
  8945.    êß»«½∞º«óá¡¿Ñ:
  8946.  
  8947.    #include <fg.h>
  8948.    void fg_getcolormap(fg_color_t *color_array,
  8949.                        int max_entries);
  8950.  
  8951.    Ä»¿ßá¡¿Ñ:
  8952.  
  8953.    éδí¿αáÑΓ  º¡áτÑ¡¿∩ ¿º ΓѬπΘÑ⌐ ¬áαΓδ µóÑΓ«ó.
  8954.  
  8955.       max_entries    îá¬ß¿¼á½∞¡«Ñ τ¿ß½« µóÑΓ«ó, ¬«Γ«α«Ñ ¼«ª-
  8956.                      ¡«  ºá»¿ßáΓ∞  ó  ¼áßß¿ó  color_array[].
  8957.                      äÑ⌐ßΓó¿Γѽ∞¡«Ñ   ¬«½¿τÑßΓó«  ºá»¿ßá¡¡δσ
  8958.                      µóÑΓ«ó    íπñÑΓ   αáó¡«    ¼Ñ¡∞ΦÑ¼π  ¿º
  8959.                      fg_nsimulcolor  ¿  max_entries.
  8960.  
  8961.       color_array    îáßß¿ó µóÑΓ«ó.  ç¡áτÑ¡¿∩ ¼Ñªñπ 0 ¿
  8962.                      fg_ncolormap-1.
  8963.    Åα¿¼Ñα:
  8964.  
  8965.    {
  8966.      fg_color_t color_array[16];
  8967.      fg_getcolormap(color_array,16);
  8968.    }
  8969.  
  8970.  
  8971.  
  8972. fg_init                     êìêûêÇïêçêÉÄéÇÆ£ ü¢æÆÉô₧ âÉÇöêèô
  8973.  
  8974.    êß»«½∞º«óá¡¿Ñ:
  8975.  
  8976.    #include <fg.h>
  8977.    void fg_init(void)
  8978.  
  8979.    Ä»¿ßá¡¿Ñ:
  8980.  
  8981.    ê¡¿µ¿á½¿º¿απÑΓ  úαáΣ¿τÑ߬¿⌐  αѪ¿¼ »«ß½Ñ ó맮óá  fg_term.
  8982.    æ¼«Γα¿ΓÑ fg_init_all() ¿ α«ñßΓóÑ¡¡δÑ Ñ⌐ Σπ¡¬µ¿¿.  fg_init
  8983.    ó«ßßΓá¡«ó¿Γ  úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ó ß«ßΓ«∩¡¿¿ ¡á ¼«¼Ñ¡Γ »«ß-
  8984.    ½Ññ¡Ñú« ó맮óá fg_term().
  8985.  
  8986.    Åα¿¼Ñα:
  8987.  
  8988.    fg_init();
  8989.  
  8990.    öπ¡¬µ¿∩  »«½Ñº¡á ñ½∩ óαѼѡ¡«ú«  »ÑαѬ½ετÑ¡¿∩ ó ΓѬßΓ«óδ⌐
  8991.    αѪ¿¼.
  8992.  
  8993.    fg_init_all();                   /* Σαáú¼Ñ¡Γ »α«úαá¼¼δ* /
  8994.    fg_term();
  8995.    system("cdir");
  8996.    fg_init();                       /* Σαáú¼Ñ¡Γ »α«úαá¼¼δ* /
  8997.    fg_term();
  8998.  
  8999.  
  9000.  
  9001. fg_init_null - fg_init_vga12             êìêûêÇïêçêÉÄéÇÆ£ FG
  9002.  
  9003.    êß»«½∞º«óá¡¿Ñ:
  9004.  
  9005.    #include <fg.h>
  9006.  
  9007.    öπ¡¬µ¿¿ »α«Γ«Γ¿»δ               ÅÑαѼѡ¡á∩  «¬απªÑ¡¿∩ ñ½∩
  9008.                                    fg_init_all
  9009.    int fg_init_null (void)
  9010.    int fg_init_all  (void)
  9011.    int fg_init_egaecd (void)       FG_EGAECD
  9012.    int fg_init_egacolor (void)     FG_EGACOLOR
  9013.    int fg_init_egamono (void)      FG_EGAMONO
  9014.    int fg_init_herc (void)         FG_HERC ¿½¿
  9015.                                    FG_HERCFULL
  9016.    int fg_init_cga (void)          FG_CGAHIRES
  9017.    int fg_init_cgamedres ()        FG_CGAMEDRES
  9018.    int fg_init_8514a ()            FG_8514A
  9019.    int fg_init_toshiba (void)      FG_TOSHIBA
  9020.    int fg_init_vga11 (void)        FG_VGA11
  9021.    int fg_init_vga12 (void)        FG_VGA12
  9022.  
  9023.    Ä»¿ßá¡¿Ñ:
  9024.  
  9025.    èáªñá∩ ¿º Σπ¡¬µ¿⌐  «Γ¬αδóáÑΓ  ñ¿ß»½Ñ⌐¡«Ñ  πßΓα«⌐ßΓó«.  ä«
  9026.    «Γ¬αδΓ¿∩ ºá»«¼¿¡áÑΓ ΓѬπΘ¿⌐ αѪ¿¼ ñ¿ß»½Ñ⌐¡«ú« πßΓα«⌐ßΓóá,
  9027.    ΓᬠτΓ« ó ñá½∞¡Ñ⌐ΦѼ  «¡ íπñÑΓ ó«ßßΓá¡«ó½Ñ¡ »α¿ «íαáΘÑ¡¿¿
  9028.    ¬ fg_term(). ôßΓá¡áó½¿óáÑΓ ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó« ó úαáΣ¿-
  9029.    τÑ߬¿⌐ αѪ¿¼. ôßΓá¡áó½¿óáÑΓ ó ¡«½∞ ¡«¼Ñα ΓѬπΘÑ⌐ ñ¿ß»½Ñ⌐-
  9030.    ¡«⌐ ßΓαá¡¿µδ. çá¡«ß¿Γ σáαá¬ΓÑα¿ßΓ¿¬¿ ΓѬπΘÑú« ñ¿ß»½Ñ⌐¡«ú«
  9031.    πßΓα«⌐ßΓóá ó ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ:
  9032.  
  9033.    fg_display  πßΓá¡áó½¿óáÑΓß∩ ó ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿∩¼¿ º¡á-
  9034.    τÑ¡¿Ñ, fg_activepage  ¿  fg_displaypage πßΓá¡áó½¿óáεΓß∩ ó
  9035.    ¡«½∞. æΓαá¡¿µá 0 πßΓá¡áó½¿óáÑΓß∩ ó FG_BLACK (τÑα¡δ⌐).
  9036.  
  9037.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  9038.  
  9039.    ûѽ«Ñ,  ºáñáÑΓ Γ¿» «Γ¬αδΓ«ú« ñ¿ß»½Ñ⌐¡«ú« πßΓα«⌐ßΓóá, «ñ¡«
  9040.    ¿º FG_EGAECD, FG_VGA11 ¿ »α. é ß½πτáÑ ¡Ñπñáτ¿ ó«ºóαáΘáÑΓ-
  9041.    ß∩ FG_NULL.
  9042.  
  9043.    fg_init_all() »δΓáΓÑΓß∩ «»αÑñѽ¿Γ∞ Γ¿» ¡á½¿τ¡«⌐  ñ¿ß»½Ñ⌐-
  9044.    ¡«⌐ úαáΣ¿¬¿ ¿ «Γ¬αδóáÑΓ φΓ« ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó«.  ÅÑαÑ-
  9045.    ¼Ñ¡¡á∩ «¬απªÑ¡¿∩ FG_DISPLAY »ÑαѺỿßδóáÑΓß∩. ¥Γ« »«½Ñº¡«
  9046.    ñ½∩ ¡ÑßΓá¡ñáαΓ¡δσ »½áΓ ¿½¿ ñ½∩ »½áΓ, φ¼π½¿απεΘ¿σ ¡Ñ߬«½∞-
  9047.    ¬« ñαπú¿σ »½áΓ.
  9048.    fg_init_herc() ¿ßσ«ñ¿Γ ¿º »αÑñ»«½«ªÑ¡¿∩,  τΓ« úαáΣ¿τÑ߬«Ñ
  9049.    πßΓα«⌐ßΓó« ∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó«¼ Γ¿»á HERCULES.  Ä¡« íπñÑΓ
  9050.    «Γ¬αδΓ«, Ñß½¿ ¿¼ÑÑΓß∩ 1 ¿½¿ 2 ñ«ßΓπ»¡δÑ ßΓαá¡¿µδ.
  9051.    fg_init_null() «Γ¬αδóáÑΓ úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó« - í¿Γ«óπε
  9052.    ¬áαΓπ (bit_bucket). éßÑúñá ó«ºóαáΘáÑΓ FG_NULL.
  9053.  
  9054.    ÅÑαóá∩ »«»δΓ¬á  «Γ¬αδΓ¿∩  úαáΣ¿τÑ߬«ú«  πßΓα«⌐ßΓóá ñ«½ª¡á
  9055.    «ßπΘÑßΓó½∩Γ∞ß∩ óδº«ó«¼  «ñ¡«⌐  ¿º  fg_init_XXX() Σπ¡¬µ¿⌐.
  9056.    Å«ß½ÑñπεΘ¿Ñ »«»δΓ¬¿ «Γ¬αδΓ∞  ñ¿ß»½Ñ⌐  (»«ß½Ñ  ó«ºóαáΘÑ¡¿∩
  9057.    ¿º ΓѬßΓ«ó«ú« αѪ¿¼á,  πßΓá¡«ó½Ñ¡¡«ú«  fg_term()),  ¼«ª¡«
  9058.    ñѽáΓ∞, ¿ß»«½∞ºπ∩ fg_init_(). é맮ó fg_init_() óδ»«½¡∩ÑΓ-
  9059.    ß∩ ¼¡«ú« íδßΓαÑÑ ó맮óá fg_init_XXX().  Å« ¼ÑαÑ »«∩ó½Ñ¡¿∩
  9060.    ¡«óδσ πßΓα«⌐ßΓó  ß««ΓóÑΓßΓóπεΘ¿Ñ  Σπ¡¬µ¿¿ íπñπΓ ¡áºóá¡δ ¿
  9061.    «íÑß»ÑτÑ¡δ.
  9062.  
  9063.    Åα¿¼Ñα:
  9064.  
  9065.    {
  9066.      if (fg_init_all()==FG_NULL)
  9067.         {
  9068.           fputs("ìÑ ¼«úπΓ «Γ¬αδΓ∞ úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó«.\h",
  9069.                 stderr);
  9070.           exit(1);
  9071.         }
  9072.    }
  9073.  
  9074.  
  9075. fg_line_cpy                                 èÄÅêÉÄéÇÆ£ ïêìê₧
  9076.  
  9077.    êß»«½∞º«óá¡¿Ñ:
  9078.  
  9079.    #include <fg.h>
  9080.    fg_pline_t fg_line_cpy(fg_pline_t to, fg_pline_t from);
  9081.  
  9082.    Ä»¿ßá¡¿Ñ:
  9083.  
  9084.    è«»¿απÑΓ ½¿¡¿ε  "from"  ó ½¿¡¿ε  "to".  é«ºóαáΘáÑΓ  "to".
  9085.  
  9086.    Åα¿¼Ñα:
  9087.  
  9088.    fg_line_cpy(destination_line, source_line);
  9089.  
  9090.  
  9091.  
  9092. fg_putc                                       é¢éàæÆê ïêÆàÉô
  9093.  
  9094.    êß»«½∞º«óá¡¿Ñ:
  9095.  
  9096.    #include <fg.h>
  9097.    void fg_putc(fg_color_t color, int mode, int mask,
  9098.                 int rotation, fg_coord_t x, fg_coord_t y,
  9099.                 char out_char, fg_pbox_t clip_box);
  9100.  
  9101.    Ä»¿ßá¡¿Ñ:
  9102.  
  9103.    Å«ßδ½áÑΓ  ½¿ΓÑαπ  ¡á φ¬αá¡,  ¿ß»«½∞ºπ∩  ß»Ñµ¿Σ¿µ¿α«óá¡¡δÑ
  9104.    óαáΘÑ¡¿Ñ, µóÑΓ, ¼áß¬π ¿ αѪ¿¼. x, y ºáñáεΓ »«º¿µ¿ε ½Ñó«ú«
  9105.    ¡¿ª¡Ñú« πú½á ½¿ΓÑαδ,  «Γ¡«ß¿Γѽ∞¡« ¬«Γ«α«⌐ ½¿ΓÑαá »«ó«αá-
  9106.    τ¿óáÑΓß∩ ¡á ºáñá¡¡δ⌐ πú«½.  çáñÑ⌐ßΓó«óá¡¡δÑ »¿¬ßѽ¿ ¬½¿»-
  9107.    »¿απεΓß∩ «Γ¡«ß¿Γѽ∞¡« ºáñá¡¡«ú« »α∩¼«πú«½∞¡¿¬á `clipbox'.
  9108.  
  9109.    Åα¿¼Ñα:
  9110.  
  9111.    fg_putc(FG_WHITE, FG_MODE_SET,~0,
  9112.            FG_ROT270, 100, 100, `Z',  fg_displaybox);
  9113.  
  9114.  
  9115. fg_puts                                       é¢éàæÆê æÆÉÄèô
  9116.  
  9117.    êß»«½∞º«óá¡¿Ñ:
  9118.  
  9119.    #include <fg.h>
  9120.    void fg_puts(fg_color_t color, int mode,
  9121.    int mask, int rotation, fg_coord_t x,
  9122.    fg_coord_t y, char *out_string, fg_pbox_t clip);
  9123.  
  9124.    Ä»¿ßá¡¿Ñ:
  9125.  
  9126.    éδó«ñ¿Γ ßΓ᫬π ¡á úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó«. êß»«½∞ºπÑΓ ß»Ñ-
  9127.    µ¿Σ¿µ¿α«óá¡¡δÑ µóÑΓ, αѪ¿¼,  ¼áß¬π ¿ óαáΘÑ¡¿Ñ.  ìáτá½∞¡á∩
  9128.    Γ«τ¬á ½Ñó«ú«  ¡¿ª¡Ñú« πú½á »Ñαó«⌐  ½¿ΓÑαδ  ºáñáÑΓß∩ ¬««α-
  9129.    ñ¿¡áΓἿ x, y. éδó«ñ¿¼á∩ ßΓ᫬á `out_string' ¬½¿»»¿απÑΓß∩
  9130.    «Γ¡«ß¿Γѽ∞¡« `clip'.
  9131.  
  9132.    Åα¿¼Ñα:
  9133.  
  9134.    fg_puts(FG_WHITE, FG_MODE_SET,~0, FG_ROT0,
  9135.    0, 0, "Hello world.", fg_displaybox);
  9136.  
  9137.  
  9138. fg_readbox                                      ùêÆÇÆ£ ÉÇîèô
  9139.  
  9140.    êß»«½∞º«óá¡¿Ñ:
  9141.  
  9142.    #include <fg.h>
  9143.    void fg_readbox(fg_pbox_t b, fg_color_t *p);
  9144.  
  9145.    Ä»¿ßá¡¿Ñ:
  9146.  
  9147.    æτ¿ΓδóáÑΓ  »¿¬ßѽ¿,  ºá¬½ετÑ¡¡δÑ ó »α∩¼«πú«½∞¡¿¬Ñ `b',  ß
  9148.    φ¬αá¡á  ó ¼áßß¿ó φ½Ñ¼Ñ¡Γ«ó Γ¿»á  fg_color_t  »« π¬áºáΓѽε
  9149.    `p'.  é ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óᠺỿßδóáÑΓß∩  µóÑΓ ¬áªñ«ú«
  9150.    »¿¬ßѽ∩.  ù¿ß½«  ºá»¿ßá¡¡δσ íá⌐Γ«ó αáó¡«,  ß½Ññ«óáΓѽ∞¡«,
  9151.    τ¿ß½π ºá¬½ετÑ¡¡δσ ó αá¼¬π »¿¬ßѽÑ⌐, π¼¡«ªÑ¡¡«¼π ¡á αẼÑα
  9152.    fg_color_t.  çỿß∞ ¿ñÑΓ »« α∩ñá¼, ¬«Γ«αδÑ ºá»¿ßδóáεΓß∩ ó
  9153.    »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ y  (Γ.Ñ.  ºá»¿ß∞  ¡áτ¿¡áÑΓß∩ ß ½Ñó«ú«
  9154.    ¡¿ª¡Ñú« πú½á).
  9155.  
  9156.    Åα¿¼Ñα:
  9157.  
  9158.    {
  9159.      fg_color_t *color_p;
  9160.      fg_box_t read_box;
  9161.      unsigned int bytes;
  9162.      read_box[FG_X1]=10;
  9163.      read_box[FG_Y1]=0;
  9164.      read_box[FG_X2]=100;
  9165.      read_box[FG_Y2]=100;
  9166.      bytes=read_box[FG_X2]-read_box[FG_X1]+1;
  9167.      bytes *=read_box[FG_Y2]-read_box[FG_Y1]+1;
  9168.      bytes *=sizeof(fg_color_t);
  9169.      color_p=malloc(bytes);
  9170.      assert(color_p !=NULL);
  9171.      fg_readbox(read_box, color_p);
  9172.      ...
  9173.                             /* ¡Ñ«í∩ºáΓѽ∞¡« ΓᠪѠαἬá,
  9174.                            ¡« «í∩ºáΓѽ∞¡« Γ«ú« ªÑ αẼÑαá */
  9175.      read_box[FG_X1]+=20;
  9176.      read_box[FG_X2]+=20;
  9177.      read_box[FG_Y1]+=30;
  9178.      read_box[FG_Y2]+=30;
  9179.      fg_writebox(read_box, color_p);
  9180.    }
  9181.  
  9182.  
  9183. fg_readdot                                      ùêÆÇÆ£ ÆÄùèô
  9184.  
  9185.    êß»«½∞º«óá¡¿Ñ:
  9186.  
  9187.    #include <fg.h>
  9188.    fg_color_t fg_readdot(fg_coord_t x, fg_coord_t y);
  9189.  
  9190.    Ä»¿ßá¡¿Ñ:
  9191.  
  9192.    ù¿ΓáÑΓ µóÑΓ Γ«τ¬¿ ß ¬««αñ¿¡áΓἿ x, y. (x, y) ñ«½ª¡á ¡áσ«-
  9193.    ñ¿Γ∞ß∩ ó¡πΓα¿ fg_displaybox.
  9194.  
  9195.    Åα¿¼Ñα:
  9196.  
  9197.    {
  9198.      fg_color_t dot_color;
  9199.      dot_color=fg_readdot(0,0);
  9200.    }
  9201.  
  9202.  
  9203. fg_restore                                      éÄææÆÇìÄéêÆ£
  9204.  
  9205.    êß»«½∞º«óá¡¿Ñ:
  9206.  
  9207.    #include <fg.h>
  9208.    void fg_restore(fg_handle_t handle);
  9209.  
  9210.    Ä»¿ßá¡¿Ñ:
  9211.  
  9212.    é«ßßΓá¡áó½¿óáÑΓ «í½áßΓ∞ φ¬αá¡á, ß«σαá¡Ñ¡¡πε Σπ¡¬µ¿Ñ⌐
  9213.    fg_save().
  9214.  
  9215.       hangle      ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ fg_save();  ó ñá½∞-
  9216.                   ¡Ñ⌐ΦѼ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡«. ìÑ ¼«ªÑΓ ¿ß»«½∞º«-
  9217.                   óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ ó맮óáσ fg_restore().
  9218.  
  9219.    Åα¿¼Ñα: æ¼«Γα¿ΓÑ fg_save().
  9220.  
  9221.  
  9222.  
  9223. fg_save                                            æÄòÉÇìêÆ£
  9224.  
  9225.    êß»«½∞º«óá¡¿Ñ:
  9226.  
  9227.    #include <fg.h>
  9228.    fg_handle_t fg_save(fg_pbox_t box);
  9229.  
  9230.    Ä»¿ßá¡¿Ñ:
  9231.  
  9232.    æ«σαá¡∩ÑΓ «í½áßΓ∞ φ¬αá¡á.  ¥Γá «í½áßΓ∞ ¼«ªÑΓ íδΓ∞ ó«ßßΓá-
  9233.    ¡«ó½Ñ¡á fg_restore().  çá¼ÑΓ¿¼,  τΓ« ß«σαá¡Ñ¡¡á∩  «í½áßΓ∞
  9234.    ¼«ªÑΓ íδΓ∞  ó«ßßΓá¡«ó½Ñ¡á ó Γ«⌐ ªÑ ßἫ⌐ »«º¿µ¿¿ ßΓαá¡¿µδ
  9235.    (¿½¿ Γ«⌐ ªÑ »«º¿µ¿¿  ñαπú«⌐ ßΓαá¡¿µδ, Ñß½¿ á¬Γ¿ó¡á∩ ßΓαá-
  9236.    ¡¿µá ß¼Ñ¡¿½áß∞).
  9237.  
  9238.    Åα¿¼Ñα:
  9239.  
  9240.    {
  9241.      fg_box_t save_box;
  9242.      fg_handle_t save_handle;
  9243.      save_box[FG_X1]=save_box[FG_Y1]=0;
  9244.      save_box[FG_X2]=save_box[FG_Y2]=100;
  9245.      save_handle=fg_save(save_box);
  9246.      assert (save_handle !=NULL);
  9247.      ...
  9248.      fg_restore (save_handle);
  9249.    }
  9250.  
  9251.    é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
  9252.  
  9253.   fg_handle_t    äÑß¬α¿»Γ«α ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó fg_restore().
  9254.  
  9255.   NULL           é ß½πτáÑ «Φ¿í¬¿ (óÑα«∩Γ¡«, ¡ÑσóáΓ¬á »á¼∩Γ¿).
  9256.  
  9257.  
  9258. fg_setactivepage                ôæÆÇìÄéêÆ£ ÇèÆêéìô₧ æÆÉÇìêûô
  9259.  
  9260.    êß»«½∞º«óá¡¿Ñ:
  9261.  
  9262.    #include <fg.h>
  9263.    void fg_setactivepage(unsigned int pagenum);
  9264.  
  9265.    Ä»¿ßá¡¿Ñ:
  9266.  
  9267.    êº¼Ñ¡∩ÑΓ ¡«¼Ñα á¬Γ¿ó¡«⌐ ßΓαá¡¿µδ.  Ç¬Γ¿ó¡á∩ ßΓαá¡¿µá ÑßΓ∞
  9268.    ßΓαá¡¿µá, ó ¬«Γ«α«⌐  αáí«ΓáεΓ  óßÑ  »α«µÑñπαδ FG úαáΣ¿¬¿.
  9269.    ìÑ «í∩ºáΓѽ∞¡«,  τΓ« φΓá ßΓαá¡¿µá ∩ó½∩ÑΓß∩  «Γ«íαáªáѼ«⌐.
  9270.    `pagenum'   ñ«½ªÑ¡   íδΓ∞   ¼Ñ¡∞ΦÑ,   τѼ   fg_numpages.
  9271.    fg_activpage  πßΓá¡áó½¿óáÑΓß∩  ó `pagenum'.
  9272.  
  9273.    Åα¿¼Ñα:
  9274.  
  9275.    fg_setactivepage(1);
  9276.  
  9277.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠfg_setdisplaypage.
  9278.  
  9279.  
  9280. fg_setcolormap                            ôæÆÇìÄéêÆ£ ÅÇïêÆÉô
  9281.  
  9282.    êß»«½∞º«óá¡¿Ñ:
  9283.  
  9284.    #include <fg.h>
  9285.    void fg_setcolormap(fg_color_t carray[], int max);
  9286.  
  9287.    Ä»¿ßá¡¿Ñ:
  9288.  
  9289.    ôßΓá¡áó½¿óáÑΓ óßÑ µóÑΓá ó ¬áαΓÑ  µóÑΓ«ó.  èáαΓá µóÑΓ«ó ¡Ñ
  9290.    ¼«ñ¿Σ¿µ¿απѼá, Ñß½¿ fg_ncolormap==fg_nsimulcolor.
  9291.  
  9292.    carray   îáßß¿ó µóÑΓ«ó, αẼÑα¡«ßΓ∞ε fg_nsimulcolor. ç¡á-
  9293.             τÑ¡¿∩ ¼Ñªñπ 0 ¿ fg_ncolormap-1.
  9294.    max      îá¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó, ¬«Γ«αδÑ ¼«ª¡« »α«-
  9295.             τÑßΓ∞ ¿º ¼áßß¿óá  color_array[].  äÑ⌐ßΓó¿Γѽ∞¡«Ñ
  9296.             τ¿ß½«  »α«τΓÑ¡¡δσ  µóÑΓ«ó - ¼¿¡¿¼π¼  ¿º
  9297.             fg_nsimulcolor ¿ max.
  9298.  
  9299.  
  9300.  
  9301. fg_setdisplaypage             ôæÆÇìÄéêÆ£ äêæÅïàëìô₧ æÆÉÇìêûô
  9302.  
  9303.    êß»«½∞º«óá¡¿Ñ:
  9304.  
  9305.    #include <fg.h>
  9306.    void fg_setdisplaypage(unsigned pagenum);
  9307.  
  9308.    Ä»¿ßá¡¿Ñ:
  9309.  
  9310.    êº¼Ñ¡∩ÑΓ ¡«¼Ñα ñ¿ß»½Ñ⌐¡«⌐  ßΓαá¡¿µδ.  ä¿ß»½Ñ⌐¡á∩ ßΓαá¡¿µá
  9311.    ÑßΓ∞ ßΓαá¡¿µá, ¡áí½εñáѼá∩ ¡á φ¬αá¡Ñ  ñ¿ß»½Ñ∩.  `pagenum'
  9312.    ñ«½ªÑ¡ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ fg_numpages.
  9313.  
  9314.    Åα¿¼Ñα:
  9315.  
  9316.    fg_setdisplaypage(0);
  9317.  
  9318.    ÉѬ«¼Ñ¡ñᵿ∩:  æ¼«Γα¿ΓÑ ΓᬪѠ fg_setactivepage.
  9319.  
  9320.    éδσ«ñ:
  9321.  
  9322.       fg_displaypage, πßΓá¡«ó½Ñ¡¡á∩ ó `pagenum'.
  9323.  
  9324.  
  9325. fg_setlinepattern                    ôæÆÇìÄéêÆ£ ÿÇüïÄì ïêìêê
  9326.  
  9327.    êß»«½∞º«óá¡¿Ñ:
  9328.  
  9329.    #include <fg.h>
  9330.    void fg_setlinepattern(int line_type, int pattern);
  9331.  
  9332.    Ä»¿ßá¡¿Ñ:
  9333.  
  9334.    ôßΓá¡áó½¿óáÑΓ Φáí½«¡ ñ½∩ óδó«ñá ½¿¡¿¿.
  9335.  
  9336.    line_type   ç¡áτÑ¡¿Ñ ¼Ñªñπ 0 ¿ FG_LINE_MAX-1. Å«ß½ÑñπεΘÑÑ
  9337.                ¿ß»«½∞º«óá¡¿Ñ  φΓ«ú« º¡áτÑ¡¿∩ íπñÑΓ ¿ß»«½∞º«-
  9338.                óáΓ∞ φëàΦáí½«¡.
  9339.    pattern     16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ Φáí½«¡. ìá-
  9340.                τὫ Φáí½«¡á «»αÑñѽ∩ÑΓ í¿Γ 15, ºáΓѼ ß»π߬ ¬
  9341.                í¿Γπ 0 ¿ ºáΓѼ »«óΓ«αÑ¡¿Ñ. àß½¿ fg_drawlinep()
  9342.                ñ«½ª¡á óßÑúñá α¿ß«óáΓ∞  Γ«½∞¬« Γ«τ¬π ó ¡áτá½Ñ
  9343.                ½¿¡¿¿, í¿Γ 15 ñ«½ªÑ¡ íδΓ∞ πßΓá¡«ó½Ñ¡ ó 1.
  9344.  
  9345.    Åα¿¼Ñα:
  9346.  
  9347.    {
  9348.                             /* «τÑ¡∞-«τÑ¡∞ αÑñ¬¿⌐ »π¡¬Γ¿α */
  9349.      fg_setlinepattern(FG_LINE_USER_DEFINED, 0x8000);
  9350.    }
  9351.  
  9352.  
  9353. fg_term                        ÅàÉàëÆê é Éàåêî Ç/û ÆàÉîêìÇïÇ
  9354.  
  9355.    êß»«½∞º«óá¡¿Ñ:
  9356.  
  9357.    #include <fg.h>
  9358.    void fg_term(void)
  9359.  
  9360.    Ä»¿ßá¡¿Ñ:
  9361.  
  9362.    çá¬αδóáÑΓ ñ¿ß»½Ñ⌐¡«Ñ  πßΓα«⌐ßΓó«.  ä¿ß»½Ñ⌐ ó«ºóαáΘáÑΓß∩ ó
  9363.    »αÑñΦÑßΓó«óáóΦÑÑ  fg_init() ß«ßΓ«∩¡¿Ñ.  àß½¿ fg_init() ¡Ñ
  9364.    óδºδóá½áß∞,  ¡¿τÑú«  ¡Ñ ñѽáÑΓ.  Æ« ªÑ ß»αáóÑñ½¿ó«,  Ñß½¿
  9365.    fg_term() óδºδóáÑΓß∩ óß½Ññ ºá  fg_term().  Æá¬¿¼ «íαẫ¼,
  9366.    »α«µÑñπαá  «ßπΘÑßΓó½∩ÑΓ  φ¬ßΓαÑ¡¡δ⌐  ó«ºóαáΓ ¬ ΓѬßΓ«ó«¼π
  9367.    αѪ¿¼π íѺ«Γ¡«ß¿Γѽ∞¡« ¬ Γ«¼π, πßΓá¡«ó½Ñ¡ úαáΣ¿τÑ߬¿⌐ αÑ-
  9368.    ª¿¼ ¿½¿ ¡ÑΓ.
  9369.  
  9370.    Åα¿¼Ñα:
  9371.  
  9372.    fg_term();          /* é«ºóαáΘÑ¡¿Ñ ¬ ΓѬßΓ«ó«¼π αѪ¿¼π */
  9373.  
  9374.  
  9375. fg_writebox                                     ÅêæÇÆ£ ÉÇîèô
  9376.  
  9377.    êß»«½∞º«óá¡¿Ñ:
  9378.  
  9379.    #include <fg.h>
  9380.    void fg_writebox(fg_pbox_t box, fg_color_t *p);
  9381.  
  9382.    Ä»¿ßá¡¿Ñ:
  9383.  
  9384.    ÄíαáΓ¡á∩ ¬ Σπ¡¬µ¿¿ fg_readbox(). Å¿ΦÑΓ »¿¬ßѽ¿ ó á¬Γ¿ó¡πε
  9385.    ßΓαá¡¿µπ.
  9386.  
  9387.       box       Äúαá¡¿τ¿óáεΘ¿⌐ »α∩¼«πú«½∞¡¿¬ ñ½∩ ºá»¿ß¿ »¿¬-
  9388.                 ßѽÑ⌐.
  9389.       p         ô¬áºáΓѽ∞ ¡á ¼áßß¿ó µóÑΓ«ó, »« «ñ¡«¼π  µóÑΓπ
  9390.                 ¡á ¬áªñδ⌐ »¿¬ßѽ∞.
  9391.  
  9392.    Åα¿¼Ñα:
  9393.  
  9394.    æ¼«Γα¿ΓÑ fg_readbox
  9395.  
  9396.    ÉѬ«¼Ñ¡ñᵿ∩:  
  9397.  
  9398.    C¼«Γα¿ΓÑ ΓᬪѠfg_readbox.