home *** CD-ROM | disk | FTP | other *** search
- - 152 -
-
- 7. éó«ñ ¿ óδó«ñ
- æαÑñßΓóá óó«ñá/óδó«ñá ¡Ñ ∩ó½∩εΓß∩ ß«ßΓáó¡«⌐ τáßΓ∞ε ∩ºδ¬á
- "ß", ΓᬠτΓ« ¼δ ¡Ñ óδñѽ∩½¿ ¿σ ó ¡áΦѼ »αÑñδñπΘѼ ¿º½«ªÑ¡¿¿.
- Äñ¡á¬« αÑá½∞¡δÑ »α«úαá¼¼δ óºá¿¼«ñÑ⌐ßΓóπεΓ ß« ßó«Ñ⌐ «¬απªáε-
- ΘÑ⌐ ßαÑñ«⌐ ú«αáºñ« í«½ÑÑ ß½«ª¡δ¼ «íαẫ¼, τѼ ¼δ ó¿ñѽ¿ ñ«
- ß¿σ »«α. é φΓ«⌐ ú½áóÑ íπñÑΓ «»¿ßá¡á "ßΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá
- óó«ñá/óδó«ñá", Γ« ÑßΓ∞ ¡áí«α Σπ¡¬µ¿⌐, αáºαáí«Γá¡¡δσ ñ½∩
- «íÑß»ÑτÑ¡¿∩ ßΓá¡ñáαΓ¡«⌐ ß¿ßΓѼδ óó«ñá/óδó«ñá ñ½∩ "ß"- »α«ú-
- αá¼¼. ¥Γ¿ Σπ¡¬µ¿¿ »αÑñ¡áº¡áτÑ¡δ ñ½∩ πñ«íßΓóá »α«úαá¼¼¡«ú«
- ¿¡ΓÑαΣÑ⌐ßá, ¿ óßÑ ªÑ «ΓαáªáεΓ Γ«½∞¬« ΓÑ «»Ñαᵿ¿, ¬«Γ«αδÑ
- ¼«úπΓ íδΓ∞ «íÑß»ÑτÑ¡δ ¡á í«½∞Φ¿¡ßΓóÑ ß«óαѼѡ¡δσ «»Ñαᵿ«¡-
- ¡δσ ß¿ßΓѼ. Åα«µÑñπαδ ñ«ßΓáΓ«τ¡« φΣΣÑ¬Γ¿ó¡δ ñ½∩ Γ«ú«, τΓ«íδ
- »«½∞º«óáΓѽ¿ αÑñ¬« τπóßΓó«ó὿ ¡Ñ«íσ«ñ¿¼«ßΓ∞ «í«⌐Γ¿ ¿σ "αáñ¿
- φΣΣÑ¬Γ¿ó¡«ßΓ¿", ¬á¬ íδ ¡¿ íδ½á óáª¡á ¬«¡¬αÑΓ¡á∩ ºáñáτá. ê,
- ¡á¬«¡Ñµ, φΓ¿ »α«µÑñπαδ ºáñπ¼á¡δ íδΓ∞ "»ÑαÑ¡«ß¿¼δ¼¿" ó Γ«¼
- ß¼δß½Ñ, τΓ« «¡¿ ñ«½ª¡δ ßπΘÑßΓó«óáΓ∞ ó ß«ó¼ÑßΓ¿¼«¼ ó¿ñÑ ¡á
- ½εí«⌐ ß¿ßΓѼÑ, úñÑ ¿¼ÑÑΓß∩ ∩ºδ¬ "ß", ¿ τΓ« »α«úαá¼¼δ, ¬«Γ«-
- αδÑ «úαá¡¿τ¿óáεΓ ßó«¿ óºá¿¼«ñÑ⌐ßΓó¿∩ ß ß¿ßΓѼ«⌐ 󫺼«ª¡«ßΓ∩-
- ¼¿, »αÑñ«ßΓáó½∩Ñ¼δ¼¿ ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ«⌐, ¼«ª¡« íπñÑΓ
- »ÑαÑ¡«ß¿Γ∞ ß «ñ¡«⌐ ß¿ßΓÑ¼δ ¡á ñαπúπε »« ßπΘÑßΓóπ íѺ ¿º¼Ñ¡Ñ-
- ¡¿⌐.
- îδ ºñÑß∞ ¡Ñ íπñѼ »δΓáΓ∞ß∩ «»¿ßáΓ∞ óßε í¿í½¿«ΓѬπ óó«-
- ñá/óδó«ñá; ¼δ í«½ÑÑ ºá¿¡ΓÑαÑß«óá¡δ ó Γ«¼, τΓ«íδ »α«ñѼ«¡ßΓ-
- α¿α«óáΓ∞ ßπΘ¡«ßΓ∞ ¡á»¿ßá¡¿∩ "ß"-»α«úαá¼¼, ¬«Γ«αδÑ óºá¿¼«ñÑ⌐-
- ßΓóπεΓ ß« ßó«Ñ⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñ«⌐.
-
- 7.1. ÄíαáΘÑ¡¿Ñ ¬ ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬÑ
- èáªñδ⌐ ¿ßσ«ñ¡δ⌐ Σá⌐½, ¬«Γ«αδ⌐ «íαáΘáÑΓß∩ ¬ Σπ¡¬µ¿¿ ¿º
- ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿, ñ«½ªÑ¡ óí½¿º¿ ¡áτá½á ß«ñÑαªáΓ∞ ßΓα«-
- ¬π
-
- #INCLUDE <STDIO.H>
-
- ó Σá⌐½Ñ STDIO.H «»αÑñѽ∩εΓß∩ ¡Ñ¬«Γ«αδÑ ¼á¬α«ßδ ¿ »ÑαѼѡ¡δÑ,
- ¿ß»«½∞ºπѼδÑ í¿í½¿«ΓѬ«⌐ óó«ñá/óδó«ñá. êß»«½∞º«óá¡¿Ñ πú½«óδσ
- ߬«í«¬ ó¼ÑßΓ« «íδτ¡δσ ñó«⌐¡δσ ¬áóδτѬ - π¬áºá¡¿Ñ ¬«¼»¿½∩Γ«απ
- ¿ß¬áΓ∞ φëà Σá⌐½ ó ß»αáó«τ¡¿¬Ñ, ß«ñÑαªáΘѼ ºáú«½«ó¬¿ ßΓá¡-
- ñáαΓ¡«⌐ ¿¡Σ«α¼áµ¿¿ (¡á ß¿ßΓÑ¼Ñ UNIX «íδτ¡« LUSRLINELUDE).
- èα«¼Ñ Γ«ú«, »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ ¼«ªÑΓ «¬áºáΓ∞ß∩ ¡Ñ«í-
- σ«ñ¿¼δ¼ π¬áºáΓ∞ í¿í½¿«ΓѬπ ∩ó¡«; ¡á ß¿ßΓÑ¼Ñ PDP-11 UNIX,
- ¡á»α¿¼Ñα, ¬«¼á¡ñá ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ ¿¼Ñ½á íδ ó¿ñ:
-
- CC ¿ßσ«ñ¡δÑ Σá⌐½δ ¿ Γ.ñ. -LS
-
- úñÑ -LS π¬áºδóáÑΓ ¡á ºáúαπº¬π ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿.
-
- 7.2. æΓá¡ñáαΓ¡δ⌐ óó«ñ ¿ óδó«ñ - Σπ¡¬µ¿¿ GETCHAR ¿
- PUTCHAR
-
- æá¼δ⌐ »α«ßΓ«⌐ ¼Ñσá¡¿º¼ óó«ñá ºá¬½ετáÑΓß∩ ó τΓÑ¡¿¿ »« «ñ-
- ¡«¼π ß¿¼ó«½π ºá αẠ¿º "ßΓá¡ñáαΓ¡«ú« óó«ñá", «íδτ¡« ß ΓÑନ-
- ¡á½á »«½∞º«óáΓѽ∩, ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GETCHAR. öπ¡¬µ¿∩
- GETCHAR() »α¿ ¬áªñ«¼ ¬ ¡Ñ⌐ «íαáΘÑ¡¿¿ ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐
-
- - 153 -
-
- óó«ñ¿¼δ⌐ ß¿¼ó«½. é í«½∞Φ¿¡ßΓóÑ ßαÑñ, ¬«Γ«αδÑ »«ññÑনóáεΓ
- ∩ºδ¬ "ß", ΓÑନ¡á½ ¼«ªÑΓ íδΓ∞ ºá¼Ñ¡Ñ¡ ¡Ñ¬«Γ«αδ¼ Σá⌐½«¼ ß »«-
- ¼«Θ∞ε «í«º¡áτÑ¡¿∩ < : Ñß½¿ ¡Ñ¬«Γ«αá∩ »α«úαá¼¼á PROG ¿ß»«½∞-
- ºπÑΓ Σπ¡¬µ¿ε GETCHAR Γ« ¬«¼á¡ñ¡á∩ ßΓ᫬á
-
- PROG<INFILE
-
- »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« PROG íπñÑΓ τ¿ΓáΓ∞ ¿º Σá⌐½á INFILE, á ¡Ñ
- ß ΓÑନ¡á½á. ÅÑαѬ½ετÑ¡¿Ñ óó«ñá ñѽáÑΓß∩ Γᬿ¼ «íαẫ¼, τΓ«
- ßá¼á »α«úαá¼¼á PROG ¡Ñ ºá¼ÑτáÑΓ ¿º¼Ñ¡Ñ¡¿∩; ó τáßΓ¡«ßΓ¿ ßΓα«-
- ¬á"<INFILE" ¡Ñ ó¬½ετáÑΓß∩ ó ¬«¼á¡ñ¡πε ßΓ᫬π áαúπ¼Ñ¡Γ«ó ó
- ARGV. ÅÑαѬ½ετÑ¡¿Ñ óó«ñá «¬áºδóáÑΓß∩ ¡Ñºá¼ÑΓ¡δ¼ ¿ ó Γ«¼ ß½π-
- τáÑ, ¬«úñá óδó«ñ »«ßΓπ»áÑΓ ¿º ñαπú«⌐ »α«úαá¼¼δ »«ßαÑñßΓó«¼
- »«Γ«τ¡«ú« (PIPE) ¼Ñσá¡¿º¼á; ¬«¼á¡ñ¡á∩ ßΓ᫬á
-
- OTHERPROG \! PROG
-
- »α«ú«¡∩ÑΓ ñóÑ »α«úαá¼¼δ, OTHERPROG ¿ PROG, ¿ «αúá¡¿ºπÑΓ Γá¬,
- τΓ« ßΓá¡ñáαΓ¡δ¼ óó«ñ«¼ ñ½∩ PROG ß½πª¿Γ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ
- OTHERPROG.
- öπ¡¬µ¿∩ GETCHAR ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ EOF, ¬«úñá «¡á »«»á-
- ñáÑΓ ¡á ¬«¡Ñµ Σá⌐½á, ¬á¬«⌐ íδ óó«ñ «¡á »α¿ φΓ«¼ ¡Ñ ßτ¿Γδóá-
- ½á. æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓÑ¬á »«½áúáÑΓ ß¿¼ó«½¿τÑ߬πε ¬«¡ßΓá¡Γπ
- EOF αáó¡«⌐ -1 (»«ßαÑñßΓó«¼ #DEFINE ó Σá⌐½Ñ STDIO.H), ¡« »α«-
- óÑન ß½ÑñπÑΓ »¿ßáΓ∞ ó ΓÑନ¡áσ EOF, á ¡Ñ -1, τΓ«íδ ¿ºíѪáΓ∞
- ºáó¿ß¿¼«ßΓ¿ «Γ ¬«¡¬αÑΓ¡«ú« º¡áτÑ¡¿∩.
- éδó«ñ ¼«ª¡« «ßπΘÑßΓó½∩Γ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ PUTCHAR(C),
- »«¼ÑΘáεΘÑ⌐ ß¿¼ó«½ 'ß' ó "ßΓá¡ñáαΓ¡δ⌐ óó«ñ", ¬«Γ«αδ⌐ »« π¼«½-
- τá¡¿ε ∩ó½∩ÑΓß∩ ΓÑନ¡á½«¼. éδó«ñ ¼«ª¡« ¡á»αáó¿Γ∞ ó ¡Ñ¬«Γ«αδ⌐
- Σá⌐½ ß »«¼«Θ∞ε «í«º¡áτÑ¡¿∩ > : Ñß½¿ PROG ¿ß»«½∞ºπÑΓ PUTCHAR,
- Γ« ¬«¼á¡ñ¡á∩ ßΓ᫬á
-
- PROG>OUTFILE
-
- »α¿óÑñÑΓ ¬ ºá»¿ß¿ ßΓá¡ñáαΓ¡«ú« óδó«ñá ó Σá⌐½ OUTFILE, á ¡Ñ
- ¡á ΓÑନ¡á½. ìá ß¿ßΓÑ¼Ñ UNIX ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ »«Γ«τ-
- ¡δ⌐ ¼Ñσá¡¿º¼. æΓ᫬á
-
- PROG \! ANOTHERPROG
-
- »«¼ÑΘáÑΓ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ PROG ó ßΓá¡ñáαΓ¡δ⌐ óó«ñ
- ANOTHERPROG. ê «»∩Γ∞ PROG ¡Ñ íπñÑΓ «ßóÑñ«¼½Ñ¡á «í ¿º¼Ñ¡Ñ¡¿¿
- ¡á»αáó½Ñ¡¿∩.
- éδó«ñ, «ßπΘÑßΓó½∩Ѽδ⌐ Σπ¡¬µ¿Ñ⌐ PRINTF, Γá¬ªÑ »«ßΓπ»áÑΓ ó
- ßΓá¡ñáαΓ¡δ⌐ óδó«ñ, ¿ «íαáΘÑ¡¿∩ ¬ PUTCHAR ¿ PRINTF ¼«úπΓ »Ñ-
- αѼѪáΓ∞ß∩.
- Å«αếΓѽ∞¡«Ñ ¬«½¿τÑßΓó« »α«úαá¼¼ τ¿ΓáÑΓ Γ«½∞¬« ¿º «ñ¡«-
- ú« óσ«ñ¡«ú« »«Γ«¬á ¿ »¿ΦÑΓ Γ«½∞¬« ó «ñ¿¡ óδσ«ñ¡«⌐ »«Γ«¬; ñ½∩
- Γᬿσ »α«úαá¼¼ óó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε Σπ¡¬µ¿⌐ GETCHAR,
- PUTCHAR ¿ PRINTF ¼«ªÑΓ «¬áºáΓ∞ß∩ 󻫽¡Ñ áñѬóáΓ¡δ¼ ¿ ñ½∩ ¡á-
- τá½á «»αÑñѽѡ¡« ñ«ßΓáΓ«τ¡δ¼. ¥Γ« «ß«íÑ¡¡« ß»αáóÑñ½¿ó« Γ«ú-
-
- - 154 -
-
- ñá, ¬«úñá ¿¼ÑÑΓß∩ 󫺼«ª¡«ßΓ∞ π¬áºá¡¿∩ Σá⌐½«ó ñ½∩ óó«ñá ¿
- óδó«ñá ¿ »«Γ«τ¡δ⌐ ¼Ñσá¡¿º¼ ñ½∩ ßó∩º¿ óδó«ñá «ñ¡«⌐ »α«úαá¼¼δ
- ß óó«ñ«¼ ñαπú«⌐. Éáßß¼«Γα¿¼, ¡á»α¿¼Ñα, »α«úαá¼¼π LOWER, ¬«-
- Γ«αá∩ »αÑ«íαáºπÑΓ »α«»¿ß¡δÑ íπ¬óδ ¿º ßó«Ñú« óó«ñá ó ßΓα«τ-
- ¡δÑ:
-
- #INCLUDE <STDIO.H>
-
- MAIN() /* CONVERT INPUT TO LOWER CASE */
- \(
- INT C;
-
- WHILE ((C = GETCHAR()) != EOF)
- PUTCHAR(ISUPPER(C) ? TOLOWER(C) : C);
- \)
-
- "öπ¡¬µ¿¿" ISUPPER ¿ TOLOWER ¡á ßἫ¼ ñÑ½Ñ ∩ó½∩εΓß∩ ¼á¬α«ßá-
- ¼¿, «»αÑñѽѡ¡δ¼¿ ó STDIO.H . îá¬α«ß ISUPPER »α«óÑα∩ÑΓ, ∩ó-
- ½∩ÑΓß∩ ½¿ Ñú« áαúπ¼Ñ¡Γ íπ¬ó«⌐ ¿º óÑασ¡Ñú« αÑú¿ßΓαá, ¿ ó«ºó-
- αáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ φΓ« Γá¬, ¿ ¡π½∞ ó »α«Γ¿ó¡«¼
- ß½πτáÑ. îá¬α«ß TOLOWER »αÑ«íαáºπÑΓ íπ¬óπ ¿º óÑασ¡Ñú« αÑú¿ßΓ-
- αá ó Γπ ªÑ íπ¬óπ ¡¿ª¡Ñú« αÑú¿ßΓαá. ìѺáó¿ß¿¼« «Γ Γ«ú«, ¬á¬
- φΓ¿ Σπ¡¬µ¿¿ αÑ὿º«óá¡δ ¡á ¬«¡¬αÑΓ¡«⌐ ¼áΦ¿¡Ñ, ¿σ ó¡ÑΦ¡ÑÑ »«-
- óÑñÑ¡¿Ñ ß«óÑαΦÑ¡¡« «ñ¿¡á¬«ó«, ΓᬠτΓ« ¿ß»«½∞ºπεΘ¿Ñ ¿σ »α«ú-
- αá¼¼δ ¿ºíáó½Ñ¡δ «Γ º¡á¡¿∩ ß¿¼ó«½∞¡«ú« ¡áí«αá.
- àß½¿ ΓαÑíπÑΓß∩ »αÑ«íαẫóáΓ∞ ¡Ñ߬«½∞¬« Σá⌐½«ó, Γ« ¼«ª¡«
- ß«íαáΓ∞ φΓ¿ Σá⌐½δ ß »«¼«Θ∞ε »α«úαá¼¼δ, »«ñ«í¡«⌐ πΓ¿½¿ΓÑ CAT
- ß¿ßΓѼδ UNIX,
-
- CAT FILE1 FILE2 ... \! LOWER>OUTPUT
-
- ¿ ¿ºíѪáΓ∞ ΓѼ ßá¼δ¼ ó«»α«ßá « Γ«¼, ¬á¬ «íαáΓ¿Γ∞ß∩ ¬ φΓ¿¼
- Σá⌐½á¼ ¿º »α«úαá¼¼δ. (Åα«úαá¼¼á CAT »α¿ó«ñ¿Γß∩ »«ºªÑ ó φΓ«⌐
- ú½áóÑ).
- èα«¼Ñ Γ«ú« «Γ¼ÑΓ¿¼, τΓ« ó ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓÑ¬Ñ óó«-
- ñá/óδó«ñá "Σπ¡¬µ¿¿" GETCHAR ¿ PUTCHAR ¡á ßἫ¼ ñÑ½Ñ ¼«úπΓ
- íδΓ∞ ¼á¬α«ßἿ. ¥Γ« »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ ¡á¬½áñ¡δσ αáßσ«ñ«ó ¡á
- «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ ñ½∩ «íαáí«Γ¬¿ ¬áªñ«ú« ß¿¼ó«½á. é ú½áóÑ 8
- ¼δ »α«ñѼ«¡ßΓα¿απѼ, ¬á¬ φΓ« ñѽáÑΓß∩.
-
- 7.3. ö«α¼áΓ¡δ⌐ óδó«ñ - Σπ¡¬µ¿∩ PRINTF
-
- äóÑ Σπ¡¬µ¿¿: PRINTF ñ½∩ óδó«ñá ¿ SCANF ñ½∩ óó«ñá (ß½Ññπ-
- εΘ¿⌐ αáºñѽ) »«ºó«½∩εΓ »αÑ«íαẫóδóáΓ∞ τ¿ß½Ñ¡¡δÑ óѽ¿τ¿¡δ ó
- ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½E¡¿Ñ ¿ «íαáΓ¡«. Ä¡¿ Γá¬ªÑ »«ºó«½∩εΓ úÑ-
- ¡Ñα¿α«óáΓ∞ ¿ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ Σ«α¼áΓ¡δÑ ßΓ᫬¿. îδ πªÑ óßεñπ
- ó »αÑñδñπΘ¿σ ú½áóáσ ¡ÑΣ«α¼á½∞¡« ¿ß»«½∞º«ó὿ Σπ¡¬µ¿ε PRINTF;
- ºñÑß∞ »α¿ó«ñ¿Γß∩ í«½ÑÑ »«½¡«Ñ ¿ Γ«τ¡«Ñ «»¿ßá¡¿Ñ. öπ¡¬µ¿∩
-
- PRINTF(CONTROL, ARG1, ARG2, ...)
-
- - 155 -
-
- »αÑ«íαáºπÑΓ, «»αÑñѽ∩ÑΓ Σ«α¼áΓ ¿ »ÑτáΓáÑΓ ßó«¿ áαúπ¼Ñ¡Γδ ó
- ßΓá¡ñáαΓ¡δ⌐ óδó«ñ »«ñ π»αáó½Ñ¡¿Ñ¼ ßΓ᫬¿ CONTROL. ô»αáó½∩ε-
- Θá∩ ßΓ᫬á ß«ñÑαª¿Γ ñóá Γ¿»á «íΩÑ¬Γ«ó: «íδτ¡δÑ ß¿¼ó«½δ, ¬«-
- Γ«αδÑ »α«ßΓ« ¬«»¿απεΓß∩ ó óδσ«ñ¡«⌐ »«Γ«¬, ¿ ߻ѵ¿Σ¿¬áµ¿¿
- »αÑ«íαẫóá¡¿⌐, ¬áªñá∩ ¿º ¬«Γ«αδσ óδºδóáÑΓ »αÑ«íαẫóá¡¿Ñ ¿
- »ÑτáΓ∞ «τÑαÑñ¡«ú« áαúπ¼Ñ¡Γá PRINTF.
- èáªñá∩ ߻ѵ¿Σ¿¬áµ¿∩ »αÑ«íαẫóá¡¿∩ ¡áτ¿¡áÑΓß∩ ß ß¿¼ó«½á
- % ¿ ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ »αÑ«íαẫóá¡¿∩. îѪñπ % ¿ ß¿¼ó«-
- ½«¼ »αÑ«íαẫóá¡¿∩ ¼«úπΓ ¡áσ«ñ¿Γ∞ß∩:
- - º¡á¬ ¼¿¡πß, ¬«Γ«αδ⌐ π¬áºδóáÑΓ « óδαáó¡¿óá¡¿¿ »αÑ«íαẫóá¡-
- ¡«ú« áαúπ¼Ñ¡Γá »« ½Ñó«¼π ¬αáε Ñú« »«½∩.
- - æΓα«¬á µ¿Σα, ºáñáεΘá∩ ¼¿¡¿¼á½∞¡πε Φ¿α¿¡π »«½∩. ÅαÑ«íαẫ-
- óá¡¡«Ñ τ¿ß½« íπñÑΓ ¡á»ÑτáΓá¡« ó »«½Ñ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ φΓ«⌐
- Φ¿α¿¡δ, á Ñß½¿ ¡Ñ«íσ«ñ¿¼«, Γ« ¿ ó í«½ÑÑ Φ¿α«¬«¼. àß½¿ »αÑ-
- «íαẫóá¡¡δ⌐ áαúπ¼Ñ¡Γ ¿¼ÑÑΓ ¼Ñ¡∞ΦÑ ß¿¼ó«½«ó, τѼ π¬áºá¡¡á∩
- Φ¿α¿¡á »«½∩, Γ« «¡ íπñÑΓ ñ«»«½¡Ñ¡ ß½Ñóá (¿½¿ ß»αáóá, Ñß½¿
- í佫 π¬áºá¡« óδαáó¡¿óá¡¿Ñ »« ½Ñó«¼π ¬αáε)ºá»«½¡∩εΘ¿¼¿ ß¿¼-
- ó«½á¼¿ ñ« φΓ«⌐ Φ¿α¿¡δ. çừ½¡∩εΘ¿¼ ß¿¼ó«½«¼ «íδτ¡« ∩ó½∩ÑΓ-
- ß∩ »α«íѽ, á Ñß½¿ Φ¿α¿¡á »«½∩ π¬áºδóáÑΓß∩ ß ½¿ñ¿απεΘ¿¼ ¡π-
- ½Ñ¼, Γ« φΓ¿¼ ß¿¼ó«½«¼ íπñÑΓ ¡π½∞ (½¿ñ¿απεΘ¿⌐ ¡π½∞ ó ñá¡¡«¼
- ß½πτáÑ ¡Ñ «º¡áτáÑΓ ó«ß∞¼Ñα¿τ¡«⌐ Φ¿α¿¡δ »«½∩).
- - Æ«τ¬á, ¬«Γ«αá∩ «Γñѽ∩ÑΓ Φ¿α¿¡π »«½∩ «Γ ß½ÑñπεΘÑ⌐ ßΓ᫬¿
- µ¿Σα.
- - æΓα«¬á µ¿Σα (Γ«τ¡«ßΓ∞), ¬«Γ«αá∩ π¬áºδóáÑΓ ¼á¬ß¿¼á½∞¡«Ñ
- τ¿ß½« ß¿¼ó«½«ó ßΓ᫬¿, ¬«Γ«αδÑ ñ«½ª¡δ íδΓ∞ ¡á»ÑτáΓá¡δ, ¿½¿
- τ¿ß½« »ÑτáΓáѼδσ ß»αáóá «Γ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ µ¿Σα ñ½∩ »ÑαÑ-
- ¼Ñ¡¡δσ Γ¿»á FLOAT ¿½¿ DOUBLE.
- - î«ñ¿Σ¿¬áΓ«α ñ½¿¡δ L, ¬«Γ«αδ⌐ π¬áºδóáÑΓ, τΓ« ß««ΓóÑΓßΓóπε-
- Θ¿⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ ¿¼ÑÑΓ Γ¿» LONG, á ¡Ñ INT.
- ì¿ªÑ »α¿ó«ñ∩Γß∩ ß¿¼ó«½δ »αÑ«íαẫóá¡¿∩ ¿ ¿σ ß¼δß½:
-
- D - áαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ¬ ñÑß∩Γ¿τ¡«¼π ó¿ñπ.
- O - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ó«ß∞¼Ñα¿τ¡πε Σ«α¼π
- (íѺ ½¿ñ¿απεΘÑú« ¡π½∩).
- X - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ΦÑßΓ¡áñµáΓÑα¿τ¡πε
- Σ«α¼π (íѺ ½¿ñ¿απεΘ¿σ 0X).
- U - Çαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó íѺº¡á¬«óπε ñÑß∩Γ¿τ¡πε Σ«α¼π.
- C - Çαúπ¼Ñ¡Γ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ «Γñѽ∞¡δ⌐ ß¿¼ó«½.
- S - Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ ßΓ᫬«⌐: ß¿¼ó«½δ ßΓ᫬¿ »ÑτáΓáεΓß∩ ñ«
- ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ ñ«ßΓ¿ú¡πΓ ¡π½Ñó«⌐ ß¿¼ó«½ ¿½¿ ¡Ñ íπ-
- ñÑΓ ¡á»ÑτáΓá¡« ¬«½¿τÑßΓó« ß¿¼ó«½«ó, π¬áºá¡¡«Ñ ó ߻ѵ¿Σ¿¬á-
- µ¿¿ Γ«τ¡«ßΓ¿.
- E - Çαúπ¼Ñ¡Γ, αáßß¼áΓα¿óáѼδ⌐ ¬á¬ »ÑαѼѡ¡á∩ Γ¿»á FLOAT ¿½¿
- DOUBLE, »αÑ«íαáºπÑΓß∩ ó ñÑß∩Γ¿τ¡πε Σ«α¼π ó ó¿ñÑ
- [-]M.NNNNNNE[+-]XX, úñÑ ñ½¿¡á ßΓ᫬¿ ¿º N «»αÑñѽ∩ÑΓß∩
- π¬áºá¡¡«⌐ Γ«τ¡«ßΓ∞ε. Æ«τ¡«ßΓ∞ »« π¼«½τá¡¿ε αáó¡á 6.
- F - Çαúπ¼Ñ¡Γ, αáßß¼áΓα¿óáѼδ⌐ ¬á¬ »ÑαѼѡ¡á∩ Γ¿»á FLOAT ¿½¿
- DOUBLE, »αÑ«íαáºπÑΓß∩ ó ñÑß∩Γ¿τ¡πε Σ«α¼π ó ó¿ñÑ
- [-]MMM.NNNNN, úñÑ ñ½¿¡á ßΓ᫬¿ ¿º N «»αÑñѽ∩ÑΓß∩ π¬áºá¡¡«⌐
- Γ«τ¡«ßΓ∞ε. Æ«τ¡«ßΓ∞ »« π¼«½τá¡¿ε αáó¡á 6. «Γ¼ÑΓ¿¼, τΓ« φΓá
- Γ«τ¡«ßΓ∞ ¡Ñ «»αÑñѽ∩ÑΓ ¬«½¿τÑßΓó« »ÑτáΓáѼδσ ó Σ«α¼áΓÑ F
- º¡áτáΘ¿σ µ¿Σα.
-
- - 156 -
-
- G - êß»«½∞ºπÑΓß∩ ¿½¿ Σ«α¼áΓ %E ¿½¿ %F, ¬á¬«⌐ ¬«α«τÑ; ¡Ñº¡á-
- τáΘ¿Ñ ¡π½¿ ¡Ñ »ÑτáΓáεΓß∩.
- àß½¿ ¿ñπΘ¿⌐ ºá % ß¿¼ó«½ ¡Ñ ∩ó½∩ÑΓß∩ ß¿¼ó«½«¼ »αÑ«íαẫóá¡¿∩,
- Γ« »ÑτáΓáÑΓß∩ ßá¼ φΓ«Γ ß¿¼ó«½; ß½Ññ«óáΓѽ∞¡«,ß¿¼ó«½ % ¼«ª¡«
- ¡á»ÑτáΓáΓ∞, π¬áºáó %%.
- ü«½∞Φ¿¡ßΓó« ¿º Σ«α¼áΓ¡δσ »αÑ«íαẫóá¡¿⌐ «τÑó¿ñ¡« ¿ í佫
- »α«¿½½εßΓα¿α«óá¡« ó »αÑñδñπΘ¿σ ú½áóáσ. àñ¿¡ßΓóÑ¡¡δ¼ ¿ß¬½ετÑ-
- ¡¿Ñ¼ ∩ó½∩ÑΓß∩ Γ«, ¬á¬ Γ«τ¡«ßΓ∞ óºá¿¼«ñÑ⌐ßΓóπÑΓ ß« ßΓα«¬á¼¿.
- æ½ÑñπεΘá∩ Γáí½¿µá ñѼ«¡ßΓα¿απÑΓ ó½¿∩¡¿Ñ ºáñá¡¿∩ αẽ¿τ¡δσ
- ߻ѵ¿Σ¿¬áµ¿⌐ ¡á »ÑτáΓ∞ "HELLO, WORLD" (12 ß¿¼ó«½«ó). îδ »«-
- ¼ÑßΓ¿½¿ ñó«ÑΓ«τ¿∩ ó«¬απú ¬áªñ«ú« »«½∩ ñ½∩ Γ«ú«, τΓ«íδ óδ
- ¼«ú½¿ ó¿ñÑΓ∞ Ñú« »α«Γ∩ªÑ¡¡«ßΓ∞.
-
- :%10S: :HELLO, WORLD:
- :%10-S: :HELLO, WORLD:
- :%20S: : HELLO, WORLD:
- :%-20S: :HELLO, WORLD :
- :%20.10S: : HELLO, WOR:
- :%-20.10S: :HELLO, WOR :
- :%.10S: :HELLO, WOR:
-
- ÅαÑñ«ßΓÑαѪѡ¿Ñ: PRINTF ¿ß»«½∞ºπÑΓ ßó«⌐ »Ñαóδ⌐ áαúπ¼Ñ¡Γ
- ñ½∩ «»αÑñѽѡ¿∩ τ¿ß½á »«ß½ÑñπεΘ¿σ áαúπ¼Ñ¡Γ«ó ¿ ¿σ Γ¿»«ó. àß-
- ½¿ ¬«½¿τÑßΓó« áαúπ¼Ñ¡Γ«ó «¬áªÑΓß∩ ¡Ññ«ßΓáΓ«τ¡δ¼ ¿½¿ «¡¿ íπ-
- ñπΓ ¿¼ÑΓ∞ ¡Ñß««ΓóÑΓßΓóÑ¡¡δÑ Γ¿»δ, Γ« 󫺡¿¬¡ÑΓ »πΓá¡¿µá ¿ óδ
- »«½πτ¿ΓÑ íÑßß¼δ߽ѡ¡δÑ αѺπ½∞ΓáΓδ.
- ô»α᪡ѡ¿Ñ 7-1.
- --------------
-
- ìá»¿Φ¿ΓÑ »α«úαá¼¼π, ¬«Γ«αá∩ íπñÑΓ »ÑτáΓáΓ∞ αáºπ¼¡δ¼ «í-
- αẫ¼ »α«¿ºó«½∞¡δ⌐ óó«ñ. èᬠ¼¿¡¿¼π¼ «¡á ñ«½ª¡á »ÑτáΓáΓ∞
- ¡ÑúαáΣ¿τÑ߬¿Ñ ß¿¼ó«½δ ó ó«ß∞¼Ñα¿τ¡«¼ ¿½¿ ΦÑßΓ¡áñµáΓÑα¿τ¡«¼
- ó¿ñÑ (ó ß««ΓóÑΓßΓó¿¿ ß »α¿¡∩Γ묨 π óáß «íδτá∩¼¿) ¿ ߬½áñδ-
- óáΓ∞ ñ½¿¡¡δÑ ßΓ᫬¿.
-
- 7.4. ö«α¼áΓ¡δ⌐ óó«ñ - Σπ¡¬µ¿∩ SCANF
- ÄßπΘÑßΓó½∩εΘá∩ óó«ñ Σπ¡¬µ¿∩ SCANF ∩ó½∩ÑΓß∩ á¡á½«ú«¼
- PRINTF ¿ »«ºó«½∩ÑΓ »α«ó«ñ¿Γ∞ ó «íαáΓ¡«¼ ¡á»αáó½Ñ¡¿¿ ¼¡«ú¿Ñ
- ¿º ΓÑσ ªÑ ßá¼δσ »αÑ«íαẫóá¡¿⌐. öπ¡¬µ¿∩
-
- SCANF(CONTROL, ARG1, ARG2, ...)
-
- τ¿ΓáÑΓ ß¿¼ó«½δ ¿º ßΓá¡ñáαΓ¡«ú« óó«ñá, ¿¡ΓÑα»αÑΓ¿απÑΓ ¿σ ó
- ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼, π¬áºá¡¡«¼ ó áαúπ¼Ñ¡ΓÑ CONTROL, ¿
- »«¼ÑΘáÑΓ αѺπ½∞ΓáΓδ ó «ßΓá½∞¡δÑ áαúπ¼Ñ¡Γδ. ô»αáó½∩εΘ¿⌐ áαúπ-
- ¼Ñ¡Γ «»¿ßδóáÑΓß∩ ¡¿ªÑ; ñαπú¿Ñ áαúπ¼Ñ¡Γδ, ¬áªñδ⌐ ¿º ¬«Γ«αδσ
- ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ, «»αÑñѽ∩εΓ, ¬πñá ß½ÑñπÑΓ »«¼ÑßΓ¿Γ∞
- ß««ΓóÑΓßΓóπεΘ¿¼ «íαẫ¼ »αÑ«íαẫóá¡¡δ⌐ óó«ñ.
- ô»αáó½∩εΘá∩ ßΓα«¬á «íδτ¡« ß«ñÑαª¿Γ ß»Ñµ¿Σ¿¬áµ¿¿ »αÑ«íαá-
- º«óá¡¿∩, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«⌐ ¿¡ΓÑα»αÑ-
- Γᵿ¿ óσ«ñ¡δσ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐. ô»αáó½∩εΘá∩ ßΓα«¬á ¼«ªÑΓ
- ß«ñÑαªáΓ∞:
- - »α«íѽδ, Γáíπ½∩µ¿¿ ¿½¿ ß¿¼ó«½δ ¡«ó«⌐ ßΓ᫬¿ ("ß¿¼ó«½δ »πß-
- Γδσ »α«¼ÑªπΓ¬«ó"), ¬«Γ«αδÑ ¿ú¡«α¿απεΓß∩.
-
- - 157 -
-
- - Äíδτ¡δÑ ß¿¼ó«½δ (¡Ñ %), ¬«Γ«αδÑ »αÑñ»«½áúáεΓß∩ ß«ó»áñáεΘ¿-
- ¼¿ ß« ß½ÑñπεΘ¿¼¿ «Γ½¿τ¡δ¼¿ «Γ ß¿¼ó«½«ó »πßΓδσ »α«¼ÑªπΓ¬«ó
- ß¿¼ó«½á¼¿ óσ«ñ¡«ú« »«Γ«¬á.
- - æ»Ñµ¿Σ¿¬áµ¿¿ »αÑ«íαẫóá¡¿∩, ß«ßΓ«∩Θ¿Ñ ¿º ß¿¼ó«½á %, ¡Ñ«-
- í∩ºáΓѽ∞¡«ú« ß¿¼ó«½á »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿∩ *, ¡Ñ«í∩ºá-
- Γѽ∞¡«ú« τ¿ß½á, ºáñáεΘÑú« ¼á¬ß¿¼á½∞¡πε Φ¿α¿¡π »«½∩ ¿ ß¿¼-
- ó«½á »αÑ«íαẫóá¡¿∩.
- æ»Ñµ¿Σ¿¬áµ¿∩ »αÑ«íαẫóá¡¿∩ π»αáó½∩ÑΓ »αÑ«íαẫó᡿Ѽ
- ß½ÑñπεΘÑú« »«½∩ óó«ñá. ¡«α¼á½∞¡« αѺπ½∞ΓáΓ »«¼ÑΘáÑΓß∩ ó »Ñ-
- αѼѡ¡πε, ¬«Γ«αá∩ π¬áºδóáÑΓß∩ ß««ΓóÑΓßΓóπεΘ¿¼ áαúπ¼Ñ¡Γ«¼.
- àß½¿, «ñ¡á¬« , ß »«¼«Θ∞ε ß¿¼ó«½á * π¬áºá¡« »«ñáó½Ñ¡¿Ñ »α¿ß-
- óá¿óá¡¿∩, Γ« φΓ« »«½Ñ óó«ñá »α«ßΓ« »α«»π߬áÑΓß∩ ¿ ¡¿¬á¬«ú«
- »α¿ßóá¿óá¡¿∩ ¡Ñ »α«¿ºó«ñ¿Γß∩. Å«½Ñ óó«ñá «»αÑñѽ∩ÑΓß∩ ¬á¬
- ßΓ᫬á ß¿¼ó«½«ó, ¬«Γ«αδÑ «Γ½¿τ¡δ «Γ ß¿¼ó«½«ó »α«ßΓδσ »α«¼Ñ-
- ªπΓ¬«ó; «¡« »α«ñ«½ªáÑΓß∩ ½¿í« ñ« ß½ÑñπεΘÑú« ß¿¼ó«½á »πßΓ«ú«
- »α«¼ÑªπΓ¬á, ½¿í« »«¬á ¡Ñ íπñÑΓ ¿ßτÑα»á¡á Φ¿α¿¡á »«½∩, Ñß½¿
- «¡á π¬áºá¡á. ÄΓßεñá ß½ÑñπÑΓ, τΓ« »α¿ »«¿ß¬Ñ ¡πª¡«ú« Ñ⌐ óó«-
- ñá, Σπ¡¬µ¿∩ SCANF íπñÑΓ »ÑαÑßѬáΓ∞ úαá¡¿µδ ßΓ᫬, »«ß¬«½∞¬π
- ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿ óσ«ñ¿Γ ó τ¿ß½« »πßΓδσ »α«¼ÑªπΓ¬«ó.
- æ¿¼ó«½ »αÑ«íαẫóá¡¿∩ «»αÑñѽ∩ÑΓ ¿¡ΓÑα»αÑΓáµ¿ε »«½∩ óó«-
- ñá; ß«ú½áß¡« ΓαÑí«óá¡¿∩¼ «ß¡«óá¡¡«⌐ ¡á ó맮óÑ »« º¡áτÑ¡¿ε
- ßѼá¡Γ¿¬¿ ∩ºδ¬á "ß" ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
- π¬áºáΓѽѼ. ä«»π߬áεΓß∩ ß½ÑñπεΘ¿Ñ ß¿¼ó«½δ »αÑ«íαẫóá¡¿∩:
- D - ¡á óó«ñÑ «ª¿ñáÑΓß∩ ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ; ß««ΓóÑΓßΓóπεΘ¿⌐ áα-
- úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ.
- O - ìá óó«ñÑ «ª¿ñáÑΓß∩ ó«ß∞¼Ñα¿τ¡«Ñ µÑ½«Ñ (ß ½¿ñ¿απεΘ¿¼ ¡π-
- ½Ñ¼ ¿½¿ íѺ ¡Ñú«); ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
- π¬áºáΓѽѼ ¡á µÑ½«Ñ.
- X - ìá óó«ñÑ «ª¿ñáÑΓß∩ ΦÑßΓ¡áñµáΓÑα¿τ¡«Ñ µÑ½«Ñ (ß ½¿ñ¿απεΘ¿-
- ¼¿ 0X ¿½¿ íѺ ¡¿σ); ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
- π¬áºáΓѽѼ ¡á µÑ½«Ñ.
- H - ìá óó«ñÑ «ª¿ñáÑΓß∩ µÑ½«Ñ Γ¿»á SHORT; ß««ΓóÑΓßóπεΘ¿⌐ áα-
- úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ Γ¿»á SHORT.
- C - Ī¿ñáÑΓß∩ «Γñѽ∞¡δ⌐ ß¿¼ó«½; ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ
- ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á ß¿¼ó«½δ; ß½ÑñπεΘ¿⌐ óó«ñ¿¼δ⌐
- ß¿¼ó«½ »«¼ÑΘáÑΓß∩ ó π¬áºá¡¡«Ñ ¼ÑßΓ«. Äíδτ¡δ⌐ »α«»π߬ ß¿¼-
- 󫽫ó »πßΓδσ »α«¼ÑªπΓ¬«ó ó φΓ«¼ ß½πτáÑ »«ñáó½∩ÑΓß∩; ñ½∩
- τΓÑ¡¿∩ ß½ÑñπεΘÑú« ß¿¼ó«½á, ¬«Γ«αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩ ß¿¼ó«½«¼
- »πßΓ«ú« »α«¼ÑªπΓ¬á, »«½∞ºπ⌐ΓÑß∞ ߻ѵ¿Σ¿¬áµ¿Ñ⌐ »αÑ«íαẫ-
- óá¡¿∩ %1S.
- S - Ī¿ñáÑΓß∩ ß¿¼ó«½∞¡á∩ ßΓ᫬á; ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ
- ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ß¿¼ó«½«ó, ¬«Γ«αδ⌐ π¬áºδóáÑΓ ¡á
- ¼áßß¿ó ß¿¼ó«½«ó, ¬«Γ«αδ⌐ ñ«ßΓáΓ«τ¡« óѽ¿¬ ñ½∩ »α¿¡∩Γ¿∩
- ßΓ᫬¿ ¿ ñ«íáó½∩Ѽ«ú« ó ¬«¡µÑ ß¿¼ó«½á \0.
- F - Ī¿ñáÑΓß∩ τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐; ß««ΓóÑΓßΓóπεΘ¿⌐ áα-
- úπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á »ÑαѼѡ¡πε Γ¿»á FLOAT.
- à - ß¿¼ó«½ »αÑ«íαẫóá¡¿∩ E ∩ó½∩ÑΓß∩ ß¿¡«¡¿¼«¼ ñ½∩ F. ö«α¼áΓ
- óó«ñá »ÑαѼѡ¡«⌐ Γ¿»á FLOAT ó¬½ετáÑΓ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ º¡á¬,
- ßΓα«¬π µ¿Σα, 󫺼«ª¡« ß«ñÑαªáΘπε ñÑß∩Γ¿τ¡πε Γ«τ¬π ¿ ¡Ñ«-
- í∩ºáΓѽ∞¡«Ñ »«½Ñ φ¬ß»«¡Ñ¡Γδ, ß«ßΓ«∩ΘÑÑ ¿º íπ¬óδ E, ºá ¬«-
- Γ«α«⌐ ß½ÑñπÑΓ µÑ½«Ñ, 󫺼«ª¡« ¿¼ÑεΘÑÑ º¡á¬.
-
- - 158 -
-
- ÅÑαÑñ ß¿¼ó«½á¼¿ »αÑ«íαẫóá¡¿∩ D, O ¿ X ¼«ªÑΓ ßΓ«∩Γ∞ L,
- ¬«Γ«αá∩ «º¡áτáÑΓ , τΓ« ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó ñ«½ªÑ¡ ¡áσ«ñ¿Γ∞ß∩
- π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε Γ¿»á LONG, á ¡Ñ Γ¿»á INT. ǡὫú¿τ-
- ¡«, íπ¬óá L ¼«ªÑΓ ßΓ«∩Γ∞ »ÑαÑñ ß¿¼ó«½á¼¿ »αÑ«íαẫóá¡¿∩ E
- ¿½¿ F, ú«ó«α∩ « Γ«¼, τΓ« ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó ñ«½ªÑ¡ ¡áσ«-
- ñ¿Γ∞ß∩ π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε Γ¿»á DOUBLE, á ¡Ñ Γ¿»á FLOAT.
- ìá»α¿¼Ñα, «íαáΘÑ¡¿Ñ
- INT I;
- FLOAT X;
- CHAR NAME[50];
- SCANF("&D %F %S", &I, &X, NAME);
-
- ß« ßΓ᫬«⌐ ¡á óó«ñÑ
-
- 25 54.32E-1 THOMPSON
-
- »α¿ó«ñ¿Γ ¬ »α¿ßóá¿óá¡¿ε I º¡áτÑ¡¿∩ 25,X - º¡áτÑ¡¿∩ 5.432 ¿
- NAME - ßΓ᫬¿ "THOMPSON", ¡áñ½ÑªáΘ¿¼ «íαẫ¼ ºá¬«¡τÑ¡¡«⌐
- ß¿¼ó«½«¼ \ 0. φΓ¿ Γα¿ »«½∩ óó«ñá ¼«ª¡« αáºñѽ¿Γ∞ ßΓ«½∞¬¿¼¿
- »α«íѽἿ, Γáíπ½∩µ¿∩¼¿ ¿ ß¿¼ó«½á¼¿ ¡«óδσ ßΓ᫬, ߬«½∞¬« óδ
- »«ªÑ½áÑΓÑ. ÄíαáΘÑ¡¿Ñ
-
- INT I;
- FLOAT X;
- CHAR NAME[50];
- SCANF("%2D %F %*D %2S", &I, &X, NAME);
-
- ß óó«ñ«¼
-
- 56789 0123 45A72
-
- »α¿ßó«¿Γ I º¡áτÑ¡¿Ñ 56, X - 789.0, »α«»πßΓ¿Γ 0123 ¿ »«¼ÑßΓ¿Γ
- ó NAME ßΓ᫬π "45". »α¿ ß½ÑñπεΘѼ «íαáΘÑ¡¿¿ ¬ ½εí«⌐ »α«µÑñπ-
- αÑ óó«ñá αáßß¼«ΓαÑ¡¿Ñ ¡áτ¡ÑΓß∩ ß íπ¬óδ A. é φΓ¿σ ñóπσ »α¿¼Ñ-
- αáσ NAME ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¿, ß½Ññ«óáΓѽ∞¡«, »ÑαÑñ ¡¿¼ ¡Ñ
- ¡πª¡« »«¼ÑΘáΓ∞ º¡á¬ &.
- é ¬áτÑßΓóÑ ñαπú«ú« »α¿¼Ñαá »ÑαÑ»¿ΦѼ ΓÑ»Ñα∞ φ½Ñ¼Ñ¡Γáα¡δ⌐
- ¬á½∞¬π½∩Γ«α ¿º ú½áóδ 4, ¿ß»«½∞ºπ∩ ñ½∩ »αÑ«íαẫóá¡¿∩ óó«ñá
- Σπ¡¬µ¿ε SCANF:
-
- #INCLUDE <STDIO.H>
- MAIN() /* RUDIMENTARY DESK CALCULATOR */
- \(
- DOUBLE SUM, V;
- SUM =0;
- WHILE (SCANF("%LF", &V) !=EOF)
- PRINTF("\T%.2F\N", SUM += V);
- \)
-
- óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ SCANF ºá¬á¡τ¿óáÑΓß∩ ½¿í« Γ«úñá, ¬«úñá «¡á
- ¿ßτÑα»δóáÑΓ ßó«ε π»αáó½∩εΘπε ßΓ᫬π, ½¿í« ¬«úñá ¡Ñ¬«Γ«αδ⌐
- φ½Ñ¼Ñ¡Γ óó«ñá ¡Ñ ß«ó»áñáÑΓ ß π»αáó½∩εΘÑ⌐ ߻ѵ¿Σ¿¬áµ¿Ñ⌐. é
- ¬áτÑßΓóÑ ßó«Ñú« º¡áτÑ¡¿∩ «¡á ó«ºóαáΘáÑΓ τ¿ß½« »αáó¿½∞¡« ß«ó-
- »áñáεΘ¿σ ¿ »α¿ßó«Ñ¡¡δσ φ½Ñ¼Ñ¡Γ«ó óó«ñá. ¥Γ« τ¿ß½« ¼«ªÑΓ íδΓ∞
-
- - 159 -
-
- ¿ß»«½∞º«óá¡« ñ½∩ «»αÑñѽѡ¿∩ ¬«½¿τÑßΓóá ¡á⌐ñÑ¡¡δσ φ½Ñ¼Ñ¡Γ«ó
- óó«ñá. »α¿ óδσ«ñÑ ¡á ¬«¡Ñµ Σá⌐½á ó«ºóαáΘáÑΓß∩ EOF; »«ñτÑα¬-
- ¡Ñ¼, τΓ« φΓ« º¡áτÑ¡¿Ñ «Γ½¿τ¡« «Γ 0, τΓ« ß½ÑñπεΘ¿⌐ óó«ñ¿¼δ⌐
- ß¿¼ó«½ ¡Ñ πñ«ó½ÑΓó«α∩ÑΓ »Ñαó«⌐ ߻ѵ¿Σ¿¬áµ¿¿ ó π»αáó½∩εΘÑ⌐
- ßΓ᫬Ñ. Åα¿ ß½ÑñπεΘѼ «íαáΘÑ¡¿¿ ¬ SCANF »«¿ß¬ ó«º«í¡«ó½∩ÑΓß∩
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ºá »«ß½Ññ¡¿¼ óóÑñÑ¡¡δ¼ ß¿¼ó«½«¼.
- çᬽετ¿Γѽ∞¡«Ñ »αÑñ«ßΓÑαѪѡ¿Ñ: áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ SCANF
- ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩¼¿. ìÑß«¼¡Ñ¡¡« ¡á¿í«½ÑÑ αáß»α«ßΓαá¡Ñ¡-
- ¡á∩ «Φ¿í¬á ß«ßΓ«¿Γ ó ¡á»¿ßá¡¿¿
-
- SCANF("%D", N);
-
- ó¼ÑßΓ«
-
- SCANF("%D", &N);
-
- 7.5. ö«α¼áΓ¡«Ñ »αÑ«íαẫóá¡¿Ñ ó »á¼∩Γ¿
-
-
-
- ÄΓ Σπ¡¬µ¿¿ SCANF ¿ PRINTF »α«¿ßσ«ñ∩Γ Σπ¡¬µ¿¿ SSCANF ¿
- SPRINTF, ¬«Γ«αδÑ «ßπΘÑßΓó½∩εΓ á¡á½«ú¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¡«
- «»Ñα¿απεΓ ß« ßΓ᫬«⌐, á ¡Ñ ß Σá⌐½«¼. ÄíαáΘÑ¡¿∩ ¬ φΓ¿¼ Σπ¡¬-
- µ¿∩¼ ¿¼ÑεΓ ó¿ñ:
-
- SPRINTF(STRING, CONTROL, ARG1, ARG2, ...)
- SSCANF(STRING, CONTROL, ARG1, ARG2, ...)
-
- èᬠ¿ αá¡∞ΦÑ , Σπ¡¬µ¿∩ SPRINTF »αÑ«íαáºπÑΓ ßó«¿ áαúπ¼Ñ¡Γδ
- ARG1, ARG2 ¿ Γ.ñ. é ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼, π¬áºá¡¡δ¼ ó
- CONTROL, ¡« »«¼ÑΘáÑΓ αѺπ½∞ΓáΓδ ó STRING, á ¡Ñ ó ßΓá¡ñáαΓ¡δ⌐
- óδó«ñ. KÄ¡Ñτ¡«, ßΓ᫬á STRING ñ«½ª¡á íδΓ∞ ñ«ßΓáΓ«τ¡« óѽ¿¬á,
- τΓ«íδ »α¿¡∩Γ∞ αѺπ½∞ΓáΓ. ìá»α¿¼Ñα, Ñß½¿ NAME - φΓ« ß¿¼ó«½∞-
- ¡δ⌐ ¼áßß¿ó, á N - µÑ½«Ñ, Γ«
-
- SPRINTF(NAME, "TEMP%D", N);
-
- ß«ºñáÑΓ ó NAME ßΓ᫬π ó¿ñá TEMPNNN, úñÑ NNN - º¡áτÑ¡¿Ñ N.
- öπ¡¬µ¿∩ SSCANF óδ»«½¡∩ÑΓ «íαáΓ¡δÑ »αÑ«íαẫóá¡¿∩ - «¡á
- »α«ß¼áΓα¿óáÑΓ ßΓ᫬π STRING ó ß««ΓóÑΓßΓó¿¿ ß Σ«α¼áΓ«¼ ó áα-
- úπ¼Ñ¡ΓÑ CONTROL ¿ »«¼ÑΘáÑΓ αѺπ½∞Γ¿απεΘ¿Ñ º¡áτÑ¡¿∩ ó áαúπ-
- ¼Ñ¡Γδ ARG1, ARG2 ¿ Γ.ñ.φΓ¿ áαúπ¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩-
- ¼¿. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
-
- SSCANF(NAME, "TEMP%D", &N);
-
- »ÑαѼѡ¡á∩ N »«½πτáÑΓ º¡áτÑ¡¿Ñ ßΓ᫬¿ µ¿Σα, ß½ÑñπεΘ¿σ ºá
- TEMP ó NAME.
- ô»α᪡ѡ¿Ñ 7-2.
- --------------
- ÅÑαÑ»¿Φ¿ΓÑ ¡áßΓ«½∞¡δ⌐ ¬á½∞¬π½∩Γ«α ¿º ú½áóδ 4, ¿ß»«½∞ºπ∩
- ñ½∩ óó«ñá ¿ »αÑ«íαẫóá¡¿∩ τ¿ßѽ SCANF ¿/¿½¿ SSCANF.
-
- - 160 -
-
- 7.6. ä«ßΓπ» ¬ Σá⌐½á¼
- éßÑ ñ« ß¿σ »«α ¡á»¿ßá¡¡δÑ »α«úαá¼¼δ τ¿Γ὿ ¿º ßΓá¡ñáαΓ-
- ¡«ú« óó«ñá ¿ »¿ß὿ ó ßΓá¡ñáαΓ¡δ⌐ óδó«ñ, «Γ¡«ß¿Γѽ∞¡« ¬«Γ«-
- αδσ ¼δ »αÑñ»«½áú὿, τΓ« «¡¿ ¼áú¿τÑ߬¿¼ «íαẫ¼ »αÑñ«ßΓáó½Ñ-
- ¡δ »α«úαá¼¼Ñ ¼ÑßΓ¡«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐.
- æ½ÑñπεΘ¿¼ Φáú«¼ ó ó«»α«ßÑ óó«ñá-óδó«ñá ∩ó½∩ÑΓß∩ ¡á»¿ßá-
- ¡¿Ñ »α«úαá¼¼δ, αáí«ΓáεΘÑ⌐ ß Σá⌐½«¼, ¬«Γ«αδ⌐ ¡Ñ ßó∩ºá¡ ºáαá-
- ¡ÑÑ ß »α«úαá¼¼«⌐. «ñ¡«⌐ ¿º »α«úαá¼¼, ¬«Γ«αá∩ ∩ó¡« ñѼ«¡ßΓα¿-
- απÑΓ »«ΓαÑí¡«ßΓ∞ ó Γá¬¿σ «»Ñαᵿ∩σ, ∩ó½∩ÑΓß∩ CAT, ¬«Γ«αá∩
- «íΩÑñ¿¡∩ÑΓ ¡áí«α ¿º ¡Ñ߬«½∞¬¿σ ¿¼Ñ¡«óá¡¡δσ Σá⌐½«ó ó ßΓá¡ñáα-
- Γ¡δ⌐ óδó«ñ. Åα«úαá¼¼á CAT ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδó«ñá Σá⌐½«ó ¡á
- ΓÑନ¡á½ ¿ ó ¬áτÑßΓóÑ π¡¿óÑαßá½∞¡«ú« ßí«αΘ¿¬á óó«ñá ñ½∩
- »α«úαá¼¼, ¬«Γ«αδÑ ¡Ñ ¿¼ÑεΓ ó«º¼«ª¡«ßΓ¿ «íαáΘáΓ∞ß∩ ¬ Σá⌐½á¼
- »« ¿¼Ñ¡¿. ìá»α¿¼Ñα, ¬«¼á¡ñá
-
- CAT X.C.Y.C
-
- »ÑτáΓáÑΓ ß«ñÑন¼«Ñ Σá⌐½«ó X.C ¿ Y.C ó ßΓá¡ñáαΓ¡δ⌐ óδó«ñ.
- é«»α«ß ß«ßΓ«¿Γ ó Γ«¼, ¬á¬ «αúá¡¿º«óáΓ∞ τΓÑ¡¿Ñ ¿º ¿¼Ñ¡«-
- óá¡¡δσ Σá⌐½«ó, Γ.Ñ., ¬á¬ ßó∩ºáΓ∞ ó¡ÑΦ¡¿Ñ ¿¼Ñ¡á, ¬«Γ«α묨
- ¼δß½¿Γ »«½∞º«óáΓѽ∞, ß Σá¬Γ¿τÑ߬¿ τ¿ΓáεΘ¿¼¿ ñá¡¡δÑ «»ÑαáΓ«-
- αἿ.
-
- ¥Γ¿ »αáó¿½á »α«ßΓδ. ÅαѪñÑ τѼ ¼«ª¡« ßτ¿ΓδóáΓ∞ ¿º ¡Ñ¬«-
- Γ«α«ú« Σá⌐½á ¿½¿ ºá»¿ßδóáΓ∞ ó ¡Ñú«, φëà Σá⌐½ ñ«½ªÑ¡ íδΓ∞
- «Γ¬αδΓ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ FOPEN ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿.
- Σπ¡¬µ¿∩ FOPEN íÑαÑΓ ó¡ÑΦ¡ÑÑ ¿¼∩ (»«ñ«í¡«Ñ X.C ¿½¿ Y.C), »α«-
- ó«ñ¿Γ ¡Ñ¬«Γ«αδÑ «íß½πª¿óáεΘ¿Ñ ñÑ⌐ßΓó¿∩ ¿ »ÑαÑú«ó«αδ ß «»Ñαá-
- µ¿«¡¡«⌐ ß¿ßΓѼ«⌐ (ñÑΓ὿ ¬«Γ«αδσ ¡Ñ ñ«½ª¡δ ¡áß ¬áßáΓ∞ß∩) ¿
- ó«ºóαáΘáÑΓ ó¡πΓαÑ¡¡ÑÑ ¿¼∩, ¬«Γ«α«Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ »α¿
- »«ß½ÑñπεΘ¿σ τΓÑ¡¿∩σ ¿º Σá⌐½á ¿½¿ ºá»¿ß∩σ ó ¡Ñú«.
- ¥Γ« ó¡πΓαÑ¡¡ÑÑ ¿¼∩, ¡áºδóáѼ«Ñ "π¬áºáΓѽѼ Σá⌐½á", Σá¬-
- Γ¿τÑ߬¿ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ßΓαπ¬Γπαδ, ¬«Γ«αá∩ ß«ñÑαª¿Γ ¿¡-
- Σ«α¼áµ¿ε « Σá⌐½Ñ, Γá¬πε ¬á¬ ¼ÑßΓ« αẼÑΘÑ¡¿∩ íπΣÑαá, ΓѬπΘá∩
- »«º¿µ¿∩ ß¿¼ó«½á ó íπΣÑαÑ, »α«¿ßσ«ñ¿Γ ½¿ τΓÑ¡¿Ñ ¿º Σá⌐½á ¿½¿
- ºá»¿ß∞ ó ¡Ñú« ¿ Γ«¼π »«ñ«í¡«Ñ. Å«½∞º«óáΓѽ¿ ¡Ñ «í∩ºá¡δ º¡áΓ∞
- φΓ¿ ñÑΓ὿, »«Γ«¼π τΓ« ßαÑñ¿ «»αÑñѽѡ¿⌐ ñ½∩ ßΓá¡ñáαΓ¡«ú«
- óó«ñá-óδó«ñá, »«½πτáѼδσ ¿º Σá⌐½á STDIO.H, ß«ñÑনΓß∩ «»αÑ-
- ñѽѡ¿Ñ ßΓαπ¬Γπαδ ß ¿¼Ñ¡Ñ¼ FILE. àñ¿¡ßΓóÑ¡¡«Ñ ¡Ñ«íσ«ñ¿¼«Ñ
- ñ½∩ π¬áºáΓѽ∩ Σá⌐½á «»¿ßá¡¿Ñ ñѼ«¡ßΓα¿απÑΓß∩ »α¿¼Ñα«¼:
-
- FILE *FOPEN(), *FP;
-
- çñÑß∞ ú«ó«α¿Γß∩, τΓ« FP ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á FILE ¿
- FOPEN ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á FILE. OíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ, τΓ«
- FILE ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ Γ¿»á, »«ñ«í¡δ¼ INT, á ¡Ñ ∩α½δ¬π ßΓαπ¬-
- Γπαδ; φΓ« αÑ὿º«óá¡« ¬á¬ TYPEDEF. (Å«ñα«í¡«ßΓ¿ Γ«ú«, ¬á¬
- óßÑ φΓ« αáí«ΓáÑΓ ¡á ß¿ßΓÑ¼Ñ UNIX, »α¿óÑñÑ¡δ ó ú½áóÑ 8).
- öá¬Γ¿τÑ߬«Ñ «íαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ FOPEN ó »α«úαá¼¼Ñ ¿¼ÑÑΓ
- ó¿ñ:
- FP=FOPEN(NAME,MODE);
-
- - 161 -
-
- ÅÑαóδ¼ áαúπ¼Ñ¡Γ«¼ Σπ¡¬µ¿¿ FOPEN ∩ó½∩ÑΓß∩ "¿¼∩" Σá⌐½á, ¬«Γ«-
- α«Ñ ºáñáÑΓß∩ ó ó¿ñÑ ß¿¼ó«½∞¡«⌐ ßΓ᫬¿. éΓ«α«⌐ áαúπ¼Ñ¡Γ MODE
- ("αѪ¿¼") Γá¬ªÑ ∩ó½∩ÑΓß∩ ß¿¼ó«½∞¡«⌐ ßΓ᫬«⌐, ¬«Γ«αá∩ π¬áºδ-
- óáÑΓ, ¬á¬ φëà Σá⌐½ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩. ä«»πßΓ¿¼δ¼¿ αѪ¿-
- ¼á¼¿ ∩ó½∩εΓß∩: τΓÑ¡¿Ñ ("R"), ºá»¿ß∞ ("W") ¿ ñ«íáó½Ñ¡¿Ñ
- ("A").
- àß½¿ óδ «Γ¬α«ÑΓÑ Σá⌐½, ¬«Γ«αδ⌐ ÑΘÑ ¡Ñ ßπΘÑΓóπÑΓ, ñ½∩ ºá-
- »¿ß¿ ¿½¿ ñ«íáó½Ñ¡¿∩, Γ« Γᬫ⌐ Σá⌐½ íπñÑΓ ß«ºñá¡ (Ñß½¿ φΓ«
- 󫺼«ª¡«). ÄΓ¬αδΓ¿Ñ ßπΘÑßΓóπεΘÑú« Σá⌐½á ¡á ºá»¿ß∞ »α¿ó«ñ¿Γ ¬
- «Γíαáßδóá¡¿ε Ñú« ßΓáα«ú« ß«ñÑন¼«ú«. Å«»δΓ¬á τΓÑ¡¿∩ ¡Ñßπ-
- ΘÑßΓóπεΘÑú« Σá⌐½á ∩ó½∩ÑΓß∩ «Θ¿í¬«⌐. ÄΦ¿í¬¿ ¼«úπΓ íδΓ∞ «íπß-
- ½«ó½Ñ¡δ ¿ ñαπú¿¼¿ »α¿τ¿¡á¼¿ (¡á»α¿¼Ñα, »«»δΓ¬«⌐ τΓÑ¡¿∩ ¿º
- Σá⌐½á, ¡Ñ ¿¼Ñ∩ ¡á Γ« αáºαÑΦÑ¡¿∩). Åα¿ ¡á½¿τ¿¿ ¬á¬«⌐-½¿í«
- «Φ¿í¬¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ NULL
- (¬«Γ«α«Ñ ñ½∩ πñ«íßΓóá Γá¬ªÑ «»αÑñѽ∩ÑΓß∩ ó Σá⌐½Ñ STDIO.H).
- äαπú«⌐ ¡Ñ«íσ«ñ¿¼«⌐ óÑΘ∞ε ∩ó½∩ÑΓß∩ ß»«ß«í τΓÑ¡¿∩ ¿½¿ ºá-
- »¿ß¿, Ñß½¿ Σá⌐½ πªÑ «Γ¬αδΓ. çñÑß∞ ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« 󫺼«ª-
- ¡«ßΓÑ⌐, ¿º ¬«Γ«αδσ GETC ¿ PUTC ∩ó½∩εΓß∩ »α«ßΓÑ⌐Φ¿¼¿.Σπ¡¬µ¿∩
- GETC ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿º Σá⌐½á; Ñ⌐ ¡Ñ«íσ«ñ¿¼ π¬á-
- ºáΓѽ∞ Σá⌐½á, τΓ«íδ º¡áΓ∞, ¿º ¬á¬«ú« Σá⌐½á τ¿ΓáΓ∞. Æá¬¿¼ «í-
- αẫ¼,
-
- C=GETC(FP)
-
- »«¼ÑΘáÑΓ ó "C" ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿º Σá⌐½á, π¬áºá¡¡«ú« »«ßαÑñ-
- ßΓó«¼ FP, ¿ EOF, Ñß½¿ ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ Σá⌐½á.
- öπ¡¬µ¿∩ PUTC, ∩ó½∩εΘá∩ß∩ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿¿ GETC,
-
- PUTC(C,FP)
-
- »«¼ÑΘáÑΓ ß¿¼ó«½ "C" ó Σá⌐½ FP ¿ ó«ºóαáΘáÑΓ "C". Å«ñ«í¡« Σπ¡-
- ¬µ¿∩¼ GETCHAR ¿ PUTCHAR, GETC ¿ PUTC ¼«úπΓ íδΓ∞ ¼á¬α«ßἿ, á
- ¡Ñ Σπ¡¬µ¿∩¼¿.
- Åα¿ ºá»π᪥ »α«úαá¼¼δ áóΓ«¼áΓ¿τÑ߬¿ «Γ¬αδóáεΓß∩ Γα¿ Σá⌐-
- ½á, ¬«Γ«αδÑ ß¡áíªÑ¡δ «»αÑñѽѡ¡δ¼¿ π¬áºáΓѽ∩¼¿ Σá⌐½«ó. ¥Γ¿¼¿
- Σá⌐½á¼¿ ∩ó½∩εΓß∩ ßΓá¡ñáαΓ¡δ⌐ óó«ñ, ßΓá¡ñáαΓ¡δ⌐ óδó«ñ ¿ ßΓá¡-
- ñáαΓ¡δ⌐ óδó«ñ «Φ¿í«¬; ß««ΓóÑΓßΓóπεΘ¿Ñ π¬áºáΓѽ¿ Σá⌐½«ó ¡áºδ-
- óáεΓß∩ STDIN, STDOUT ¿ STDERR. Äíδτ¡« óßÑ φΓ¿ π¬áºáΓѽ¿ ßó∩-
- ºá¡δ ß ΓÑନ¡á½«¼, ¡« STDIN ¿ STDOUT ¼«úπΓ íδΓ∞ »ÑαÑ¡á»αáó-
- ½Ñ¡δ ¡á Σá⌐½δ ¿½¿ ó »«Γ«¬ (PIPE), ¬á¬ «»¿ßδóὫß∞ ó αáºñѽÑ
- 7.2.
- öπ¡¬µ¿¿ GETCHAR ¿ PUTCHAR ¼«úπΓ íδΓ∞ «»αÑñѽѡδ ó ΓÑନ-
- ¡á½áσ GETC, PUTC, STDIN ¿ STDOUT ß½ÑñπεΘ¿¼ «íαẫ¼:
- #DEFINE GETCHAR() GETC(STDIN) #DEFINE PUTCHAR(C) PUTC(C,
- STDOUT)
- Åα¿ αáí«ΓÑ ß Σá⌐½á¼¿ ñ½∩ Σ«α¼áΓ¡«ú« óó«ñá ¿ óδó«ñá ¼«ª¡« ¿ß-
- »«½∞º«óáΓ∞ Σπ¡¬µ¿¿ FSCANF ¿ FPRINTF. Ä¡¿ ¿ñÑ¡Γ¿τ¡δ Σπ¡¬µ¿∩¼
- SCANF ¿ PRINTF, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« »Ñαóδ¼ áαúπ¼Ñ¡Γ«¼
- ∩ó½∩ÑΓß∩ π¬áºáΓѽ∞ Σá⌐½á, «»αÑñѽ∩εΘ¿⌐ ëà Σá⌐½, ¬«Γ«αδ⌐ íπ-
- ñÑΓ τ¿ΓáΓ∞ß∩ ¿½¿ ¬πñá íπñÑΓ óÑßΓ¿ß∞ ºá»¿ß∞; π»αáó½∩εΘá∩
- ßΓ᫬á íπñÑΓ óΓ«αδ¼ áαúπ¼Ñ¡Γ«¼.
-
- - 162 -
-
- Å«¬«¡τ¿ó ß »αÑñóáα¿Γѽ∞¡δ¼¿ ºá¼Ñτá¡¿∩¼¿, ¼δ ΓÑ»Ñα∞ ó
- ß«ßΓ«∩¡¿¿ ¡á»¿ßáΓ∞ »α«úαá¼¼π CAT ñ½∩ ¬«¡¬áΓѡᵿ¿ Σá⌐½«ó.
- êß»«½∞ºπѼá∩ ºñÑß∞ «ß¡«ó¡á∩ ßσÑ¼á «¬áºδóáÑΓß∩ πñ«í¡«⌐ ó«
- ¼¡«ú¿σ »α«úαá¼¼áσ: Ñß½¿ ¿¼ÑεΓß∩ áαúπ¼Ñ¡Γδ ó ¬«¼á¡ñ¡«⌐ ßΓα«-
- ¬Ñ, Γ« «¡¿ «íαáíáΓδóáεΓß∩ »«ß½Ññ«óáΓѽ∞¡«. àß½¿ Γá¬¿Ñ áαúπ-
- ¼Ñ¡Γδ «ΓßπΓßΓóπεΓ, Γ« «íαáíáΓδóáÑΓß∩ ßΓá¡ñáαΓ¡δ⌐ óó«ñ. ¥Γ«
- »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ »α«úαá¼¼π ¬á¬ ßἫßΓ«∩Γѽ∞¡«, Γᬠ¿
- ¬á¬ τáßΓ∞ í«½∞ΦÑ⌐ ºáñáτ¿.
-
- #INCLUDE <STDIO.H>
- MAIN(ARGC, ARGV) /*CAT: CONCATENATE FILES*/
- INT ARGC;
- CHAR *ARGV[];
- \(
- FILE *FP, *FOPEN();
- IF(ARGC==1) /*NO ARGS; COPY STANDARD INPUT*/
- FILECOPY(STDIN);
- ELSE
- WHILE (--ARGC > 0)
- IF ((FP=FOPEN(*++ARGV,"R"))==NULL) \(
- PRINTF("CAT:CAN'T OPEN %\N",*ARGV);
- BREAK;
- \) ELSE \(
- FILECOPY(FP);
- FCLOSE(FP);
- \)
- \)
- FILECOPY(FP) /*COPY FILE FP TO STANDARD OUTPUT*/
- FILE *FP;
- \(
- INT C;
- WHILE ((C=GETC(FP)) !=EOF)
- PUTC(C, STDOUT);
- \)
-
- ô¬áºáΓѽ¿ Σá⌐½«ó STDIN ¿ STDOUT ºáαá¡ÑÑ «»αÑñѽѡδ ó í¿í½¿«-
- ΓÑ¬Ñ óó«ñá-óδó«ñá ¬á¬ ßΓá¡ñáαΓ¡δ⌐ óó«ñ ¿ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ;
- «¡¿ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ó ½εí«¼ ¼ÑßΓÑ, úñÑ ¼«ª¡« ¿ß»«½∞-
- º«óáΓ∞ «íΩÑ¬Γ Γ¿»á FILE*.«¡¿ «ñ¡á¬« ∩ó½∩εΓß∩ ¬«¡ßΓá¡ΓἿ, á
- ¡Ñ »ÑαѼѡ¡δ¼¿, ΓᬠτΓ« ¡Ñ »δΓá⌐ΓÑß∞ ¿¼ τΓ«-½¿í« »α¿ßóá¿-
- óáΓ∞.
- öπ¡¬µ¿∩ FCLOSE ∩ó½∩ÑΓß∩ «íαáΓ¡«⌐ »« «Γ¡«ΦÑ¡¿ε ¬ FOPEN;
- «¡á αáºαδóáÑΓ ßó∩º∞ ¼Ñªñπ π¬áºáΓѽѼ Σá⌐½á ¿ ó¡ÑΦ¡¿¼ ¿¼Ñ¡Ñ¼,
- πßΓá¡«ó½Ñ¡¡πε Σπ¡¬µ¿Ñ⌐ FOPEN, ¿ óδßó«í«ªñáÑΓ π¬áºáΓѽ∞ Σá⌐½á
- ñ½∩ ñαπú«ú« Σá⌐½á.í«½∞Φ¿¡ßΓó« «»Ñαᵿ«¡¡δσ ß¿ßΓѼ ¿¼ÑεΓ ¡Ñ-
- ¬«Γ«αδÑ «úαá¡¿τÑ¡¿∩ ¡á τ¿ß½« «ñ¡«óαѼѡ¡« «Γ¬αδΓδσ Σá⌐½«ó,
- ¬«Γ«α묨 ¼«ªÑΓ αáß»«α∩ªáΓ∞ß∩ »α«úαá¼¼á. Å«φΓ«¼π, Γ« ¬á¬ ¼δ
- »«ßΓπ»¿½¿ ó CAT, «ßó«í«ñ¿ó ¡Ñ ¡πª¡δÑ ¡á¼ í«½ÑÑ «íΩѬΓδ, ∩ó-
- ½∩ÑΓß∩ σ«α«ΦÑ⌐ ¿ñÑÑ⌐. ê¼ÑÑΓß∩ ¿ ñαπúá∩ »α¿τ¿¡á ñ½∩ »α¿¼Ñ¡Ñ-
- ¡¿∩ Σπ¡¬µ¿¿ FCLOSE ¬ óδσ«ñ¡«¼π Σá⌐½π - «¡á óδºδóáÑΓ óδñáτπ
- ¿¡Σ«α¼áµ¿¿ ¿º íπΣÑαá, ó ¬«Γ«α«¼ PUTC ß«í¿αáÑΓ óδó«ñ. (Åα¿
- ¡«α¼á½∞¡«¼ ºáóÑαΦÑ¡¿¿ αáí«Γδ »α«úαá¼¼δ Σπ¡¬µ¿∩ FCLOSE óδºδ-
- óáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿ ñ½∩ ¬áªñ«ú« «Γ¬αδΓ«ú« Σá⌐½á).
-
- - 163 -
-
- 7.7. Äíαáí«Γ¬á «Φ¿í«¬ - STDERR ¿ EXIT
- Äíαáí«Γ¬á «Φ¿í«¬ ó CAT ¡Ñ¿ñÑá½∞¡á. ìÑπñ«íßΓó« ºá¬½ετáÑΓ-
- ß∩ ó Γ«¼, τΓ« Ñß½¿ «ñ¿¡ ¿º Σá⌐½«ó »« ¡Ñ¬«Γ«α«⌐ »α¿τ¿¡Ñ «¬á-
- ºδóáÑΓß∩ ¡Ññ«ßΓπ»¡δ¼, ñ¿áú¡«ßΓ¿τÑ߬«Ñ ß««íΘÑ¡¿Ñ «í φΓ«¼ »Ñ-
- τáΓáÑΓß∩ ó ¬«¡µÑ «íΩÑñ¿¡Ñ¡¡«ú« óδó«ñá. ¥Γ« »α¿Ñ¼½Ñ¼«, Ñß½¿
- óδó«ñ »«ßΓπ»áÑΓ ¡á ΓÑନ¡á½, ¡« ¡Ñ ú«ñ¿Γß∩, Ñß½¿ óδó«ñ »«ß-
- Γπ»áÑΓ ó ¡Ñ¬«Γ«αδ⌐ Σá⌐½ ¿½¿ τÑαѺ »«Γ«τ¡δ⌐ (PIPELINE) ¼Ñσá-
- ¡¿º¼ ó ñαπúπε »α«úαá¼¼π.
- ùΓ«íδ ½πτΦÑ «íαáíáΓδóáΓ∞ Γá¬πε ß¿Γπᵿε, ¬ »α«úαá¼¼Ñ
- Γ«τ¡« Γᬿ¼ ªÑ «íαẫ¼, ¬á¬ STDIN ¿ STDOUT, »α¿ß«Ññ¿¡∩ÑΓß∩
- óΓ«α«⌐ óδσ«ñ¡«⌐ Σá⌐½, ¡áºδóáѼδ⌐ STDERR. àß½¿ φΓ« ó««íΘÑ
- 󫺼«ª¡«, óδó«ñ, ºá»¿ßá¡¡δ⌐ ó Σá⌐½Ñ STDERR, »«∩ó½∩ÑΓß∩ ¡á
- ΓÑନ¡á½Ñ »«½∞º«óáΓѽ∩, ñáªÑ Ñß½¿ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ ¡á»αáó-
- ½∩ÑΓß∩ ó ñαπú«Ñ ¼ÑßΓ«.
- äáóá⌐ΓÑ »ÑαÑñѽáѼ »α«úαá¼¼π CAT Γᬿ¼ «íαẫ¼, τΓ«íδ
- ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ »¿ß὿ß∞ ó ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ «Φ¿í«¬.
-
- "INCLUDE <STDIO.H>
- MAIN(ARGC,ARGV) /*CAT: CONCATENATE FILES*/
- INT ARGC;
- CHAR *ARGV[];
- \(
- FILE *FP, *FOPEN();
- IF(ARGC==1) /*NO ARGS; COPY STANDARD INPUT*/
- FILECOPY(STDIN);
- ELSE
- WHILE (--ARGC > 0)
- IF((FP=FOPEN(*++ARGV,"R#))==NULL) \(
- PRINTF(STDERR,
- "CAT: CAN'T OPEN,%S\N", ARGV);
- EXIT(1);
- \) ELSE \(
- FILECOPY(FP);
- \)
- EXIT(0);
- \)
-
- Åα«úαá¼¼á ß««íΘáÑΓ «í «Φ¿í¬áσ ñóπ¼∩ ß»«ß«íἿ. ä¿áú¡«ßΓ¿τÑß-
- ¬«Ñ ß««íΘÑ¡¿Ñ, óδñáóáѼ«Ñ Σπ¡¬µ¿Ñ⌐ FPRINTF, »«ßΓπ»áÑΓ ó
- STDERR ¿, Γᬿ¼ «íαẫ¼, «¬áºδóáÑΓß∩ ¡á ΓÑନ¡á½Ñ »«½∞º«óá-
- Γѽ∩, á ¡Ñ ¿ßτѺáÑΓ ó »«Γ«¬Ñ (PIPELINE) ¿½¿ ó óδσ«ñ¡«¼ Σá⌐-
- ½Ñ.
- Åα«úαá¼¼á Γá¬ªÑ ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿ε EXIT ¿º ßΓá¡ñáαΓ¡«⌐
- í¿í½¿«ΓѬ¿, «íαáΘÑ¡¿Ñ ¬ ¬«Γ«α«⌐ óδºδóáÑΓ ºáóÑαΦÑ¡¿Ñ óδ»«½¡Ñ-
- ¡¿∩ »α«úαá¼¼δ. Çαúπ¼Ñ¡Γ Σπ¡¬µ¿¿ EXIT ñ«ßΓπ»Ñ¡ ½εí«⌐ »α«úαá¼-
- ¼Ñ, «íαáΘáεΘÑ⌐ß∩ ¬ ñá¡¡«⌐ Σπ¡¬µ¿¿, ΓᬠτΓ« πß»ÑΦ¡«Ñ ¿½¿ ¡Ñπ-
- ñáτ¡«Ñ ºáóÑαΦÑ¡¿Ñ ñá¡¡«⌐ »α«úαá¼¼δ ¼«ªÑΓ íδΓ∞ »α«óÑαÑ¡« ñαπ-
- ú«⌐ »α«úαá¼¼«⌐, ¿ß»«½∞ºπεΘÑ⌐ φΓπ ó ¬áτÑßΓóÑ »«ñºáñáτ¿. Å«
- ß«ú½áΦÑ¡¿ε óѽ¿τ¿¡á 0 ó ¬áτÑΓßóÑ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ßó¿-
- ñÑΓѽ∞ßΓóπÑΓ « Γ«¼, τΓ« óßÑ ó »«α∩ñ¬Ñ, á αẽ¿τ¡δÑ ¡Ñ¡π½ÑóδÑ
- º¡áτÑ¡¿∩ ∩ó½∩εΓß∩ »α¿º¡á¬á¼¿ ¡«α¼á½∞¡δσ ß¿Γπᵿ⌐.
-
- - 164 -
-
- öπ¡¬µ¿∩ EXIT óδºδóáÑΓ Σπ¡¬µ¿ε FCLOSE ñ½∩ ¬áªñ«ú« «Γ¬αδ-
- Γ«ú« óδσ«ñ¡«ú« Σá⌐½á, ß ΓѼ τΓ«íδ óδóÑßΓ¿ óßε »«¼ÑΘÑ¡¡πε ó
- íπΣÑαδ óδσ«ñ¡πε ¿¡Σ«α¼áµ¿ε, á ºáΓѼ óδºδóáÑΓ Σπ¡¬µ¿ε _EXIT.
- öπ¡¬µ¿∩ _EXIT »α¿ó«ñ¿Γ ¬ ¡Ñ¼Ññ½Ñ¡¡«¼π ºáóÑαΦÑ¡¿ε íѺ «τ¿ßΓ¬¿
- ¬á¬¿σ-½¿í« íπΣÑα«ó; ¬«¡Ñτ¡«, »α¿ ªÑ½á¡¿¿ ¬ φΓ«⌐ Σπ¡¬µ¿¿ ¼«ª-
- ¡« «íαáΓ¿Γ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«.
-
- 7.8. éó«ñ ¿ óδó«ñ ßΓ᫬
- æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá ß«ñÑαª¿Γ Σπ¡¬µ¿ε FGETS, ß«óÑαΦÑ¡-
- ¡« á¡á½«ú¿τ¡πε Σπ¡¬µ¿¿ GETLINE, ¬«Γ«απε ¼δ ¿ß»«½∞º«ó὿ ¡á
- óßѼ »α«Γ∩ªÑ¡¿¿ ¬¡¿ú¿. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
-
- FGETS(LINE, MAXLINE, FP)
-
- ß½ÑñπεΘá∩ ßΓ᫬á óó«ñá (ó¬½ετá∩ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿) ßτ¿Γδ-
- óáÑΓß∩ ¿º Σá⌐½á FP ó ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó LINE; ßá¼«Ñ í«½∞Φ«Ñ
- MAXLINE_1 ß¿¼ó«½ íπñÑΓ »α«τ¿Γá¡. ÉѺπ½∞Γ¿απεΘá∩ ßΓα«¬á ºá-
- ¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ \ 0. ì«α¼á½∞¡« Σπ¡¬µ¿∩ FGETS ó«ºóαáΘáÑΓ
- LINE; ó ¬«¡µÑ Σá⌐½á «¡á ó«ºóαáΘáÑΓ NULL. (ìáΦá Σπ¡¬µ¿∩
- GETLINE ó«ºóαáΘáÑΓ ñ½¿¡π ßΓ᫬¿, á »α¿ óδσ«ñÑ ¡á ¬«¡Ñµ Σá⌐½á
- - ¡π½∞).
- ÅαÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ óδó«ñá Σπ¡¬µ¿∩ FPUTS ºá»¿ßδóáÑΓ
- ßΓ᫬π (¬«Γ«αá∩ ¡Ñ «í∩ºá¡á ß«ñÑαªáΓ∞ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿) ó
- Σá⌐½:
-
- FPUTS(LINE, FP)
-
- ùΓ«íδ »«¬áºáΓ∞, τΓ« ó Σπ¡¬µ¿∩σ Γ¿»á FGETS ¿ FPUTS ¡ÑΓ
- ¡¿τÑú« Γá¿¡ßΓóÑ¡¡«ú«, ¼δ »α¿ó«ñ¿¼ ¿σ ¡¿ªÑ, ߬«»¿α«óá¡¡δ¼¿
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿º ßΓá¡ñáαΓ¡«⌐ í¿í½¿«ΓѬ¿ óó«ñá-óδó«ñá:
-
- #INCLUDE <STDIO.H>
- CHAR *FGETS(S,N,IOP) /*GET AT MOST N CHARS FROM IOP*/
- CHAR *S;
- INT N;
- REGISTER FILE *IOP;
- \(
- REGISTER INT C;
- REGISTER CHAR *CS;
- CS = S;
- WHILE(--N>0&&(C=GETC(IOP)) !=EOF)
- IF ((*CS++ = C)=='\N')
- BREAK;
- *CS = '\0';
- RETURN((C==EOF && CS==S) 7 NULL : S);
- \)
- FPUTS(S,IOP) /*PUT STRING S ON FILS IOP*/
- REGISTER CHAR *S;
- REGISTER FILE *IOP;
- \(
- REGISTER INT C;
- WHILE (C = *S++)
- PUTC(C,IOP);
- \)
- - 165 -
-
-
- ô»α᪡ѡ¿Ñ 7-3.
- ---------------
- ìá»¿Φ¿ΓÑ »α«úαá¼¼π ßαáó¡Ñ¡¿∩ ñóπσ Σá⌐½«ó, ¬«Γ«αá∩ íπñÑΓ
- »ÑτáΓáΓ∞ »Ñαóπε ßΓப㠨 »«º¿µ¿ε ß¿¼ó«½á, úñÑ «¡¿ αẽ¿τáεΓ-
- ß∩.
- ô»α᪡ѡ¿Ñ 7-4.
- ---------------
- ÅÑαÑñѽá⌐ΓÑ »α«úαá¼¼π »«¿ß¬á ºáñá¡¡«⌐ ¬«¼í¿¡áµ¿¿ ß¿¼ó«-
- ½«ó ¿º ú½áóδ 5 Γᬿ¼ «íαẫ¼, τΓ«íδ ó ¬áτÑßΓóÑ óó«ñá ¿ß»«½∞-
- º«óá½ß∩ ¡áí«α ¿¼Ñ¡«óá¡¡δσ Σá⌐½«ó ¿½¿, Ñß½¿ ¡¿¬á¬¿Ñ Σá⌐½δ ¡Ñ
- π¬áºá¡δ ¬á¬ áαúπ¼Ñ¡Γδ, ßΓá¡ñáαΓ¡δ⌐ óó«ñ. æ½ÑñπÑΓ ½¿ »ÑτáΓáΓ∞
- ¿¼∩ Σá⌐½á »α¿ ¡áσ«ªñÑ¡¿¿ »«ñσ«ñ∩ΘÑ⌐ ßΓ᫬¿?
- ô»α᪡ѡ¿Ñ 7-5.
- --------------
- ìá»¿Φ¿ΓÑ »α«úαá¼¼π »ÑτáΓ¿ ¡áí«αá Σá⌐½«ó, ¬«Γ«αá∩ ¡áτ¿¡á-
- ÑΓ ¬áªñδ⌐ ¡«óδ⌐ Σá⌐½ ß ¡«ó«⌐ ßΓαá¡¿µδ ¿ »ÑτáΓáÑΓ ñ½∩ ¬áªñ«ú«
- Σá⌐½á ºáú«½«ó«¬ ¿ ßτÑΓτ¿¬ ΓѬπΘ¿σ ßΓαá¡¿µ.
-
- 7.9. ìÑ߬«½∞¬« αạ««íαạδσ Σπ¡¬µ¿⌐
- æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓÑ¬á »αÑñ«ßΓáó½∩ÑΓ ¼¡«ªÑßΓó« αạ««í-
- αạδσ Σπ¡¬µ¿⌐, ¡Ñ¬«Γ«αδÑ ¿º ¬«Γ«αδσ «¬áºδóáεΓß∩ «ß«íÑ¡¡«
- »«½Ñº¡δ¼¿. îδ πªÑ π»«¼¿¡á½¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿:
- STRLEN, STRCPY, STRCAT ¿ STRCMP. é«Γ ¡Ñ¬«Γ«αδÑ ñαπú¿Ñ.
-
- 7.9.1. Åα«óÑα¬á ó¿ñá ß¿¼ó«½«ó ¿ »αÑ«íαẫóá¡¿∩
- ìѬ«Γ«αδÑ ¼á¬α«ßδ óδ»«½¡∩εΓ »α«óÑα¬π ß¿¼ó«½«ó ¿ »αÑ«íαá-
- º«óá¡¿∩:
-
-
- SALPHA(C) ¡Ñ 0, Ñß½¿ "C" á½Σáó¿Γ¡δ⌐ ß¿¼ó«½,
- 0 - Ñß½¿ ¡ÑΓ.
- SUPPER(C) ìÑ 0, Ñß½¿ "C" íπ¬óá óÑασ¡Ñú« αÑú¿ßΓαá,
- 0 - Ñß½¿ ¡ÑΓ.
- SLOWER(C) ìÑ 0, Ñß½¿ "C" íπ¬óá ¡¿ª¡Ñú« αÑú¿ßΓαá,
- 0 - Ñß½¿ ¡ÑΓ.
- SDIGIT(C) ìÑ 0, Ñß½¿ "C" µ¿Σαá,
- 0 - Ñß½¿ ¡ÑΓ.
- SSPACL(C) ìÑ 0, Ñß½¿ "C" »α«íѽ, Γáíπ½∩µ¿∩
- ¿½¿ ¡«óá∩ ßΓ᫬á, 0 - Ñß½¿ ¡ÑΓ.
- OUPPER(C) ÅαÑ«íαáºπÑΓ "C" ó íπ¬óπ óÑασ¡Ñú« αÑú¿ßΓαá.
- OLOWER(C) ÅαÑ«íαáºπÑΓ "C" ó íπ¬óπ ¡¿ª¡Ñú« αÑú¿ßΓαá.
-
- 7.9.2. öπ¡¬µ¿∩ UNGETC
- æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá ß«ñÑαª¿Γ ñ«ó«½∞¡« «úαá¡¿τÑ¡¡πε
- óÑαß¿ε Σπ¡¬µ¿¿ UNGETCH, ¡á»¿ßá¡¡«⌐ ¡á¼¿ ó ú½áóÑ 4; «¡á ¡áºδ-
- óáÑΓß∩ UNGETC. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
-
- UNGETC(C,FP)
-
- ß¿¼ó«½ "C" ó«ºóαáΘáÑΓß∩ ó Σá⌐½ FP. Å«ºó«½∩ÑΓß∩ ó«ºóαáΘáΓ∞ ó
- ¬áªñδ⌐ Σá⌐½ Γ«½∞¬« «ñ¿¡ ß¿¼ó«½. öπ¡¬µ¿∩ UNGETC ¼«ªÑΓ íδΓ∞
- ¿ß»«½∞º«óá¡á ó ½εí«⌐ ¿º Σπ¡¬µ¿⌐ óó«ñá ¿ ß ¼á¬α«ßἿ Γ¿»á
- SCANF, GETC ¿½¿ GETCHAR.
-
- - 166 -
-
- 7.9.3. ÄíαáΘÑ¡¿Ñ ¬ ß¿ßΓѼÑ
- öπ¡¬µ¿∩ SYSTEM(S) óδ»«½¡∩ÑΓ ¬«¼á¡ñπ, ß«ñÑαªáΘπεß∩ ó ß¿¼-
- ó«½∞¡«⌐ ßΓα«¬Ñ S, ¿ ºáΓѼ ó«º«í¡«ó½∩ÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑ⌐
- »α«úαá¼¼δ. æ«ñÑন¼«Ñ S ß¿½∞¡« ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπѼ«⌐ «»Ñ-
- αᵿ«¡¡«⌐ ß¿ßΓѼδ. é ¬áτÑßΓóÑ Γα¿ó¿á½∞¡«ú« »α¿¼Ñαá, π¬áªÑ¼,
- τΓ« ¡á ß¿ßΓÑ¼Ñ UNIX ßΓ᫬á
-
- SYSTEM("DATE");
-
- »α¿ó«ñ¿Γ ¬ óδ»«½¡Ñ¡¿ε »α«úαá¼¼δ DATE, ¬«Γ«αá∩ »ÑτáΓáÑΓ ñáΓπ
- ¿ óαѼ∩ ñ¡∩.
-
- 7.9.4. ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε
- öπ¡¬µ¿∩ CALLOC óÑß∞¼á ßσ«ñ¡á ß Σπ¡¬µ¿Ñ⌐ ALLOC, ¿ß»«½∞º«-
- óá¡¡«⌐ ¡á¼¿ ó »αÑñδñπΘ¿σ ú½áóáσ. é αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩
-
- CALLOC(N, SIZEOF(OBJCCT))
-
- ó«ºóαáΘáÑΓß∩ ½¿í« π¬áºáΓѽ∞ »α«ßΓαá¡ßΓóá, ñ«ßΓáΓ«τ¡«ú« ñ½∩
- αẼÑΘÑ¡¿∩ N «íΩÑ¬Γ«ó π¬áºá¡¡«ú« αẼÑαá, ½¿í« NULL, Ñß½¿
- ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ πñó«½ÑΓó«αÑ¡. ÄΓó«ñ¿¼á∩ »á¼∩Γ∞ ¿¡¿µ¿á-
- ½¿º¿απÑΓß∩ ¡π½Ñó묨 º¡áτÑ¡¿∩¼¿.
- ô¬áºáΓѽ∞ «í½áñáÑΓ ¡πª¡δ¼ ñ½∩ αáßß¼áΓα¿óáѼδσ «íΩÑ¬Γ«ó
- óδαáó¡¿ó᡿Ѽ, ¡« Ѽπ ß½ÑñπÑΓ »α¿»¿ßδóáΓ∞ ß««ΓóÑΓßΓóπεΘ¿⌐
- Γ¿», ¬á¬ ó
-
- CHAR *CALLOC();
- INT *IP;
- IP=(INT*) CALLOC(N,SIZEOF(INT));
-
- öπ¡¬µ¿∩ CFREE(P) «ßó«í«ªñáÑΓ »α«ßΓαá¡ßΓó«, ¡á ¬«Γ«α«Ñ
- π¬áºδóáÑΓ "P", »α¿τѼ π¬áºáΓѽ∞ "P" »Ñó«¡áτá½∞¡« ñ«½ªÑ¡ íδΓ∞
- »«½πτÑ¡ ó αѺπ½∞ΓáΓÑ «íαáΘÑ¡¿∩ ¬ CALLOC. çñÑß∞ ¡ÑΓ ¡¿¬á¬¿σ
- «úαá¡¿τÑ¡¿⌐ ¡á »«α∩ñ«¬ «ßó«í«ªñÑ¡¿∩ »α«ßΓαá¡ßΓóá, ¡« íπñÑΓ
- ¡Ñ»α¿∩Γ¡Ñ⌐ΦÑ⌐ «Φ¿í¬«⌐ «ßó«í«ñ¿Γ∞ τΓ«-¡¿íπñ∞, τΓ« ¡Ñ í佫 »«-
- ½πτÑ¡« «íαáΘÑ¡¿Ñ¼ ¬ CALLOC.
- ÉÑ὿ºáµ¿∩ »α«úαá¼¼δ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »«ñ«í¡«⌐
- CALLOC, ó ¬«Γ«α«⌐ αẼÑΘÑ¡¡δÑ í½«¬¿ ¼«úπΓ «ßó«í«ªñáΓ∞ß∩ ó
- »α«¿ºó«½∞¡«¼ »«α∩ñ¬Ñ, »α«ñѼ«¡ßΓα¿α«óá¡á ó ú½áóÑ 8.
-