home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / k-r.doc / c_7.doc < prev    next >
Encoding:
Text File  |  1988-11-18  |  33.3 KB  |  814 lines

  1.                            - 152 -
  2.      
  3.      7. éó«ñ ¿ óδó«ñ
  4.      æαÑñßΓóá óó«ñá/óδó«ñá ¡Ñ ∩ó½∩εΓß∩ ß«ßΓáó¡«⌐ τáßΓ∞ε ∩ºδ¬á
  5.  "ß", ΓᬠτΓ« ¼δ ¡Ñ óδñѽ∩½¿ ¿σ ó ¡áΦѼ »αÑñδñπΘѼ ¿º½«ªÑ¡¿¿.
  6.  Äñ¡á¬« αÑá½∞¡δÑ »α«úαá¼¼δ óºá¿¼«ñÑ⌐ßΓóπεΓ ß« ßó«Ñ⌐ «¬απªáε-
  7.  ΘÑ⌐ ßαÑñ«⌐ ú«αáºñ« í«½ÑÑ ß½«ª¡δ¼ «íαẫ¼, τѼ ¼δ ó¿ñѽ¿ ñ«
  8.  ß¿σ »«α. é φΓ«⌐ ú½áóÑ íπñÑΓ «»¿ßá¡á "ßΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá
  9.  óó«ñá/óδó«ñá", Γ« ÑßΓ∞ ¡áí«α Σπ¡¬µ¿⌐, αáºαáí«Γá¡¡δσ ñ½∩
  10.  «íÑß»ÑτÑ¡¿∩ ßΓá¡ñáαΓ¡«⌐ ß¿ßΓѼδ óó«ñá/óδó«ñá ñ½∩ "ß"- »α«ú-
  11.  αá¼¼. ¥Γ¿ Σπ¡¬µ¿¿ »αÑñ¡áº¡áτÑ¡δ ñ½∩ πñ«íßΓóá »α«úαá¼¼¡«ú«
  12.  ¿¡ΓÑαΣÑ⌐ßá, ¿ óßÑ ªÑ «ΓαáªáεΓ Γ«½∞¬« ΓÑ «»Ñαᵿ¿, ¬«Γ«αδÑ
  13.  ¼«úπΓ íδΓ∞ «íÑß»ÑτÑ¡δ ¡á í«½∞Φ¿¡ßΓóÑ ß«óαѼѡ¡δσ «»Ñαᵿ«¡-
  14.  ¡δσ ß¿ßΓѼ. Åα«µÑñπαδ ñ«ßΓáΓ«τ¡« φΣΣÑ¬Γ¿ó¡δ ñ½∩ Γ«ú«, τΓ«íδ
  15.  »«½∞º«óáΓѽ¿ αÑñ¬« τπóßΓó«ó὿ ¡Ñ«íσ«ñ¿¼«ßΓ∞ «í«⌐Γ¿ ¿σ "αáñ¿
  16.  φΣΣÑ¬Γ¿ó¡«ßΓ¿", ¬á¬ íδ ¡¿ íδ½á ó᪡ᠬ«¡¬αÑΓ¡á∩ ºáñáτá. ê,
  17.  ¡á¬«¡Ñµ, φΓ¿ »α«µÑñπαδ ºáñπ¼á¡δ íδΓ∞ "»ÑαÑ¡«ß¿¼δ¼¿" ó Γ«¼
  18.  ß¼δß½Ñ, τΓ« «¡¿ ñ«½ª¡δ ßπΘÑßΓó«óáΓ∞ ó ß«ó¼ÑßΓ¿¼«¼ ó¿ñÑ ¡á
  19.  ½εí«⌐ ß¿ßΓѼÑ, úñÑ ¿¼ÑÑΓß∩ ∩ºδ¬ "ß", ¿ τΓ« »α«úαá¼¼δ, ¬«Γ«-
  20.  αδÑ «úαá¡¿τ¿óáεΓ ßó«¿ óºá¿¼«ñÑ⌐ßΓó¿∩ ß ß¿ßΓѼ«⌐ ó«º¼«ª¡«ßΓ∩-
  21.  ¼¿, »αÑñ«ßΓáó½∩Ñ¼δ¼¿ ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ«⌐, ¼«ª¡« íπñÑΓ
  22.  »ÑαÑ¡«ß¿Γ∞ ß «ñ¡«⌐ ß¿ßΓÑ¼δ ¡á ñαπúπε »« ßπΘÑßΓóπ íѺ ¿º¼Ñ¡Ñ-
  23.  ¡¿⌐.
  24.      îδ ºñÑß∞ ¡Ñ íπñѼ »δΓáΓ∞ß∩ «»¿ßáΓ∞ óßε í¿í½¿«ΓѬπ óó«-
  25.  ñá/óδó«ñá; ¼δ í«½ÑÑ ºá¿¡ΓÑαÑß«óá¡δ ó Γ«¼, τΓ«íδ »α«ñѼ«¡ßΓ-
  26.  α¿α«óáΓ∞ ßπΘ¡«ßΓ∞ ¡á»¿ßá¡¿∩ "ß"-»α«úαá¼¼, ¬«Γ«αδÑ óºá¿¼«ñÑ⌐-
  27.  ßΓóπεΓ ß« ßó«Ñ⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñ«⌐.
  28.  
  29.      7.1. ÄíαáΘÑ¡¿Ñ ¬ ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬÑ
  30.      èáªñδ⌐ ¿ßσ«ñ¡δ⌐ Σá⌐½, ¬«Γ«αδ⌐ «íαáΘáÑΓß∩ ¬ Σπ¡¬µ¿¿ ¿º
  31.  ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿, ñ«½ªÑ¡ óí½¿º¿ ¡áτá½á ß«ñÑαªáΓ∞ ßΓα«-
  32.  ¬π
  33.  
  34.   #INCLUDE <STDIO.H>
  35.  
  36.  ó Σá⌐½Ñ STDIO.H «»αÑñѽ∩εΓß∩ ¡Ñ¬«Γ«αδÑ ¼á¬α«ßδ ¿ »ÑαѼѡ¡δÑ,
  37.  ¿ß»«½∞ºπѼδÑ í¿í½¿«ΓѬ«⌐ óó«ñá/óδó«ñá. êß»«½∞º«óá¡¿Ñ πú½«óδσ
  38.  ß¬«í«¬ ó¼ÑßΓ« «íδτ¡δσ ñó«⌐¡δσ ¬áóδτѬ - π¬áºá¡¿Ñ ¬«¼»¿½∩Γ«απ
  39.  ¿ß¬áΓ∞ φëàΣá⌐½ ó ß»αáó«τ¡¿¬Ñ, ß«ñÑαªáΘѼ ºáú«½«ó¬¿ ßΓá¡-
  40.  ñáαΓ¡«⌐ ¿¡Σ«α¼áµ¿¿ (¡á ß¿ßΓѼѠUNIX «íδτ¡« LUSRLINELUDE).
  41.      èα«¼Ñ Γ«ú«, »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ ¼«ªÑΓ «¬áºáΓ∞ß∩ ¡Ñ«í-
  42.  σ«ñ¿¼δ¼ π¬áºáΓ∞ í¿í½¿«ΓѬπ ∩ó¡«; ¡á ß¿ßΓѼѠPDP-11 UNIX,
  43.  ¡á»α¿¼Ñα, ¬«¼á¡ñá ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ ¿¼Ñ½á íδ ó¿ñ:
  44.  
  45.  CC   ¿ßσ«ñ¡δÑ Σá⌐½δ ¿ Γ.ñ. -LS
  46.  
  47.  úñÑ -LS π¬áºδóáÑΓ ¡á ºáúαπº¬π ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿.
  48.  
  49.      7.2. æΓá¡ñáαΓ¡δ⌐ óó«ñ ¿ óδó«ñ - Σπ¡¬µ¿¿ GETCHAR ¿
  50.           PUTCHAR
  51.  
  52.      æá¼δ⌐ »α«ßΓ«⌐ ¼Ñσá¡¿º¼ óó«ñᠺᬽετáÑΓß∩ ó τΓÑ¡¿¿ »« «ñ-
  53.  ¡«¼π ß¿¼ó«½π ºá αẠ¿º "ßΓá¡ñáαΓ¡«ú« óó«ñá", «íδτ¡« ß ΓÑନ-
  54.  ¡á½á »«½∞º«óáΓѽ∩, ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GETCHAR. öπ¡¬µ¿∩
  55.  GETCHAR() »α¿ ¬áªñ«¼ ¬ ¡Ñ⌐ «íαáΘÑ¡¿¿ ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐
  56.      
  57.                            - 153 -
  58.      
  59.  óó«ñ¿¼δ⌐ ß¿¼ó«½. é í«½∞Φ¿¡ßΓóÑ ßαÑñ, ¬«Γ«αδÑ »«ññÑনóáεΓ
  60.  ∩ºδ¬ "ß", ΓÑନ¡á½ ¼«ªÑΓ íδΓ∞ ºá¼Ñ¡Ñ¡ ¡Ñ¬«Γ«αδ¼ Σá⌐½«¼ ß »«-
  61.  ¼«Θ∞ε «í«º¡áτÑ¡¿∩ < : Ñß½¿ ¡Ñ¬«Γ«αá∩ »α«úαá¼¼á PROG ¿ß»«½∞-
  62.  ºπÑΓ Σπ¡¬µ¿ε GETCHAR Γ« ¬«¼á¡ñ¡á∩ ßΓ᫬á
  63.  
  64.  PROG<INFILE
  65.  
  66.  »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« PROG íπñÑΓ τ¿ΓáΓ∞ ¿º Σá⌐½á INFILE, á ¡Ñ
  67.  ß ΓÑନ¡á½á. ÅÑαѬ½ετÑ¡¿Ñ óó«ñá ñѽáÑΓß∩ Γᬿ¼ «íαẫ¼, τΓ«
  68.  ßá¼á »α«úαá¼¼á PROG ¡Ñ ºá¼ÑτáÑΓ ¿º¼Ñ¡Ñ¡¿∩; ó τáßΓ¡«ßΓ¿ ßΓα«-
  69.  ¬á"<INFILE" ¡Ñ ó¬½ετáÑΓß∩ ó ¬«¼á¡ñ¡πε ßΓ᫬π áαúπ¼Ñ¡Γ«ó ó
  70.  ARGV. ÅÑαѬ½ετÑ¡¿Ñ óó«ñá «¬áºδóáÑΓß∩ ¡Ñºá¼ÑΓ¡δ¼ ¿ ó Γ«¼ ß½π-
  71.  τáÑ, ¬«úñá óδó«ñ »«ßΓπ»áÑΓ ¿º ñαπú«⌐ »α«úαá¼¼δ »«ßαÑñßΓó«¼
  72.  »«Γ«τ¡«ú« (PIPE) ¼Ñσá¡¿º¼á; ¬«¼á¡ñ¡á∩ ßΓ᫬á
  73.  
  74.  OTHERPROG \! PROG
  75.  
  76.  »α«ú«¡∩ÑΓ ñóÑ »α«úαá¼¼δ, OTHERPROG ¿ PROG, ¿ «αúá¡¿ºπÑΓ Γá¬,
  77.  τΓ« ßΓá¡ñáαΓ¡δ¼ óó«ñ«¼ ñ½∩ PROG ß½πª¿Γ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ
  78.  OTHERPROG.
  79.      öπ¡¬µ¿∩ GETCHAR ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ EOF, ¬«úñá «¡á »«»á-
  80.  ñáÑΓ ¡á ¬«¡Ñµ Σá⌐½á, ¬á¬«⌐ íδ óó«ñ «¡á »α¿ φΓ«¼ ¡Ñ ßτ¿Γδóá-
  81.  ½á. æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬᠻ«½áúáÑΓ ß¿¼ó«½¿τÑ߬πε ¬«¡ßΓá¡Γπ
  82.  EOF αáó¡«⌐ -1 (»«ßαÑñßΓó«¼ #DEFINE ó Σá⌐½Ñ STDIO.H), ¡« »α«-
  83.  óÑન ß½ÑñπÑΓ »¿ßáΓ∞ ó ΓÑନ¡áσ EOF, á ¡Ñ -1, τΓ«íδ ¿ºíѪáΓ∞
  84.  ºáó¿ß¿¼«ßΓ¿ «Γ ¬«¡¬αÑΓ¡«ú« º¡áτÑ¡¿∩.
  85.      éδó«ñ ¼«ª¡« «ßπΘÑßΓó½∩Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ PUTCHAR(C),
  86.  »«¼ÑΘáεΘÑ⌐ ß¿¼ó«½ 'ß' ó "ßΓá¡ñáαΓ¡δ⌐ óó«ñ", ¬«Γ«αδ⌐ »« π¼«½-
  87.  τá¡¿ε ∩ó½∩ÑΓß∩ ΓÑନ¡á½«¼. éδó«ñ ¼«ª¡« ¡á»αáó¿Γ∞ ó ¡Ñ¬«Γ«αδ⌐
  88.  Σá⌐½ ß »«¼«Θ∞ε «í«º¡áτÑ¡¿∩ > : Ñß½¿ PROG ¿ß»«½∞ºπÑΓ PUTCHAR,
  89.  Γ« ¬«¼á¡ñ¡á∩ ßΓ᫬á
  90.  
  91.  PROG>OUTFILE
  92.  
  93.  »α¿óÑñÑΓ ¬ ºá»¿ß¿ ßΓá¡ñáαΓ¡«ú« óδó«ñá ó Σá⌐½ OUTFILE, á ¡Ñ
  94.  ¡á ΓÑନ¡á½. ìá ß¿ßΓѼѠUNIX ¼«ª¡« ΓᬪѠ¿ß»«½∞º«óáΓ∞ »«Γ«τ-
  95.  ¡δ⌐ ¼Ñσá¡¿º¼. æΓ᫬á
  96.  
  97.   PROG \! ANOTHERPROG
  98.  
  99.  »«¼ÑΘáÑΓ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ PROG ó ßΓá¡ñáαΓ¡δ⌐ óó«ñ
  100.  ANOTHERPROG. ê «»∩Γ∞ PROG ¡Ñ íπñÑΓ «ßóÑñ«¼½Ñ¡á «í ¿º¼Ñ¡Ñ¡¿¿
  101.  ¡á»αáó½Ñ¡¿∩.
  102.      éδó«ñ, «ßπΘÑßΓó½∩Ѽδ⌐ Σπ¡¬µ¿Ñ⌐ PRINTF, ΓᬪѠ»«ßΓπ»áÑΓ ó
  103.  ßΓá¡ñáαΓ¡δ⌐ óδó«ñ, ¿ «íαáΘÑ¡¿∩ ¬ PUTCHAR ¿ PRINTF ¼«úπΓ »Ñ-
  104.  αѼѪáΓ∞ß∩.
  105.      Å«αếΓѽ∞¡«Ñ ¬«½¿τÑßΓó« »α«úαá¼¼ τ¿ΓáÑΓ Γ«½∞¬« ¿º «ñ¡«-
  106.  ú« óσ«ñ¡«ú« »«Γ«¬á ¿ »¿ΦÑΓ Γ«½∞¬« ó «ñ¿¡ óδσ«ñ¡«⌐ »«Γ«¬; ñ½∩
  107.  Γᬿσ »α«úαá¼¼ óó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε Σπ¡¬µ¿⌐ GETCHAR,
  108.  PUTCHAR ¿ PRINTF ¼«ªÑΓ «¬áºáΓ∞ß∩ ó»«½¡Ñ áñѬóáΓ¡δ¼ ¿ ñ½∩ ¡á-
  109.  τá½á «»αÑñѽѡ¡« ñ«ßΓáΓ«τ¡δ¼. ¥Γ« «ß«íÑ¡¡« ß»αáóÑñ½¿ó« Γ«ú-
  110.      
  111.                            - 154 -
  112.      
  113.  ñá, ¬«úñá ¿¼ÑÑΓß∩ ó«º¼«ª¡«ßΓ∞ π¬áºá¡¿∩ Σá⌐½«ó ñ½∩ óó«ñá ¿
  114.  óδó«ñá ¿ »«Γ«τ¡δ⌐ ¼Ñσá¡¿º¼ ñ½∩ ßó∩º¿ óδó«ñá «ñ¡«⌐ »α«úαá¼¼δ
  115.  ß óó«ñ«¼ ñαπú«⌐. Éáßß¼«Γα¿¼, ¡á»α¿¼Ñα, »α«úαá¼¼π LOWER, ¬«-
  116.  Γ«αá∩ »αÑ«íαáºπÑΓ »α«»¿ß¡δÑ íπ¬óδ ¿º ßó«Ñú« óó«ñá ó ßΓα«τ-
  117.  ¡δÑ:
  118.  
  119.  #INCLUDE <STDIO.H>
  120.  
  121.  MAIN() /* CONVERT INPUT TO LOWER CASE */
  122.  \(
  123.   INT C;
  124.  
  125.   WHILE ((C = GETCHAR()) != EOF)
  126.      PUTCHAR(ISUPPER(C) ? TOLOWER(C) : C);
  127.  \)
  128.  
  129.  "öπ¡¬µ¿¿" ISUPPER ¿ TOLOWER ¡á ßἫ¼ ñѽѠ∩ó½∩εΓß∩ ¼á¬α«ßá-
  130.  ¼¿, «»αÑñѽѡ¡δ¼¿ ó STDIO.H . îá¬α«ß ISUPPER »α«óÑα∩ÑΓ, ∩ó-
  131.  ½∩ÑΓß∩ ½¿ Ñú« áαúπ¼Ñ¡Γ íπ¬ó«⌐ ¿º óÑασ¡Ñú« αÑú¿ßΓαá, ¿ ó«ºó-
  132.  αáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ φΓ« Γá¬, ¿ ¡π½∞ ó »α«Γ¿ó¡«¼
  133.  ß½πτáÑ. îá¬α«ß TOLOWER »αÑ«íαáºπÑΓ íπ¬óπ ¿º óÑασ¡Ñú« αÑú¿ßΓ-
  134.  αá ó Γπ ªÑ íπ¬óπ ¡¿ª¡Ñú« αÑú¿ßΓαá. ìѺáó¿ß¿¼« «Γ Γ«ú«, ¬á¬
  135.  φΓ¿ Σπ¡¬µ¿¿ αÑ὿º«óá¡δ ¡á ¬«¡¬αÑΓ¡«⌐ ¼áΦ¿¡Ñ, ¿σ ó¡ÑΦ¡ÑÑ »«-
  136.  óÑñÑ¡¿Ñ ß«óÑαΦÑ¡¡« «ñ¿¡á¬«ó«, ΓᬠτΓ« ¿ß»«½∞ºπεΘ¿Ñ ¿σ »α«ú-
  137.  αá¼¼δ ¿ºíáó½Ñ¡δ «Γ º¡á¡¿∩ ß¿¼ó«½∞¡«ú« ¡áí«αá.
  138.      àß½¿ ΓαÑíπÑΓß∩ »αÑ«íαẫóáΓ∞ ¡Ñ߬«½∞¬« Σá⌐½«ó, Γ« ¼«ª¡«
  139.  ß«íαáΓ∞ φΓ¿ Σá⌐½δ ß »«¼«Θ∞ε »α«úαá¼¼δ, »«ñ«í¡«⌐ πΓ¿½¿ΓÑ CAT
  140.  ß¿ßΓѼδ UNIX,
  141.  
  142.   CAT FILE1 FILE2 ... \! LOWER>OUTPUT
  143.  
  144.  ¿ ¿ºíѪáΓ∞ ΓѼ ßá¼δ¼ ó«»α«ßá « Γ«¼, ¬á¬ «íαáΓ¿Γ∞ß∩ ¬ φΓ¿¼
  145.  Σá⌐½á¼ ¿º »α«úαá¼¼δ. (Åα«úαá¼¼á CAT »α¿ó«ñ¿Γß∩ »«ºªÑ ó φΓ«⌐
  146.  ú½áóÑ).
  147.      èα«¼Ñ Γ«ú« «Γ¼ÑΓ¿¼, τΓ« ó ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬѠóó«-
  148.  ñá/óδó«ñá "Σπ¡¬µ¿¿" GETCHAR ¿ PUTCHAR ¡á ßἫ¼ ñѽѠ¼«úπΓ
  149.  íδΓ∞ ¼á¬α«ßἿ. ¥Γ« »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ ¡á¬½áñ¡δσ αáßσ«ñ«ó ¡á
  150.  «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ ñ½∩ «íαáí«Γ¬¿ ¬áªñ«ú« ß¿¼ó«½á. é ú½áóÑ 8
  151.  ¼δ »α«ñѼ«¡ßΓα¿απѼ, ¬á¬ φΓ« ñѽáÑΓß∩.
  152.  
  153.       7.3. ö«α¼áΓ¡δ⌐ óδó«ñ - Σπ¡¬µ¿∩ PRINTF
  154.  
  155.      äóÑ Σπ¡¬µ¿¿: PRINTF ñ½∩ óδó«ñá ¿ SCANF ñ½∩ óó«ñá (ß½Ññπ-
  156.  εΘ¿⌐ αáºñѽ) »«ºó«½∩εΓ »αÑ«íαẫóδóáΓ∞ τ¿ß½Ñ¡¡δÑ óѽ¿τ¿¡δ ó
  157.  ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½E¡¿Ñ ¿ «íαáΓ¡«. Ä¡¿ ΓᬪѠ»«ºó«½∩εΓ úÑ-
  158.  ¡Ñα¿α«óáΓ∞ ¿ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ Σ«α¼áΓ¡δÑ ßΓ᫬¿. îδ πªÑ óßεñπ
  159.  ó »αÑñδñπΘ¿σ ú½áóáσ ¡ÑΣ«α¼á½∞¡« ¿ß»«½∞º«ó὿ Σπ¡¬µ¿ε PRINTF;
  160.  ºñÑß∞ »α¿ó«ñ¿Γß∩ í«½ÑÑ »«½¡«Ñ ¿ Γ«τ¡«Ñ «»¿ßá¡¿Ñ. öπ¡¬µ¿∩
  161.  
  162.  PRINTF(CONTROL, ARG1, ARG2, ...)
  163.             
  164.                            - 155 -
  165.      
  166.  »αÑ«íαáºπÑΓ, «»αÑñѽ∩ÑΓ Σ«α¼áΓ ¿ »ÑτáΓáÑΓ ßó«¿ áαúπ¼Ñ¡Γδ ó
  167.  ßΓá¡ñáαΓ¡δ⌐ óδó«ñ »«ñ π»αáó½Ñ¡¿Ñ¼ ßΓ᫬¿ CONTROL. ô»αáó½∩ε-
  168.  Θá∩ ßΓ᫬á ß«ñÑαª¿Γ ñóá Γ¿»á «íΩÑ¬Γ«ó: «íδτ¡δÑ ß¿¼ó«½δ, ¬«-
  169.  Γ«αδÑ »α«ßΓ« ¬«»¿απεΓß∩ ó óδσ«ñ¡«⌐ »«Γ«¬, ¿ ß»Ñµ¿Σ¿¬áµ¿¿
  170.  »αÑ«íαẫóá¡¿⌐, ¬áªñá∩ ¿º ¬«Γ«αδσ óδºδóáÑΓ »αÑ«íαẫóá¡¿Ñ ¿
  171.  »ÑτáΓ∞ «τÑαÑñ¡«ú« áαúπ¼Ñ¡Γá PRINTF.
  172.      èáªñá∩ ß»Ñµ¿Σ¿¬áµ¿∩ »αÑ«íαẫóá¡¿∩ ¡áτ¿¡áÑΓß∩ ß ß¿¼ó«½á
  173.  % ¿ ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ »αÑ«íαẫóá¡¿∩. îѪñπ % ¿ ß¿¼ó«-
  174.  ½«¼ »αÑ«íαẫóá¡¿∩ ¼«úπΓ ¡áσ«ñ¿Γ∞ß∩:
  175.  - º¡á¬ ¼¿¡πß, ¬«Γ«αδ⌐ π¬áºδóáÑΓ « óδαáó¡¿óá¡¿¿ »αÑ«íαẫóá¡-
  176.    ¡«ú« áαúπ¼Ñ¡Γá »« ½Ñó«¼π ¬αáε Ñú« »«½∩.
  177.  - æΓα«¬á µ¿Σα, ºáñáεΘá∩ ¼¿¡¿¼á½∞¡πε Φ¿α¿¡π »«½∩. ÅαÑ«íαẫ-
  178.    óá¡¡«Ñ τ¿ß½« íπñÑΓ ¡á»ÑτáΓá¡« ó »«½Ñ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ φΓ«⌐
  179.    Φ¿α¿¡δ, á Ñß½¿ ¡Ñ«íσ«ñ¿¼«, Γ« ¿ ó í«½ÑÑ Φ¿α«¬«¼. àß½¿ »αÑ-
  180.    «íαẫóá¡¡δ⌐ áαúπ¼Ñ¡Γ ¿¼ÑÑΓ ¼Ñ¡∞ΦÑ ß¿¼ó«½«ó, τѼ π¬áºá¡¡á∩
  181.    Φ¿α¿¡á »«½∩, Γ« «¡ íπñÑΓ ñ«»«½¡Ñ¡ ß½Ñóá (¿½¿ ß»αáóá, Ñß½¿
  182.    í佫 π¬áºá¡« óδαáó¡¿óá¡¿Ñ »« ½Ñó«¼π ¬αáε)ºá»«½¡∩εΘ¿¼¿ ß¿¼-
  183.    ó«½á¼¿ ñ« φΓ«⌐ Φ¿α¿¡δ. çừ½¡∩εΘ¿¼ ß¿¼ó«½«¼ «íδτ¡« ∩ó½∩ÑΓ-
  184.    ß∩ »α«íѽ, á Ñß½¿ Φ¿α¿¡á »«½∩ π¬áºδóáÑΓß∩ ß ½¿ñ¿απεΘ¿¼ ¡π-
  185.    ½Ñ¼, Γ« φΓ¿¼ ß¿¼ó«½«¼ íπñÑΓ ¡π½∞ (½¿ñ¿απεΘ¿⌐ ¡π½∞ ó ñá¡¡«¼
  186.    ß½πτáÑ ¡Ñ «º¡áτáÑΓ ó«ß∞¼Ñα¿τ¡«⌐ Φ¿α¿¡δ »«½∩).
  187.  - Æ«τ¬á, ¬«Γ«αá∩ «Γñѽ∩ÑΓ Φ¿α¿¡π »«½∩ «Γ ß½ÑñπεΘÑ⌐ ßΓ᫬¿
  188.    µ¿Σα.
  189.  - æΓα«¬á µ¿Σα (Γ«τ¡«ßΓ∞), ¬«Γ«αá∩ π¬áºδóáÑΓ ¼á¬ß¿¼á½∞¡«Ñ
  190.    τ¿ß½« ß¿¼ó«½«ó ßΓ᫬¿, ¬«Γ«αδÑ ñ«½ª¡δ íδΓ∞ ¡á»ÑτáΓá¡δ, ¿½¿
  191.    τ¿ß½« »ÑτáΓáѼδσ ß»αáóá «Γ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ µ¿Σα ñ½∩ »ÑαÑ-
  192.    ¼Ñ¡¡δσ Γ¿»á FLOAT ¿½¿ DOUBLE.
  193.  - î«ñ¿Σ¿¬áΓ«α ñ½¿¡δ L, ¬«Γ«αδ⌐ π¬áºδóáÑΓ, τΓ« ß««ΓóÑΓßΓóπε-
  194.    Θ¿⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ ¿¼ÑÑΓ Γ¿» LONG, á ¡Ñ INT.
  195.       ì¿ªÑ »α¿ó«ñ∩Γß∩ ß¿¼ó«½δ »αÑ«íαẫóá¡¿∩ ¿ ¿σ ß¼δß½:
  196.  
  197.  D - áαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ¬ ñÑß∩Γ¿τ¡«¼π ó¿ñπ.
  198.  O - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ó«ß∞¼Ñα¿τ¡πε Σ«α¼π
  199.    (íѺ ½¿ñ¿απεΘÑú« ¡π½∩).
  200.  X - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ΦÑßΓ¡áñµáΓÑα¿τ¡πε
  201.    Σ«α¼π (íѺ ½¿ñ¿απεΘ¿σ 0X).
  202.  U - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ñÑß∩Γ¿τ¡πε Σ«α¼π.
  203.  C - Çαúπ¼Ñ¡Γ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ «Γñѽ∞¡δ⌐ ß¿¼ó«½.
  204.  S - Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ ßΓ᫬«⌐: ß¿¼ó«½δ ßΓ᫬¿ »ÑτáΓáεΓß∩ ñ«
  205.    ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ ñ«ßΓ¿ú¡πΓ ¡π½Ñó«⌐ ß¿¼ó«½ ¿½¿ ¡Ñ íπ-
  206.    ñÑΓ ¡á»ÑτáΓá¡« ¬«½¿τÑßΓó« ß¿¼ó«½«ó, π¬áºá¡¡«Ñ ó ß»Ñµ¿Σ¿¬á-
  207.    µ¿¿ Γ«τ¡«ßΓ¿.
  208.  E - Çαúπ¼Ñ¡Γ, αáßß¼áΓα¿óáѼδ⌐ ¬á¬ »ÑαѼѡ¡á∩ Γ¿»á FLOAT ¿½¿
  209.    DOUBLE, »αÑ«íαáºπÑΓß∩ ó ñÑß∩Γ¿τ¡πε Σ«α¼π ó ó¿ñÑ
  210.    [-]M.NNNNNNE[+-]XX, úñÑ ñ½¿¡á ßΓ᫬¿ ¿º N «»αÑñѽ∩ÑΓß∩
  211.    π¬áºá¡¡«⌐ Γ«τ¡«ßΓ∞ε. Æ«τ¡«ßΓ∞ »« π¼«½τá¡¿ε αáó¡á 6.
  212.  F - Çαúπ¼Ñ¡Γ, αáßß¼áΓα¿óáѼδ⌐ ¬á¬ »ÑαѼѡ¡á∩ Γ¿»á FLOAT ¿½¿
  213.    DOUBLE, »αÑ«íαáºπÑΓß∩ ó ñÑß∩Γ¿τ¡πε Σ«α¼π ó ó¿ñÑ
  214.    [-]MMM.NNNNN, úñÑ ñ½¿¡á ßΓ᫬¿ ¿º N «»αÑñѽ∩ÑΓß∩ π¬áºá¡¡«⌐
  215.    Γ«τ¡«ßΓ∞ε. Æ«τ¡«ßΓ∞ »« π¼«½τá¡¿ε αáó¡á 6. «Γ¼ÑΓ¿¼, τΓ« φΓá
  216.    Γ«τ¡«ßΓ∞ ¡Ñ «»αÑñѽ∩ÑΓ ¬«½¿τÑßΓó« »ÑτáΓáѼδσ ó Σ«α¼áΓÑ F
  217.    º¡áτáΘ¿σ µ¿Σα.
  218.      
  219.                            - 156 -
  220.      
  221.  G - êß»«½∞ºπÑΓß∩ ¿½¿ Σ«α¼áΓ %E ¿½¿ %F, ¬á¬«⌐ ¬«α«τÑ; ¡Ñº¡á-
  222.    τáΘ¿Ñ ¡π½¿ ¡Ñ »ÑτáΓáεΓß∩.
  223.  àß½¿ ¿ñπΘ¿⌐ ºá % ß¿¼ó«½ ¡Ñ ∩ó½∩ÑΓß∩ ß¿¼ó«½«¼ »αÑ«íαẫóá¡¿∩,
  224.  Γ« »ÑτáΓáÑΓß∩ ßá¼ φΓ«Γ ß¿¼ó«½; ß½Ññ«óáΓѽ∞¡«,ß¿¼ó«½ % ¼«ª¡«
  225.  ¡á»ÑτáΓáΓ∞, π¬áºáó %%.
  226.      ü«½∞Φ¿¡ßΓó« ¿º Σ«α¼áΓ¡δσ »αÑ«íαẫóá¡¿⌐ «τÑó¿ñ¡« ¿ í佫
  227.  »α«¿½½εßΓα¿α«óá¡« ó »αÑñδñπΘ¿σ ú½áóáσ. àñ¿¡ßΓóÑ¡¡δ¼ ¿ß¬½ετÑ-
  228.  ¡¿Ñ¼ ∩ó½∩ÑΓß∩ Γ«, ¬á¬ Γ«τ¡«ßΓ∞ óºá¿¼«ñÑ⌐ßΓóπÑΓ ß« ßΓα«¬á¼¿.
  229.  æ½ÑñπεΘá∩ Γáí½¿µá ñѼ«¡ßΓα¿απÑΓ ó½¿∩¡¿Ñ ºáñá¡¿∩ αẽ¿τ¡δσ
  230.  ß»Ñµ¿Σ¿¬áµ¿⌐ ¡á »ÑτáΓ∞ "HELLO, WORLD" (12 ß¿¼ó«½«ó). îδ »«-
  231.  ¼ÑßΓ¿½¿ ñó«ÑΓ«τ¿∩ ó«¬απú ¬áªñ«ú« »«½∩ ñ½∩ Γ«ú«, τΓ«íδ óδ
  232.  ¼«ú½¿ ó¿ñÑΓ∞ Ñú« »α«Γ∩ªÑ¡¡«ßΓ∞.
  233.  
  234.  :%10S:          :HELLO, WORLD:
  235.  :%10-S:         :HELLO, WORLD:
  236.  :%20S:          :    HELLO, WORLD:
  237.  :%-20S:         :HELLO, WORLD      :
  238.  :%20.10S:       :      HELLO, WOR:
  239.  :%-20.10S:      :HELLO, WOR      :
  240.  :%.10S:         :HELLO, WOR:
  241.  
  242.      ÅαÑñ«ßΓÑαѪѡ¿Ñ: PRINTF ¿ß»«½∞ºπÑΓ ßó«⌐ »Ñαóδ⌐ áαúπ¼Ñ¡Γ
  243.  ñ½∩ «»αÑñѽѡ¿∩ τ¿ß½á »«ß½ÑñπεΘ¿σ áαúπ¼Ñ¡Γ«ó ¿ ¿σ Γ¿»«ó. àß-
  244.  ½¿ ¬«½¿τÑßΓó« áαúπ¼Ñ¡Γ«ó «¬áªÑΓß∩ ¡Ññ«ßΓáΓ«τ¡δ¼ ¿½¿ «¡¿ íπ-
  245.  ñπΓ ¿¼ÑΓ∞ ¡Ñß««ΓóÑΓßΓóÑ¡¡δÑ Γ¿»δ, Γ« ó«º¡¿¬¡ÑΓ »πΓá¡¿µá ¿ óδ
  246.  »«½πτ¿ΓÑ íÑßß¼δ߽ѡ¡δÑ αѺπ½∞ΓáΓδ.
  247.      ô»α᪡ѡ¿Ñ 7-1.
  248.      --------------
  249.  
  250.      ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ íπñÑΓ »ÑτáΓáΓ∞ αáºπ¼¡δ¼ «í-
  251.  αẫ¼ »α«¿ºó«½∞¡δ⌐ óó«ñ. èᬠ¼¿¡¿¼π¼ «¡á ñ«½ª¡á »ÑτáΓáΓ∞
  252.  ¡ÑúαáΣ¿τÑ߬¿Ñ ß¿¼ó«½δ ó ó«ß∞¼Ñα¿τ¡«¼ ¿½¿ ΦÑßΓ¡áñµáΓÑα¿τ¡«¼
  253.  ó¿ñÑ (ó ß««ΓóÑΓßΓó¿¿ ß »α¿¡∩Γ묨 π óáß «íδτá∩¼¿) ¿ ß¬½áñδ-
  254.  óáΓ∞ ñ½¿¡¡δÑ ßΓ᫬¿.
  255.  
  256.      7.4. ö«α¼áΓ¡δ⌐ óó«ñ - Σπ¡¬µ¿∩ SCANF
  257.      ÄßπΘÑßΓó½∩εΘá∩ óó«ñ Σπ¡¬µ¿∩ SCANF ∩ó½∩ÑΓß∩ á¡á½«ú«¼
  258.  PRINTF ¿ »«ºó«½∩ÑΓ »α«ó«ñ¿Γ∞ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿ ¼¡«ú¿Ñ
  259.  ¿º ΓÑσ ªÑ ßá¼δσ »αÑ«íαẫóá¡¿⌐. öπ¡¬µ¿∩
  260.  
  261.  SCANF(CONTROL, ARG1, ARG2, ...)
  262.  
  263.  τ¿ΓáÑΓ ß¿¼ó«½δ ¿º ßΓá¡ñáαΓ¡«ú« óó«ñá, ¿¡ΓÑα»αÑΓ¿απÑΓ ¿σ ó
  264.  ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼, π¬áºá¡¡«¼ ó áαúπ¼Ñ¡ΓÑ CONTROL, ¿
  265.  »«¼ÑΘáÑΓ αѺπ½∞ΓáΓδ ó «ßΓá½∞¡δÑ áαúπ¼Ñ¡Γδ. ô»αáó½∩εΘ¿⌐ áαúπ-
  266.  ¼Ñ¡Γ «»¿ßδóáÑΓß∩ ¡¿ªÑ; ñαπú¿Ñ áαúπ¼Ñ¡Γδ, ¬áªñδ⌐ ¿º ¬«Γ«αδσ
  267.  ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ, «»αÑñѽ∩εΓ, ¬πñá ß½ÑñπÑΓ »«¼ÑßΓ¿Γ∞
  268.  ß««ΓóÑΓßΓóπεΘ¿¼ «íαẫ¼ »αÑ«íαẫóá¡¡δ⌐ óó«ñ.
  269.      ô»αáó½∩εΘá∩ ßΓα«¬á «íδτ¡« ß«ñÑαª¿Γ ß»Ñµ¿Σ¿¬áµ¿¿ »αÑ«íαá-
  270.  º«óá¡¿∩, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«⌐ ¿¡ΓÑα»αÑ-
  271.  Γᵿ¿ óσ«ñ¡δσ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐. ô»αáó½∩εΘá∩ ßΓα«¬á ¼«ªÑΓ
  272.  ß«ñÑαªáΓ∞:
  273.  - »α«íѽδ, Γáíπ½∩µ¿¿ ¿½¿ ß¿¼ó«½δ ¡«ó«⌐ ßΓ᫬¿ ("ß¿¼ó«½δ »πß-
  274.    Γδσ »α«¼ÑªπΓ¬«ó"), ¬«Γ«αδÑ ¿ú¡«α¿απεΓß∩.
  275.      
  276.                            - 157 -
  277.      
  278.  - Äíδτ¡δÑ ß¿¼ó«½δ (¡Ñ %), ¬«Γ«αδÑ »αÑñ»«½áúáεΓß∩ ß«ó»áñáεΘ¿-
  279.    ¼¿ ß« ß½ÑñπεΘ¿¼¿ «Γ½¿τ¡δ¼¿ «Γ ß¿¼ó«½«ó »πßΓδσ »α«¼ÑªπΓ¬«ó
  280.    ß¿¼ó«½á¼¿ óσ«ñ¡«ú« »«Γ«¬á.
  281.  - æ»Ñµ¿Σ¿¬áµ¿¿ »αÑ«íαẫóá¡¿∩, ß«ßΓ«∩Θ¿Ñ ¿º ß¿¼ó«½á %, ¡Ñ«-
  282.    í∩ºáΓѽ∞¡«ú« ß¿¼ó«½á »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿∩ *, ¡Ñ«í∩ºá-
  283.    Γѽ∞¡«ú« τ¿ß½á, ºáñáεΘÑú« ¼á¬ß¿¼á½∞¡πε Φ¿α¿¡π »«½∩ ¿ ß¿¼-
  284.    ó«½á »αÑ«íαẫóá¡¿∩.
  285.      æ»Ñµ¿Σ¿¬áµ¿∩ »αÑ«íαẫóá¡¿∩ π»αáó½∩ÑΓ »αÑ«íαẫó᡿Ѽ
  286.  ß½ÑñπεΘÑú« »«½∩ óó«ñá. ¡«α¼á½∞¡« αѺπ½∞ΓáΓ »«¼ÑΘáÑΓß∩ ó »Ñ-
  287.  αѼѡ¡πε, ¬«Γ«αá∩ π¬áºδóáÑΓß∩ ß««ΓóÑΓßΓóπεΘ¿¼ áαúπ¼Ñ¡Γ«¼.
  288.  àß½¿, «ñ¡á¬« , ß »«¼«Θ∞ε ß¿¼ó«½á * π¬áºá¡« »«ñáó½Ñ¡¿Ñ »α¿ß-
  289.  óá¿óá¡¿∩, Γ« φΓ« »«½Ñ óó«ñá »α«ßΓ« »α«»π߬áÑΓß∩ ¿ ¡¿¬á¬«ú«
  290.  »α¿ßóá¿óá¡¿∩ ¡Ñ »α«¿ºó«ñ¿Γß∩. Å«½Ñ óó«ñá «»αÑñѽ∩ÑΓß∩ ¬á¬
  291.  ßΓ᫬á ß¿¼ó«½«ó, ¬«Γ«αδÑ «Γ½¿τ¡δ «Γ ß¿¼ó«½«ó »α«ßΓδσ »α«¼Ñ-
  292.  ªπΓ¬«ó; «¡« »α«ñ«½ªáÑΓß∩ ½¿í« ñ« ß½ÑñπεΘÑú« ß¿¼ó«½á »πßΓ«ú«
  293.  »α«¼ÑªπΓ¬á, ½¿í« »«¬á ¡Ñ íπñÑΓ ¿ßτÑα»á¡á Φ¿α¿¡á »«½∩, Ñß½¿
  294.  «¡á π¬áºá¡á. ÄΓßεñá ß½ÑñπÑΓ, τΓ« »α¿ »«¿ß¬Ñ ¡πª¡«ú« Ñ⌐ óó«-
  295.  ñá, Σπ¡¬µ¿∩ SCANF íπñÑΓ »ÑαÑßѬáΓ∞ úαá¡¿µδ ßΓ᫬, »«ß¬«½∞¬π
  296.  ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿ óσ«ñ¿Γ ó τ¿ß½« »πßΓδσ »α«¼ÑªπΓ¬«ó.
  297.      æ¿¼ó«½ »αÑ«íαẫóá¡¿∩ «»αÑñѽ∩ÑΓ ¿¡ΓÑα»αÑΓáµ¿ε »«½∩ óó«-
  298.  ñá; ß«ú½áß¡« ΓαÑí«óá¡¿∩¼ «ß¡«óá¡¡«⌐ ¡á ó맮óÑ »« º¡áτÑ¡¿ε
  299.  ßѼá¡Γ¿¬¿ ∩ºδ¬á "ß" ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
  300.  π¬áºáΓѽѼ. ä«»π߬áεΓß∩ ß½ÑñπεΘ¿Ñ ß¿¼ó«½δ »αÑ«íαẫóá¡¿∩:
  301.  D - ¡á óó«ñÑ «ª¿ñáÑΓß∩ ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ; ß««ΓóÑΓßΓóπεΘ¿⌐ áα-
  302.     úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ.
  303.  O - ìá óó«ñÑ «ª¿ñáÑΓß∩ ó«ß∞¼Ñα¿τ¡«Ñ µÑ½«Ñ (ß ½¿ñ¿απεΘ¿¼ ¡π-
  304.     ½Ñ¼ ¿½¿ íѺ ¡Ñú«); ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
  305.     π¬áºáΓѽѼ ¡á µÑ½«Ñ.
  306.  X - ìá óó«ñÑ «ª¿ñáÑΓß∩ ΦÑßΓ¡áñµáΓÑα¿τ¡«Ñ µÑ½«Ñ (ß ½¿ñ¿απεΘ¿-
  307.     ¼¿ 0X ¿½¿ íѺ ¡¿σ); ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
  308.     π¬áºáΓѽѼ ¡á µÑ½«Ñ.
  309.  H - ìá óó«ñÑ «ª¿ñáÑΓß∩ µÑ½«Ñ Γ¿»á SHORT; ß««ΓóÑΓßóπεΘ¿⌐ áα-
  310.     úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ Γ¿»á SHORT.
  311.  C - Äª¿ñáÑΓß∩ «Γñѽ∞¡δ⌐ ß¿¼ó«½; ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ
  312.     ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á ß¿¼ó«½δ; ß½ÑñπεΘ¿⌐ óó«ñ¿¼δ⌐
  313.     ß¿¼ó«½ »«¼ÑΘáÑΓß∩ ó π¬áºá¡¡«Ñ ¼ÑßΓ«. Äíδτ¡δ⌐ »α«»π߬ ß¿¼-
  314.     ó«½«ó »πßΓδσ »α«¼ÑªπΓ¬«ó ó φΓ«¼ ß½πτáÑ »«ñáó½∩ÑΓß∩; ñ½∩
  315.     τΓÑ¡¿∩ ß½ÑñπεΘÑú« ß¿¼ó«½á, ¬«Γ«αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩ ß¿¼ó«½«¼
  316.     »πßΓ«ú« »α«¼ÑªπΓ¬á, »«½∞ºπ⌐ΓÑß∞ ß»Ñµ¿Σ¿¬áµ¿Ñ⌐ »αÑ«íαẫ-
  317.     óá¡¿∩ %1S.
  318.  S - Äª¿ñáÑΓß∩ ß¿¼ó«½∞¡á∩ ßΓ᫬á; ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ
  319.     ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ß¿¼ó«½«ó, ¬«Γ«αδ⌐ π¬áºδóáÑΓ ¡á
  320.     ¼áßß¿ó ß¿¼ó«½«ó, ¬«Γ«αδ⌐ ñ«ßΓáΓ«τ¡« óѽ¿¬ ñ½∩ »α¿¡∩Γ¿∩
  321.     ßΓ᫬¿ ¿ ñ«íáó½∩Ѽ«ú« ó ¬«¡µÑ ß¿¼ó«½á \0.
  322.  F - Äª¿ñáÑΓß∩ τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐; ß««ΓóÑΓßΓóπεΘ¿⌐ áα-
  323.     úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á »ÑαѼѡ¡πε Γ¿»á FLOAT.
  324.  à - ß¿¼ó«½ »αÑ«íαẫóá¡¿∩ E ∩ó½∩ÑΓß∩ ß¿¡«¡¿¼«¼ ñ½∩ F. ö«α¼áΓ
  325.     óó«ñá »ÑαѼѡ¡«⌐ Γ¿»á FLOAT ó¬½ετáÑΓ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ º¡á¬,
  326.     ßΓα«¬π µ¿Σα, ó«º¼«ª¡« ß«ñÑαªáΘπε ñÑß∩Γ¿τ¡πε Γ«τ¬π ¿ ¡Ñ«-
  327.     í∩ºáΓѽ∞¡«Ñ »«½Ñ φ¬ß»«¡Ñ¡Γδ, ß«ßΓ«∩ΘÑÑ ¿º íπ¬óδ E, ºá ¬«-
  328.     Γ«α«⌐ ß½ÑñπÑΓ µÑ½«Ñ, ó«º¼«ª¡« ¿¼ÑεΘÑÑ º¡á¬.
  329.      
  330.                            - 158 -
  331.      
  332.      ÅÑαÑñ ß¿¼ó«½á¼¿ »αÑ«íαẫóá¡¿∩ D, O ¿ X ¼«ªÑΓ ßΓ«∩Γ∞ L,
  333.  ¬«Γ«αá∩ «º¡áτáÑΓ , τΓ« ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó ñ«½ªÑ¡ ¡áσ«ñ¿Γ∞ß∩
  334.  π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε Γ¿»á LONG, á ¡Ñ Γ¿»á INT. Ç¡á½«ú¿τ-
  335.  ¡«, íπ¬óá L ¼«ªÑΓ ßΓ«∩Γ∞ »ÑαÑñ ß¿¼ó«½á¼¿ »αÑ«íαẫóá¡¿∩ E
  336.  ¿½¿ F, ú«ó«α∩ « Γ«¼, τΓ« ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó ñ«½ªÑ¡ ¡áσ«-
  337.  ñ¿Γ∞ß∩ π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε Γ¿»á DOUBLE, á ¡Ñ Γ¿»á FLOAT.
  338.      ìá»α¿¼Ñα, «íαáΘÑ¡¿Ñ
  339.  INT I;
  340.  FLOAT X;
  341.  CHAR NAME[50];
  342.  SCANF("&D %F %S", &I, &X, NAME);
  343.  
  344.  ß« ßΓ᫬«⌐ ¡á óó«ñÑ
  345.  
  346.  25  54.32E-1   THOMPSON
  347.  
  348.  »α¿ó«ñ¿Γ ¬ »α¿ßóá¿óá¡¿ε I º¡áτÑ¡¿∩ 25,X - º¡áτÑ¡¿∩ 5.432 ¿
  349.  NAME - ßΓ᫬¿ "THOMPSON", ¡áñ½ÑªáΘ¿¼ «íαẫ¼ ºá¬«¡τÑ¡¡«⌐
  350.  ß¿¼ó«½«¼ \ 0. φΓ¿ Γα¿ »«½∩ óó«ñá ¼«ª¡« αáºñѽ¿Γ∞ ßΓ«½∞¬¿¼¿
  351.  »α«íѽἿ, Γáíπ½∩µ¿∩¼¿ ¿ ß¿¼ó«½á¼¿ ¡«óδσ ßΓ᫬, ß¬«½∞¬« óδ
  352.  »«ªÑ½áÑΓÑ. ÄíαáΘÑ¡¿Ñ
  353.  
  354.   INT  I;
  355.   FLOAT X;
  356.   CHAR NAME[50];
  357.   SCANF("%2D %F %*D %2S", &I, &X, NAME);
  358.  
  359.  ß óó«ñ«¼
  360.  
  361.   56789 0123 45A72
  362.  
  363.  »α¿ßó«¿Γ I º¡áτÑ¡¿Ñ 56, X - 789.0, »α«»πßΓ¿Γ 0123 ¿ »«¼ÑßΓ¿Γ
  364.  ó NAME ßΓ᫬π "45". »α¿ ß½ÑñπεΘѼ «íαáΘÑ¡¿¿ ¬ ½εí«⌐ »α«µÑñπ-
  365.  αÑ óó«ñá αáßß¼«ΓαÑ¡¿Ñ ¡áτ¡ÑΓß∩ ß íπ¬óδ A. é φΓ¿σ ñóπσ »α¿¼Ñ-
  366.  αáσ NAME ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¿, ß½Ññ«óáΓѽ∞¡«, »ÑαÑñ ¡¿¼ ¡Ñ
  367.  ¡πª¡« »«¼ÑΘáΓ∞ º¡á¬ &.
  368.      é ¬áτÑßΓóÑ ñαπú«ú« »α¿¼Ñαá »ÑαÑ»¿ΦѼ ΓÑ»Ñα∞ φ½Ñ¼Ñ¡Γáα¡δ⌐
  369.  ¬á½∞¬π½∩Γ«α ¿º ú½áóδ 4, ¿ß»«½∞ºπ∩ ñ½∩ »αÑ«íαẫóá¡¿∩ óó«ñá
  370.  Σπ¡¬µ¿ε SCANF:
  371.  
  372.    #INCLUDE  <STDIO.H>
  373.    MAIN()    /* RUDIMENTARY DESK CALCULATOR */
  374.    \(
  375.    DOUBLE SUM, V;
  376.    SUM =0;
  377.    WHILE (SCANF("%LF", &V) !=EOF)
  378.         PRINTF("\T%.2F\N", SUM += V);
  379.    \)
  380.  
  381.  óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ SCANF ºá¬á¡τ¿óáÑΓß∩ ½¿í« Γ«úñá, ¬«úñá «¡á
  382.  ¿ßτÑα»δóáÑΓ ßó«ε π»αáó½∩εΘπε ßΓ᫬π, ½¿í« ¬«úñᠡѬ«Γ«αδ⌐
  383.  φ½Ñ¼Ñ¡Γ óó«ñá ¡Ñ ß«ó»áñáÑΓ ß π»αáó½∩εΘÑ⌐ ß»Ñµ¿Σ¿¬áµ¿Ñ⌐. é
  384.  ¬áτÑßΓóÑ ßó«Ñú« º¡áτÑ¡¿∩ «¡á ó«ºóαáΘáÑΓ τ¿ß½« »αáó¿½∞¡« ß«ó-
  385.  »áñáεΘ¿σ ¿ »α¿ßó«Ñ¡¡δσ φ½Ñ¼Ñ¡Γ«ó óó«ñá. ¥Γ« τ¿ß½« ¼«ªÑΓ íδΓ∞
  386.      
  387.                            - 159 -
  388.      
  389.  ¿ß»«½∞º«óá¡« ñ½∩ «»αÑñѽѡ¿∩ ¬«½¿τÑßΓóá ¡á⌐ñÑ¡¡δσ φ½Ñ¼Ñ¡Γ«ó
  390.  óó«ñá. »α¿ óδσ«ñÑ ¡á ¬«¡Ñµ Σá⌐½á ó«ºóαáΘáÑΓß∩ EOF; »«ñτÑα¬-
  391.  ¡Ñ¼, τΓ« φΓ« º¡áτÑ¡¿Ñ «Γ½¿τ¡« «Γ 0, τΓ« ß½ÑñπεΘ¿⌐ óó«ñ¿¼δ⌐
  392.  ß¿¼ó«½ ¡Ñ πñ«ó½ÑΓó«α∩ÑΓ »Ñαó«⌐ ß»Ñµ¿Σ¿¬áµ¿¿ ó π»αáó½∩εΘÑ⌐
  393.  ßΓ᫬Ñ. Åα¿ ß½ÑñπεΘѼ «íαáΘÑ¡¿¿ ¬ SCANF »«¿ß¬ ó«º«í¡«ó½∩ÑΓß∩
  394.  ¡Ñ»«ßαÑñßΓóÑ¡¡« ºá »«ß½Ññ¡¿¼ óóÑñÑ¡¡δ¼ ß¿¼ó«½«¼.
  395.      çᬽετ¿Γѽ∞¡«Ñ »αÑñ«ßΓÑαѪѡ¿Ñ: áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ SCANF
  396.  ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩¼¿. ìÑß«¼¡Ñ¡¡« ¡á¿í«½ÑÑ αáß»α«ßΓαá¡Ñ¡-
  397.  ¡á∩ «Φ¿í¬á ß«ßΓ«¿Γ ó ¡á»¿ßá¡¿¿
  398.  
  399.   SCANF("%D", N);
  400.  
  401.  ó¼ÑßΓ«
  402.  
  403.   SCANF("%D", &N);
  404.      
  405.      7.5. ö«α¼áΓ¡«Ñ »αÑ«íαẫóá¡¿Ñ ó »á¼∩Γ¿
  406.  
  407.  
  408.  
  409.      ÄΓ Σπ¡¬µ¿¿ SCANF ¿ PRINTF »α«¿ßσ«ñ∩Γ Σπ¡¬µ¿¿ SSCANF ¿
  410.  SPRINTF, ¬«Γ«αδÑ «ßπΘÑßΓó½∩εΓ á¡á½«ú¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¡«
  411.  «»Ñα¿απεΓ ß« ßΓ᫬«⌐, á ¡Ñ ß Σá⌐½«¼. ÄíαáΘÑ¡¿∩ ¬ φΓ¿¼ Σπ¡¬-
  412.  µ¿∩¼ ¿¼ÑεΓ ó¿ñ:
  413.  
  414.   SPRINTF(STRING, CONTROL, ARG1, ARG2, ...)
  415.   SSCANF(STRING, CONTROL, ARG1, ARG2, ...)
  416.  
  417.  èᬠ¿ αá¡∞ΦÑ , Σπ¡¬µ¿∩ SPRINTF »αÑ«íαáºπÑΓ ßó«¿ áαúπ¼Ñ¡Γδ
  418.  ARG1, ARG2 ¿ Γ.ñ. é ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼, π¬áºá¡¡δ¼ ó
  419.  CONTROL, ¡« »«¼ÑΘáÑΓ αѺπ½∞ΓáΓδ ó STRING, á ¡Ñ ó ßΓá¡ñáαΓ¡δ⌐
  420.  óδó«ñ. KÄ¡Ñτ¡«, ßΓ᫬á STRING ñ«½ª¡á íδΓ∞ ñ«ßΓáΓ«τ¡« óѽ¿¬á,
  421.  τΓ«íδ »α¿¡∩Γ∞ αѺπ½∞ΓáΓ. ìá»α¿¼Ñα, Ñß½¿ NAME - φΓ« ß¿¼ó«½∞-
  422.  ¡δ⌐ ¼áßß¿ó, á N - µÑ½«Ñ, Γ«
  423.  
  424.  SPRINTF(NAME, "TEMP%D", N);
  425.  
  426.  ß«ºñáÑΓ ó NAME ßΓ᫬π ó¿ñá TEMPNNN, úñÑ NNN - º¡áτÑ¡¿Ñ N.
  427.      öπ¡¬µ¿∩ SSCANF óδ»«½¡∩ÑΓ «íαáΓ¡δÑ »αÑ«íαẫóá¡¿∩ - «¡á
  428.  »α«ß¼áΓα¿óáÑΓ ßΓ᫬π STRING ó ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼ ó áα-
  429.  úπ¼Ñ¡ΓÑ CONTROL ¿ »«¼ÑΘáÑΓ αѺπ½∞Γ¿απεΘ¿Ñ º¡áτÑ¡¿∩ ó áαúπ-
  430.  ¼Ñ¡Γδ ARG1, ARG2 ¿ Γ.ñ.φΓ¿ áαúπ¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩-
  431.  ¼¿. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
  432.  
  433.  SSCANF(NAME, "TEMP%D", &N);
  434.  
  435.  »ÑαѼѡ¡á∩ N »«½πτáÑΓ º¡áτÑ¡¿Ñ ßΓ᫬¿ µ¿Σα, ß½ÑñπεΘ¿σ ºá
  436.  TEMP ó NAME.
  437.      ô»α᪡ѡ¿Ñ 7-2.
  438.      --------------
  439.      ÅÑαÑ»¿Φ¿ΓÑ ¡áßΓ«½∞¡δ⌐ ¬á½∞¬π½∩Γ«α ¿º ú½áóδ 4, ¿ß»«½∞ºπ∩
  440.  ñ½∩ óó«ñá ¿ »αÑ«íαẫóá¡¿∩ τ¿ßѽ SCANF ¿/¿½¿ SSCANF.
  441.             
  442.                            - 160 -
  443.      
  444.      7.6. ä«ßΓπ» ¬ Σá⌐½á¼
  445.      éßÑ ñ« ß¿σ »«α ¡á»¿ßá¡¡δÑ »α«úαá¼¼δ τ¿Γ὿ ¿º ßΓá¡ñáαΓ-
  446.  ¡«ú« óó«ñá ¿ »¿ß὿ ó ßΓá¡ñáαΓ¡δ⌐ óδó«ñ, «Γ¡«ß¿Γѽ∞¡« ¬«Γ«-
  447.  αδσ ¼δ »αÑñ»«½áú὿, τΓ« «¡¿ ¼áú¿τÑ߬¿¼ «íαẫ¼ »αÑñ«ßΓáó½Ñ-
  448.  ¡δ »α«úαἼѠ¼ÑßΓ¡«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐.
  449.      æ½ÑñπεΘ¿¼ Φáú«¼ ó ó«»α«ßÑ óó«ñá-óδó«ñá ∩ó½∩ÑΓß∩ ¡á»¿ßá-
  450.  ¡¿Ñ »α«úαá¼¼δ, αáí«ΓáεΘÑ⌐ ß Σá⌐½«¼, ¬«Γ«αδ⌐ ¡Ñ ßó∩ºá¡ ºáαá-
  451.  ¡ÑÑ ß »α«úαá¼¼«⌐. «ñ¡«⌐ ¿º »α«úαá¼¼, ¬«Γ«αá∩ ∩ó¡« ñѼ«¡ßΓα¿-
  452.  απÑΓ »«ΓαÑí¡«ßΓ∞ ó Γá¬¿σ «»Ñαᵿ∩σ, ∩ó½∩ÑΓß∩ CAT, ¬«Γ«αá∩
  453.  «íΩÑñ¿¡∩ÑΓ ¡áí«α ¿º ¡Ñ߬«½∞¬¿σ ¿¼Ñ¡«óá¡¡δσ Σá⌐½«ó ó ßΓá¡ñáα-
  454.  Γ¡δ⌐ óδó«ñ. Åα«úαá¼¼á CAT ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδó«ñá Σá⌐½«ó ¡á
  455.  ΓÑନ¡á½ ¿ ó ¬áτÑßΓóÑ π¡¿óÑαßá½∞¡«ú« ßí«αΘ¿¬á óó«ñá ñ½∩
  456.  »α«úαá¼¼, ¬«Γ«αδÑ ¡Ñ ¿¼ÑεΓ ó«º¼«ª¡«ßΓ¿ «íαáΘáΓ∞ß∩ ¬ Σá⌐½á¼
  457.  »« ¿¼Ñ¡¿. ìá»α¿¼Ñα, ¬«¼á¡ñá
  458.  
  459.  CAT X.C.Y.C
  460.  
  461.  »ÑτáΓáÑΓ ß«ñÑন¼«Ñ Σá⌐½«ó X.C ¿ Y.C ó ßΓá¡ñáαΓ¡δ⌐ óδó«ñ.
  462.      é«»α«ß ß«ßΓ«¿Γ ó Γ«¼, ¬á¬ «αúá¡¿º«óáΓ∞ τΓÑ¡¿Ñ ¿º ¿¼Ñ¡«-
  463.  óá¡¡δσ Σá⌐½«ó, Γ.Ñ., ¬á¬ ßó∩ºáΓ∞ ó¡ÑΦ¡¿Ñ ¿¼Ñ¡á, ¬«Γ«α묨
  464.  ¼δß½¿Γ »«½∞º«óáΓѽ∞, ß Σá¬Γ¿τÑ߬¿ τ¿ΓáεΘ¿¼¿ ñá¡¡δÑ «»ÑαáΓ«-
  465.  αἿ.
  466.  
  467.      ¥Γ¿ »αáó¿½á »α«ßΓδ. ÅαѪñÑ τѼ ¼«ª¡« ßτ¿ΓδóáΓ∞ ¿º ¡Ñ¬«-
  468.  Γ«α«ú« Σá⌐½á ¿½¿ ºá»¿ßδóáΓ∞ ó ¡Ñú«, φëàΣá⌐½ ñ«½ªÑ¡ íδΓ∞
  469.  «Γ¬αδΓ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ FOPEN ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿.
  470.  Σπ¡¬µ¿∩ FOPEN íÑαÑΓ ó¡ÑΦ¡ÑÑ ¿¼∩ (»«ñ«í¡«Ñ X.C ¿½¿ Y.C), »α«-
  471.  ó«ñ¿Γ ¡Ñ¬«Γ«αδÑ «íß½πª¿óáεΘ¿Ñ ñÑ⌐ßΓó¿∩ ¿ »ÑαÑú«ó«αδ ß «»Ñαá-
  472.  µ¿«¡¡«⌐ ß¿ßΓѼ«⌐ (ñÑΓ὿ ¬«Γ«αδσ ¡Ñ ñ«½ª¡δ ¡áß ¬áßáΓ∞ß∩) ¿
  473.  ó«ºóαáΘáÑΓ ó¡πΓαÑ¡¡ÑÑ ¿¼∩, ¬«Γ«α«Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ »α¿
  474.  »«ß½ÑñπεΘ¿σ τΓÑ¡¿∩σ ¿º Σá⌐½á ¿½¿ ºá»¿ß∩σ ó ¡Ñú«.
  475.      ¥Γ« ó¡πΓαÑ¡¡ÑÑ ¿¼∩, ¡áºδóáѼ«Ñ "π¬áºáΓѽѼ Σá⌐½á", Σá¬-
  476.  Γ¿τÑ߬¿ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ßΓαπ¬Γπαδ, ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡-
  477.  Σ«α¼áµ¿ε « Σá⌐½Ñ, Γá¬πε ¬á¬ ¼ÑßΓ« αẼÑΘÑ¡¿∩ íπΣÑαá, ΓѬπΘá∩
  478.  »«º¿µ¿∩ ß¿¼ó«½á ó íπΣÑαÑ, »α«¿ßσ«ñ¿Γ ½¿ τΓÑ¡¿Ñ ¿º Σá⌐½á ¿½¿
  479.  ºá»¿ß∞ ó ¡Ñú« ¿ Γ«¼π »«ñ«í¡«Ñ. Å«½∞º«óáΓѽ¿ ¡Ñ «í∩ºá¡δ º¡áΓ∞
  480.  φΓ¿ ñÑΓ὿, »«Γ«¼π τΓ« ßαÑñ¿ «»αÑñѽѡ¿⌐ ñ½∩ ßΓá¡ñáαΓ¡«ú«
  481.  óó«ñá-óδó«ñá, »«½πτáѼδσ ¿º Σá⌐½á STDIO.H, ß«ñÑনΓß∩ «»αÑ-
  482.  ñѽѡ¿Ñ ßΓαπ¬Γπαδ ß ¿¼Ñ¡Ñ¼ FILE. àñ¿¡ßΓóÑ¡¡«Ñ ¡Ñ«íσ«ñ¿¼«Ñ
  483.  ñ½∩ π¬áºáΓѽ∩ Σá⌐½á «»¿ßá¡¿Ñ ñѼ«¡ßΓα¿απÑΓß∩ »α¿¼Ñα«¼:
  484.      
  485.          FILE *FOPEN(), *FP;
  486.  
  487.      çñÑß∞ ú«ó«α¿Γß∩, τΓ« FP ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á FILE ¿
  488.  FOPEN ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á FILE. OíαáΓ¿ΓѠ󡿼᡿Ñ, τΓ«
  489.  FILE ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ Γ¿»á, »«ñ«í¡δ¼ INT, á ¡Ñ ∩α½δ¬π ßΓαπ¬-
  490.  Γπαδ; φΓ« αÑ὿º«óá¡« ¬á¬ TYPEDEF. (Å«ñα«í¡«ßΓ¿ Γ«ú«, ¬á¬
  491.  óßÑ φΓ« αáí«ΓáÑΓ ¡á ß¿ßΓѼѠUNIX, »α¿óÑñÑ¡δ ó ú½áóÑ 8).
  492.      öá¬Γ¿τÑ߬«Ñ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ FOPEN ó »α«úαἼѠ¿¼ÑÑΓ
  493.  ó¿ñ:
  494.         FP=FOPEN(NAME,MODE);
  495.             
  496.                            - 161 -
  497.      
  498.    ÅÑαóδ¼ áαúπ¼Ñ¡Γ«¼ Σπ¡¬µ¿¿ FOPEN ∩ó½∩ÑΓß∩ "¿¼∩" Σá⌐½á, ¬«Γ«-
  499.  α«Ñ ºáñáÑΓß∩ ó ó¿ñÑ ß¿¼ó«½∞¡«⌐ ßΓ᫬¿. éΓ«α«⌐ áαúπ¼Ñ¡Γ MODE
  500.  ("αѪ¿¼") ΓᬪѠ∩ó½∩ÑΓß∩ ß¿¼ó«½∞¡«⌐ ßΓ᫬«⌐, ¬«Γ«αá∩ π¬áºδ-
  501.  óáÑΓ, ¬á¬ φëàΣá⌐½ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩. ä«»πßΓ¿¼δ¼¿ αѪ¿-
  502.  ¼á¼¿ ∩ó½∩εΓß∩: τΓÑ¡¿Ñ ("R"), ºá»¿ß∞ ("W") ¿ ñ«íáó½Ñ¡¿Ñ
  503.  ("A").
  504.   àß½¿ óδ «Γ¬α«ÑΓÑ Σá⌐½, ¬«Γ«αδ⌐ ÑΘÑ ¡Ñ ßπΘÑΓóπÑΓ, ñ½∩ ºá-
  505.   »¿ß¿ ¿½¿ ñ«íáó½Ñ¡¿∩, Γ« Γᬫ⌐ Σá⌐½ íπñÑΓ ß«ºñá¡ (Ñß½¿ φΓ«
  506. 󫺼«ª¡«). ÄΓ¬αδΓ¿Ñ ßπΘÑßΓóπεΘÑú« Σá⌐½á ¡á ºá»¿ß∞ »α¿ó«ñ¿Γ ¬
  507.  «Γíαáßδóá¡¿ε Ñú« ßΓáα«ú« ß«ñÑন¼«ú«. Å«»δΓ¬á τΓÑ¡¿∩ ¡Ñßπ-
  508.  ΘÑßΓóπεΘÑú« Σá⌐½á ∩ó½∩ÑΓß∩ «Θ¿í¬«⌐. ÄΦ¿í¬¿ ¼«úπΓ íδΓ∞ «íπß-
  509.   ½«ó½Ñ¡δ ¿ ñαπú¿¼¿ »α¿τ¿¡á¼¿ (¡á»α¿¼Ñα, »«»δΓ¬«⌐ τΓÑ¡¿∩ ¿º
  510.   Σá⌐½á, ¡Ñ ¿¼Ñ∩ ¡á Γ« αáºαÑΦÑ¡¿∩). Åα¿ ¡á½¿τ¿¿ ¬á¬«⌐-½¿í«
  511.   «Φ¿í¬¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ NULL
  512.  (¬«Γ«α«Ñ ñ½∩ πñ«íßΓóá ΓᬪѠ«»αÑñѽ∩ÑΓß∩ ó Σá⌐½Ñ STDIO.H).
  513.    äαπú«⌐ ¡Ñ«íσ«ñ¿¼«⌐ óÑΘ∞ε ∩ó½∩ÑΓß∩ ß»«ß«í τΓÑ¡¿∩ ¿½¿ ºá-
  514.  »¿ß¿, Ñß½¿ Σá⌐½ πªÑ «Γ¬αδΓ. çñÑß∞ ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« ó«º¼«ª-
  515.  ¡«ßΓÑ⌐, ¿º ¬«Γ«αδσ GETC ¿ PUTC ∩ó½∩εΓß∩ »α«ßΓÑ⌐Φ¿¼¿.Σπ¡¬µ¿∩
  516. GETC ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿º Σá⌐½á; Ñ⌐ ¡Ñ«íσ«ñ¿¼ π¬á-
  517. ºáΓѽ∞ Σá⌐½á, τΓ«íδ º¡áΓ∞, ¿º ¬á¬«ú« Σá⌐½á τ¿ΓáΓ∞. Æá¬¿¼ «í-
  518.                            αẫ¼,
  519.  
  520.              C=GETC(FP)
  521.  
  522.  »«¼ÑΘáÑΓ ó "C" ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿º Σá⌐½á, π¬áºá¡¡«ú« »«ßαÑñ-
  523.  ßΓó«¼ FP, ¿ EOF, Ñß½¿ ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ Σá⌐½á.
  524.      öπ¡¬µ¿∩ PUTC, ∩ó½∩εΘá∩ß∩ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿¿ GETC,
  525.      
  526.             PUTC(C,FP)
  527.  
  528.  »«¼ÑΘáÑΓ ß¿¼ó«½ "C" ó Σá⌐½ FP ¿ ó«ºóαáΘáÑΓ "C". Å«ñ«í¡« Σπ¡-
  529.  ¬µ¿∩¼ GETCHAR ¿ PUTCHAR, GETC ¿ PUTC ¼«úπΓ íδΓ∞ ¼á¬α«ßἿ, á
  530.  ¡Ñ Σπ¡¬µ¿∩¼¿.
  531.      Åα¿ ºá»π߬Ѡ»α«úαá¼¼δ áóΓ«¼áΓ¿τÑ߬¿ «Γ¬αδóáεΓß∩ Γα¿ Σá⌐-
  532.  ½á, ¬«Γ«αδÑ ß¡áíªÑ¡δ «»αÑñѽѡ¡δ¼¿ π¬áºáΓѽ∩¼¿ Σá⌐½«ó. ¥Γ¿¼¿
  533.  Σá⌐½á¼¿ ∩ó½∩εΓß∩ ßΓá¡ñáαΓ¡δ⌐ óó«ñ, ßΓá¡ñáαΓ¡δ⌐ óδó«ñ ¿ ßΓá¡-
  534.  ñáαΓ¡δ⌐ óδó«ñ «Φ¿í«¬; ß««ΓóÑΓßΓóπεΘ¿Ñ π¬áºáΓѽ¿ Σá⌐½«ó ¡áºδ-
  535.  óáεΓß∩ STDIN, STDOUT ¿ STDERR. Äíδτ¡« óßÑ φΓ¿ π¬áºáΓѽ¿ ßó∩-
  536.  ºá¡δ ß ΓÑନ¡á½«¼, ¡« STDIN ¿ STDOUT ¼«úπΓ íδΓ∞ »ÑαÑ¡á»αáó-
  537.  ½Ñ¡δ ¡á Σá⌐½δ ¿½¿ ó »«Γ«¬ (PIPE), ¬á¬ «»¿ßδóὫß∞ ó αáºñѽÑ
  538.  7.2.
  539.      öπ¡¬µ¿¿ GETCHAR ¿ PUTCHAR ¼«úπΓ íδΓ∞ «»αÑñѽѡδ ó ΓÑନ-
  540.  ¡á½áσ GETC, PUTC, STDIN ¿ STDOUT ß½ÑñπεΘ¿¼ «íαẫ¼:
  541.  #DEFINE GETCHAR() GETC(STDIN) #DEFINE PUTCHAR(C)  PUTC(C,
  542.  STDOUT)
  543.  Åα¿ αáí«ΓÑ ß Σá⌐½á¼¿ ñ½∩ Σ«α¼áΓ¡«ú« óó«ñá ¿ óδó«ñá ¼«ª¡« ¿ß-
  544.  »«½∞º«óáΓ∞ Σπ¡¬µ¿¿ FSCANF ¿ FPRINTF. Ä¡¿ ¿ñÑ¡Γ¿τ¡δ Σπ¡¬µ¿∩¼
  545.  SCANF ¿ PRINTF, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« »Ñαóδ¼ áαúπ¼Ñ¡Γ«¼
  546.  ∩ó½∩ÑΓß∩ π¬áºáΓѽ∞ Σá⌐½á, «»αÑñѽ∩εΘ¿⌐ Γ«Γ Σá⌐½, ¬«Γ«αδ⌐ íπ-
  547.  ñÑΓ τ¿ΓáΓ∞ß∩ ¿½¿ ¬πñá íπñÑΓ óÑßΓ¿ß∞ ºá»¿ß∞; π»αáó½∩εΘá∩
  548.  ßΓ᫬á íπñÑΓ óΓ«αδ¼ áαúπ¼Ñ¡Γ«¼.
  549.      
  550.                            - 162 -
  551.      
  552.      Å«¬«¡τ¿ó ß »αÑñóáα¿Γѽ∞¡δ¼¿ ºá¼Ñτá¡¿∩¼¿, ¼δ ΓÑ»Ñα∞ ó
  553.  ß«ßΓ«∩¡¿¿ ¡á»¿ßáΓ∞ »α«úαá¼¼π CAT ñ½∩ ¬«¡¬áΓѡᵿ¿ Σá⌐½«ó.
  554.  êß»«½∞ºπѼá∩ ºñÑß∞ «ß¡«ó¡á∩ ßσѼᠫ¬áºδóáÑΓß∩ πñ«í¡«⌐ ó«
  555.  ¼¡«ú¿σ »α«úαá¼¼áσ: Ñß½¿ ¿¼ÑεΓß∩ áαúπ¼Ñ¡Γδ ó ¬«¼á¡ñ¡«⌐ ßΓα«-
  556.  ¬Ñ, Γ« «¡¿ «íαáíáΓδóáεΓß∩ »«ß½Ññ«óáΓѽ∞¡«. àß½¿ ΓᬿѠáαúπ-
  557.  ¼Ñ¡Γδ «ΓßπΓßΓóπεΓ, Γ« «íαáíáΓδóáÑΓß∩ ßΓá¡ñáαΓ¡δ⌐ óó«ñ. ¥Γ«
  558.  »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ »α«úαá¼¼π ¬á¬ ßἫßΓ«∩Γѽ∞¡«, Γᬠ¿
  559.  ¬á¬ τáßΓ∞ í«½∞ΦÑ⌐ ºáñáτ¿.
  560.  
  561.    #INCLUDE <STDIO.H>
  562.    MAIN(ARGC, ARGV)   /*CAT: CONCATENATE FILES*/
  563.    INT ARGC;
  564.    CHAR *ARGV[];
  565.    \(
  566.   FILE *FP, *FOPEN();
  567.   IF(ARGC==1) /*NO ARGS; COPY STANDARD INPUT*/
  568.   FILECOPY(STDIN);
  569.   ELSE
  570.   WHILE (--ARGC > 0)
  571.        IF ((FP=FOPEN(*++ARGV,"R"))==NULL) \(
  572.           PRINTF("CAT:CAN'T OPEN %\N",*ARGV);
  573.           BREAK;
  574.        \) ELSE \(
  575.           FILECOPY(FP);
  576.           FCLOSE(FP);
  577.        \)
  578.    \)
  579.     FILECOPY(FP)  /*COPY FILE FP TO STANDARD OUTPUT*/
  580.     FILE *FP;
  581.     \(
  582.    INT C;
  583.    WHILE ((C=GETC(FP)) !=EOF)
  584.    PUTC(C, STDOUT);
  585.     \)
  586.  
  587.  ô¬áºáΓѽ¿ Σá⌐½«ó STDIN ¿ STDOUT ºáαá¡ÑÑ «»αÑñѽѡδ ó í¿í½¿«-
  588.  ΓѬѠóó«ñá-óδó«ñᠬᬠßΓá¡ñáαΓ¡δ⌐ óó«ñ ¿ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ;
  589.  «¡¿ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ó ½εí«¼ ¼ÑßΓÑ, úñÑ ¼«ª¡« ¿ß»«½∞-
  590.  º«óáΓ∞ «íΩÑ¬Γ Γ¿»á FILE*.«¡¿ «ñ¡á¬« ∩ó½∩εΓß∩ ¬«¡ßΓá¡ΓἿ, á
  591.  ¡Ñ »ÑαѼѡ¡δ¼¿, ΓᬠτΓ« ¡Ñ »δΓá⌐ΓÑß∞ ¿¼ τΓ«-½¿í« »α¿ßóá¿-
  592.  óáΓ∞.
  593.      öπ¡¬µ¿∩ FCLOSE ∩ó½∩ÑΓß∩ «íαáΓ¡«⌐ »« «Γ¡«ΦÑ¡¿ε ¬ FOPEN;
  594.  «¡á αáºαδóáÑΓ ßó∩º∞ ¼Ñªñπ π¬áºáΓѽѼ Σá⌐½á ¿ ó¡ÑΦ¡¿¼ ¿¼Ñ¡Ñ¼,
  595.  πßΓá¡«ó½Ñ¡¡πε Σπ¡¬µ¿Ñ⌐ FOPEN, ¿ óδßó«í«ªñáÑΓ π¬áºáΓѽ∞ Σá⌐½á
  596.  ñ½∩ ñαπú«ú« Σá⌐½á.í«½∞Φ¿¡ßΓó« «»Ñαᵿ«¡¡δσ ß¿ßΓѼ ¿¼ÑεΓ ¡Ñ-
  597.  ¬«Γ«αδÑ «úαá¡¿τÑ¡¿∩ ¡á τ¿ß½« «ñ¡«óαѼѡ¡« «Γ¬αδΓδσ Σá⌐½«ó,
  598.  ¬«Γ«α묨 ¼«ªÑΓ αáß»«α∩ªáΓ∞ß∩ »α«úαá¼¼á. Å«φΓ«¼π, Γ« ¬á¬ ¼δ
  599.  »«ßΓπ»¿½¿ ó CAT, «ßó«í«ñ¿ó ¡Ñ ¡πª¡δÑ ¡á¼ í«½ÑÑ «íΩѬΓδ, ∩ó-
  600.  ½∩ÑΓß∩ σ«α«ΦÑ⌐ ¿ñÑÑ⌐. ê¼ÑÑΓß∩ ¿ ñαπúá∩ »α¿τ¿¡á ñ½∩ »α¿¼Ñ¡Ñ-
  601.  ¡¿∩ Σπ¡¬µ¿¿ FCLOSE ¬ óδσ«ñ¡«¼π Σá⌐½π - «¡á óδºδóáÑΓ óδñáτπ
  602.  ¿¡Σ«α¼áµ¿¿ ¿º íπΣÑαá, ó ¬«Γ«α«¼ PUTC ß«í¿αáÑΓ óδó«ñ. (Åα¿
  603.  ¡«α¼á½∞¡«¼ ºáóÑαΦÑ¡¿¿ αáí«Γδ »α«úαá¼¼δ Σπ¡¬µ¿∩ FCLOSE óδºδ-
  604.  óáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿ ñ½∩ ¬áªñ«ú« «Γ¬αδΓ«ú« Σá⌐½á).
  605.      
  606.                            - 163 -
  607.  
  608.      7.7. Äíαáí«Γ¬á «Φ¿í«¬ - STDERR ¿ EXIT
  609.      Äíαáí«Γ¬á «Φ¿í«¬ ó CAT ¡Ñ¿ñÑá½∞¡á. ìÑπñ«íßΓ󫠺ᬽετáÑΓ-
  610.  ß∩ ó Γ«¼, τΓ« Ñß½¿ «ñ¿¡ ¿º Σá⌐½«ó »« ¡Ñ¬«Γ«α«⌐ »α¿τ¿¡Ñ «¬á-
  611.  ºδóáÑΓß∩ ¡Ññ«ßΓπ»¡δ¼, ñ¿áú¡«ßΓ¿τÑ߬«Ñ ß««íΘÑ¡¿Ñ «í φΓ«¼ »Ñ-
  612.  τáΓáÑΓß∩ ó ¬«¡µÑ «íΩÑñ¿¡Ñ¡¡«ú« óδó«ñá. ¥Γ« »α¿Ñ¼½Ñ¼«, Ñß½¿
  613.  óδó«ñ »«ßΓπ»áÑΓ ¡á ΓÑନ¡á½, ¡« ¡Ñ ú«ñ¿Γß∩, Ñß½¿ óδó«ñ »«ß-
  614.  Γπ»áÑΓ ó ¡Ñ¬«Γ«αδ⌐ Σá⌐½ ¿½¿ τÑαѺ »«Γ«τ¡δ⌐ (PIPELINE) ¼Ñσá-
  615.  ¡¿º¼ ó ñαπúπε »α«úαá¼¼π.
  616.      ùΓ«íδ ½πτΦÑ «íαáíáΓδóáΓ∞ Γá¬πε ß¿Γπᵿε, ¬ »α«úαá¼¼Ñ
  617.  Γ«τ¡« Γᬿ¼ ªÑ «íαẫ¼, ¬á¬ STDIN ¿ STDOUT, »α¿ß«Ññ¿¡∩ÑΓß∩
  618.  óΓ«α«⌐ óδσ«ñ¡«⌐ Σá⌐½, ¡áºδóáѼδ⌐ STDERR. àß½¿ φΓ« ó««íΘÑ
  619.  ó«º¼«ª¡«, óδó«ñ, ºá»¿ßá¡¡δ⌐ ó Σá⌐½Ñ STDERR, »«∩ó½∩ÑΓß∩ ¡á
  620.  ΓÑନ¡á½Ñ »«½∞º«óáΓѽ∩, ñáªÑ Ñß½¿ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ ¡á»αáó-
  621.  ½∩ÑΓß∩ ó ñαπú«Ñ ¼ÑßΓ«.
  622.      äáóá⌐ΓÑ »ÑαÑñѽáѼ »α«úαá¼¼π CAT Γᬿ¼ «íαẫ¼, τΓ«íδ
  623.  ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ »¿ß὿ß∞ ó ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ «Φ¿í«¬.
  624.  
  625.     "INCLUDE  <STDIO.H>
  626.     MAIN(ARGC,ARGV)  /*CAT: CONCATENATE FILES*/
  627.     INT ARGC;
  628.     CHAR *ARGV[];
  629.     \(
  630.    FILE *FP, *FOPEN();
  631.    IF(ARGC==1)  /*NO ARGS; COPY STANDARD INPUT*/
  632.    FILECOPY(STDIN);
  633.    ELSE
  634.    WHILE (--ARGC > 0)
  635.       IF((FP=FOPEN(*++ARGV,"R#))==NULL) \(
  636.       PRINTF(STDERR,
  637.         "CAT: CAN'T OPEN,%S\N", ARGV);
  638.       EXIT(1);
  639.    \) ELSE \(
  640.       FILECOPY(FP);
  641.    \)
  642.    EXIT(0);
  643.     \)
  644.  
  645.  Åα«úαá¼¼á ß««íΘáÑΓ «í «Φ¿í¬áσ ñóπ¼∩ ß»«ß«íἿ. ä¿áú¡«ßΓ¿τÑß-
  646.  ¬«Ñ ß««íΘÑ¡¿Ñ, óδñáóáѼ«Ñ Σπ¡¬µ¿Ñ⌐ FPRINTF, »«ßΓπ»áÑΓ ó
  647.  STDERR ¿, Γᬿ¼ «íαẫ¼, «¬áºδóáÑΓß∩ ¡á ΓÑନ¡á½Ñ »«½∞º«óá-
  648.  Γѽ∩, á ¡Ñ ¿ßτѺáÑΓ ó »«Γ«¬Ñ (PIPELINE) ¿½¿ ó óδσ«ñ¡«¼ Σá⌐-
  649.  ½Ñ.
  650.      Åα«úαá¼¼á ΓᬪѠ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿ε EXIT ¿º ßΓá¡ñáαΓ¡«⌐
  651.  í¿í½¿«ΓѬ¿, «íαáΘÑ¡¿Ñ ¬ ¬«Γ«α«⌐ óδºδóáÑΓ ºáóÑαΦÑ¡¿Ñ óδ»«½¡Ñ-
  652.  ¡¿∩ »α«úαá¼¼δ. Çαúπ¼Ñ¡Γ Σπ¡¬µ¿¿ EXIT ñ«ßΓπ»Ñ¡ ½εí«⌐ »α«úαá¼-
  653.  ¼Ñ, «íαáΘáεΘÑ⌐ß∩ ¬ ñá¡¡«⌐ Σπ¡¬µ¿¿, ΓᬠτΓ« πß»ÑΦ¡«Ñ ¿½¿ ¡Ñπ-
  654.  ñáτ¡«Ñ ºáóÑαΦÑ¡¿Ñ ñá¡¡«⌐ »α«úαá¼¼δ ¼«ªÑΓ íδΓ∞ »α«óÑαÑ¡« ñαπ-
  655.  ú«⌐ »α«úαá¼¼«⌐, ¿ß»«½∞ºπεΘÑ⌐ φΓπ ó ¬áτÑßΓóÑ »«ñºáñáτ¿. Å«
  656.  ß«ú½áΦÑ¡¿ε óѽ¿τ¿¡á 0 ó ¬áτÑΓßóÑ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ßó¿-
  657.  ñÑΓѽ∞ßΓóπÑΓ « Γ«¼, τΓ« óßÑ ó »«α∩ñ¬Ñ, á αẽ¿τ¡δÑ ¡Ñ¡π½ÑóδÑ
  658.  º¡áτÑ¡¿∩ ∩ó½∩εΓß∩ »α¿º¡á¬á¼¿ ¡«α¼á½∞¡δσ ß¿Γπᵿ⌐.
  659.      
  660.                            - 164 -
  661.      
  662.      öπ¡¬µ¿∩ EXIT óδºδóáÑΓ Σπ¡¬µ¿ε FCLOSE ñ½∩ ¬áªñ«ú« «Γ¬αδ-
  663.  Γ«ú« óδσ«ñ¡«ú« Σá⌐½á, ß ΓѼ τΓ«íδ óδóÑßΓ¿ óßε »«¼ÑΘÑ¡¡πε ó
  664.  íπΣÑαδ óδσ«ñ¡πε ¿¡Σ«α¼áµ¿ε, á ºáΓѼ óδºδóáÑΓ Σπ¡¬µ¿ε _EXIT.
  665.  öπ¡¬µ¿∩ _EXIT »α¿ó«ñ¿Γ ¬ ¡Ñ¼Ññ½Ñ¡¡«¼π ºáóÑαΦÑ¡¿ε íѺ «τ¿ßΓ¬¿
  666.  ¬á¬¿σ-½¿í« íπΣÑα«ó; ¬«¡Ñτ¡«, »α¿ ªÑ½á¡¿¿ ¬ φΓ«⌐ Σπ¡¬µ¿¿ ¼«ª-
  667.  ¡« «íαáΓ¿Γ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«.
  668.  
  669.       7.8. éó«ñ ¿ óδó«ñ ßΓ᫬
  670.      æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá ß«ñÑαª¿Γ Σπ¡¬µ¿ε FGETS, ß«óÑαΦÑ¡-
  671.  ¡« á¡á½«ú¿τ¡πε Σπ¡¬µ¿¿ GETLINE, ¬«Γ«απε ¼δ ¿ß»«½∞º«ó὿ ¡á
  672.  óßѼ »α«Γ∩ªÑ¡¿¿ ¬¡¿ú¿. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
  673.  
  674.  FGETS(LINE, MAXLINE, FP)
  675.  
  676.  ß½ÑñπεΘá∩ ßΓ᫬á óó«ñá (ó¬½ετá∩ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿) ßτ¿Γδ-
  677.  óáÑΓß∩ ¿º Σá⌐½á FP ó ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó LINE; ßá¼«Ñ í«½∞Φ«Ñ
  678.  MAXLINE_1 ß¿¼ó«½ íπñÑΓ »α«τ¿Γá¡. ÉѺπ½∞Γ¿απεΘá∩ ßΓα«¬á ºá-
  679.  ¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ \ 0. ì«α¼á½∞¡« Σπ¡¬µ¿∩ FGETS ó«ºóαáΘáÑΓ
  680.  LINE; ó ¬«¡µÑ Σá⌐½á «¡á ó«ºóαáΘáÑΓ NULL. (ìáΦá Σπ¡¬µ¿∩
  681.  GETLINE ó«ºóαáΘáÑΓ ñ½¿¡π ßΓ᫬¿, á »α¿ óδσ«ñÑ ¡á ¬«¡Ñµ Σá⌐½á
  682.  - ¡π½∞).
  683.      ÅαÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ óδó«ñá Σπ¡¬µ¿∩ FPUTS ºá»¿ßδóáÑΓ
  684.  ßΓ᫬π (¬«Γ«αá∩ ¡Ñ «í∩ºá¡á ß«ñÑαªáΓ∞ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿) ó
  685.  Σá⌐½:
  686.  
  687.   FPUTS(LINE, FP)
  688.  
  689.      ùΓ«íδ »«¬áºáΓ∞, τΓ« ó Σπ¡¬µ¿∩σ Γ¿»á FGETS ¿ FPUTS ¡ÑΓ
  690.  ¡¿τÑú« Γá¿¡ßΓóÑ¡¡«ú«, ¼δ »α¿ó«ñ¿¼ ¿σ ¡¿ªÑ, ß¬«»¿α«óá¡¡δ¼¿
  691.  ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿ óó«ñá-óδó«ñá:
  692.  
  693.     #INCLUDE  <STDIO.H>
  694.     CHAR *FGETS(S,N,IOP) /*GET AT MOST N CHARS FROM IOP*/
  695.     CHAR *S;
  696.     INT N;
  697.     REGISTER FILE *IOP;
  698.     \(
  699.    REGISTER INT C;
  700.    REGISTER CHAR *CS;
  701.    CS = S;
  702.    WHILE(--N>0&&(C=GETC(IOP)) !=EOF)
  703.    IF ((*CS++ = C)=='\N')
  704.         BREAK;
  705.    *CS = '\0';
  706.    RETURN((C==EOF && CS==S) 7 NULL : S);
  707.     \)
  708.     FPUTS(S,IOP) /*PUT STRING S ON FILS IOP*/
  709.     REGISTER CHAR *S;
  710.     REGISTER FILE *IOP;
  711.     \(
  712.    REGISTER INT C;
  713.    WHILE (C = *S++)
  714.    PUTC(C,IOP);
  715.     \)      
  716.                            - 165 -
  717.  
  718.  
  719.      ô»α᪡ѡ¿Ñ 7-3.
  720.      ---------------
  721.      ìá»¿Φ¿ΓÑ »α«úαá¼¼π ßαáó¡Ñ¡¿∩ ñóπσ Σá⌐½«ó, ¬«Γ«αá∩ íπñÑΓ
  722.  »ÑτáΓáΓ∞ »Ñαóπε ßΓα«¬π ¿ »«º¿µ¿ε ß¿¼ó«½á, úñÑ «¡¿ αẽ¿τáεΓ-
  723.  ß∩.
  724.      ô»α᪡ѡ¿Ñ 7-4.
  725.      ---------------
  726.      ÅÑαÑñѽá⌐ΓÑ »α«úαá¼¼π »«¿ß¬á ºáñá¡¡«⌐ ¬«¼í¿¡áµ¿¿ ß¿¼ó«-
  727.  ½«ó ¿º ú½áóδ 5 Γᬿ¼ «íαẫ¼, τΓ«íδ ó ¬áτÑßΓóÑ óó«ñá ¿ß»«½∞-
  728.  º«óá½ß∩ ¡áí«α ¿¼Ñ¡«óá¡¡δσ Σá⌐½«ó ¿½¿, Ñß½¿ ¡¿¬á¬¿Ñ Σá⌐½δ ¡Ñ
  729.  π¬áºá¡δ ¬á¬ áαúπ¼Ñ¡Γδ, ßΓá¡ñáαΓ¡δ⌐ óó«ñ. æ½ÑñπÑΓ ½¿ »ÑτáΓáΓ∞
  730.  ¿¼∩ Σá⌐½á »α¿ ¡áσ«ªñÑ¡¿¿ »«ñσ«ñ∩ΘÑ⌐ ßΓ᫬¿?
  731.      ô»α᪡ѡ¿Ñ 7-5.
  732.      --------------
  733.      ìá»¿Φ¿ΓÑ »α«úαá¼¼π »ÑτáΓ¿ ¡áí«αá Σá⌐½«ó, ¬«Γ«αá∩ ¡áτ¿¡á-
  734.  ÑΓ ¬áªñδ⌐ ¡«óδ⌐ Σá⌐½ ß ¡«ó«⌐ ßΓαá¡¿µδ ¿ »ÑτáΓáÑΓ ñ½∩ ¬áªñ«ú«
  735.  Σá⌐½á ºáú«½«ó«¬ ¿ ßτÑΓτ¿¬ ΓѬπΘ¿σ ßΓαá¡¿µ.
  736.  
  737.      7.9. ìÑ߬«½∞¬« αạ««íαạδσ Σπ¡¬µ¿⌐
  738.      æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬᠻαÑñ«ßΓáó½∩ÑΓ ¼¡«ªÑßΓó« αạ««í-
  739.  αạδσ Σπ¡¬µ¿⌐, ¡Ñ¬«Γ«αδÑ ¿º ¬«Γ«αδ󠫬áºδóáεΓß∩ «ß«íÑ¡¡«
  740.  »«½Ñº¡δ¼¿. îδ πªÑ π»«¼¿¡á½¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿:
  741.  STRLEN, STRCPY, STRCAT ¿ STRCMP. é«Γ ¡Ñ¬«Γ«αδÑ ñαπú¿Ñ.
  742.  
  743.      7.9.1. Åα«óÑα¬á ó¿ñá ß¿¼ó«½«ó ¿ »αÑ«íαẫóá¡¿∩
  744.      ìѬ«Γ«αδÑ ¼á¬α«ßδ óδ»«½¡∩εΓ »α«óÑα¬π ß¿¼ó«½«ó ¿ »αÑ«íαá-
  745.  º«óá¡¿∩:
  746.  
  747.  
  748.   SALPHA(C) ¡Ñ 0, Ñß½¿ "C" á½Σáó¿Γ¡δ⌐ ß¿¼ó«½,
  749.       0 - Ñß½¿ ¡ÑΓ.
  750.   SUPPER(C) ìÑ 0, Ñß½¿ "C" íπ¬óá óÑασ¡Ñú« αÑú¿ßΓαá,
  751.       0 - Ñß½¿ ¡ÑΓ.
  752.   SLOWER(C) ìÑ 0, Ñß½¿ "C" íπ¬óá ¡¿ª¡Ñú« αÑú¿ßΓαá,
  753.       0 - Ñß½¿ ¡ÑΓ.
  754.   SDIGIT(C) ìÑ 0, Ñß½¿ "C" µ¿Σαá,
  755.       0 - Ñß½¿ ¡ÑΓ.
  756.   SSPACL(C) ìÑ 0, Ñß½¿ "C" »α«íѽ, Γáíπ½∩µ¿∩
  757.       ¿½¿ ¡«óá∩ ßΓ᫬á, 0 - Ñß½¿ ¡ÑΓ.
  758.   OUPPER(C) ÅαÑ«íαáºπÑΓ "C" ó íπ¬óπ óÑασ¡Ñú« αÑú¿ßΓαá.
  759.   OLOWER(C) ÅαÑ«íαáºπÑΓ "C" ó íπ¬óπ ¡¿ª¡Ñú« αÑú¿ßΓαá.
  760.  
  761.     7.9.2. öπ¡¬µ¿∩ UNGETC
  762.      æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá ß«ñÑαª¿Γ ñ«ó«½∞¡« «úαá¡¿τÑ¡¡πε
  763.  óÑαß¿ε Σπ¡¬µ¿¿ UNGETCH, ¡á»¿ßá¡¡«⌐ ¡á¼¿ ó ú½áóÑ 4; «¡á ¡áºδ-
  764.  óáÑΓß∩ UNGETC. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
  765.  
  766.   UNGETC(C,FP)
  767.  
  768.  ß¿¼ó«½ "C" ó«ºóαáΘáÑΓß∩ ó Σá⌐½ FP. Å«ºó«½∩ÑΓß∩ ó«ºóαáΘáΓ∞ ó
  769.  ¬áªñδ⌐ Σá⌐½ Γ«½∞¬« «ñ¿¡ ß¿¼ó«½. öπ¡¬µ¿∩ UNGETC ¼«ªÑΓ íδΓ∞
  770.  ¿ß»«½∞º«óá¡á ó ½εí«⌐ ¿º Σπ¡¬µ¿⌐ óó«ñá ¿ ß ¼á¬α«ßἿ Γ¿»á
  771.  SCANF, GETC ¿½¿ GETCHAR.
  772.      
  773.                            - 166 -
  774.  
  775.      7.9.3. ÄíαáΘÑ¡¿Ñ ¬ ß¿ßΓѼÑ
  776.      öπ¡¬µ¿∩ SYSTEM(S) óδ»«½¡∩ÑΓ ¬«¼á¡ñπ, ß«ñÑαªáΘπεß∩ ó ß¿¼-
  777.  ó«½∞¡«⌐ ßΓα«¬Ñ S, ¿ ºáΓѼ ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑ⌐
  778.  »α«úαá¼¼δ. æ«ñÑন¼«Ñ S ß¿½∞¡« ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπѼ«⌐ «»Ñ-
  779.  αᵿ«¡¡«⌐ ß¿ßΓѼδ. é ¬áτÑßΓóÑ Γα¿ó¿á½∞¡«ú« »α¿¼Ñαá, π¬áªÑ¼,
  780.  τΓ« ¡á ß¿ßΓѼѠUNIX ßΓ᫬á
  781.  
  782.    SYSTEM("DATE");
  783.  
  784.  »α¿ó«ñ¿Γ ¬ óδ»«½¡Ñ¡¿ε »α«úαá¼¼δ DATE, ¬«Γ«αá∩ »ÑτáΓáÑΓ ñáΓπ
  785.  ¿ óαѼ∩ ñ¡∩.
  786.  
  787.      7.9.4. ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε
  788.      öπ¡¬µ¿∩ CALLOC óÑß∞¼á ßσ«ñ¡á ß Σπ¡¬µ¿Ñ⌐ ALLOC, ¿ß»«½∞º«-
  789.  óá¡¡«⌐ ¡á¼¿ ó »αÑñδñπΘ¿σ ú½áóáσ. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
  790.  
  791.    CALLOC(N, SIZEOF(OBJCCT))
  792.  
  793.  ó«ºóαáΘáÑΓß∩ ½¿í« π¬áºáΓѽ∞ »α«ßΓαá¡ßΓóá, ñ«ßΓáΓ«τ¡«ú« ñ½∩
  794.  αẼÑΘÑ¡¿∩ N «íΩÑ¬Γ«ó π¬áºá¡¡«ú« αẼÑαá, ½¿í« NULL, Ñß½¿
  795.  ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ πñó«½ÑΓó«αÑ¡. ÄΓó«ñ¿¼á∩ »á¼∩Γ∞ ¿¡¿µ¿á-
  796.  ½¿º¿απÑΓß∩ ¡π½Ñó묨 º¡áτÑ¡¿∩¼¿.
  797.      ô¬áºáΓѽ∞ «í½áñáÑΓ ¡πª¡δ¼ ñ½∩ αáßß¼áΓα¿óáѼδσ «íΩÑ¬Γ«ó
  798.  óδαáó¡¿ó᡿Ѽ, ¡« Ñ¼π ß½ÑñπÑΓ »α¿»¿ßδóáΓ∞ ß««ΓóÑΓßΓóπεΘ¿⌐
  799.  Γ¿», ¬á¬ ó
  800.  
  801.    CHAR *CALLOC();
  802.    INT *IP;
  803.    IP=(INT*) CALLOC(N,SIZEOF(INT));
  804.  
  805.      öπ¡¬µ¿∩ CFREE(P) «ßó«í«ªñáÑΓ »α«ßΓαá¡ßΓó«, ¡á ¬«Γ«α«Ñ
  806.  π¬áºδóáÑΓ "P", »α¿τѼ π¬áºáΓѽ∞ "P" »Ñó«¡áτá½∞¡« ñ«½ªÑ¡ íδΓ∞
  807.  »«½πτÑ¡ ó αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩ ¬ CALLOC. çñÑß∞ ¡ÑΓ ¡¿¬á¬¿σ
  808.  «úαá¡¿τÑ¡¿⌐ ¡á »«α∩ñ«¬ «ßó«í«ªñÑ¡¿∩ »α«ßΓαá¡ßΓóá, ¡« íπñÑΓ
  809.  ¡Ñ»α¿∩Γ¡Ñ⌐ΦÑ⌐ «Φ¿í¬«⌐ «ßó«í«ñ¿Γ∞ τΓ«-¡¿íπñ∞, τΓ« ¡Ñ í佫 »«-
  810.  ½πτÑ¡« «íαáΘÑ¡¿Ñ¼ ¬ CALLOC.
  811.      ÉÑ὿ºáµ¿∩ »α«úαá¼¼δ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »«ñ«í¡«⌐
  812.  CALLOC, ó ¬«Γ«α«⌐ αẼÑΘÑ¡¡δÑ í½«¬¿ ¼«úπΓ «ßó«í«ªñáΓ∞ß∩ ó
  813.  »α«¿ºó«½∞¡«¼ »«α∩ñ¬Ñ, »α«ñѼ«¡ßΓα¿α«óá¡á ó ú½áóÑ 8.
  814.