home *** CD-ROM | disk | FTP | other *** search
Text File | 1980-01-01 | 274.0 KB | 9,398 lines |
-
- ùáßΓ∞ 3
-
- ü ê ü ï ê Ä Æ à è Ç ö ô ì è û ê ë
-
-
-
- üêüïêÄÆàèÇ öôìèûêë
- ───────────────────
-
-
- ü¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿ ÑßΓÑßΓóÑ¡¡« αáºñѽ∩εΓß∩ ¡á ñóÑ ¬áΓÑ-
- ú«α¿¿:
-
- * Σπ¡¬µ¿¿, ß«ó¼ÑßΓ¿¼δÑ ß ANSI ßΓá¡ñáαΓ«¼ ∩ºδ¬á "C";
- * ¡Ñß«ó¼ÑßΓ¿¼δÑ ß ANSI ßΓá¡ñáαΓ«¼ ñ«»«½¡¿Γѽ∞¡δÑ í¿í½¿-
- «ΓÑτ¡δÑ Σπ¡¬µ¿¿
-
- ANSI C Σπ¡¬µ¿¿ ºá½«ªÑ¡δ ó »αÑñ½«ªÑ¡¡δ⌐ ǼÑਪá¡ß¬¿¼
- ê¡ßΓ¿ΓπΓ«¼ ìᵿ«¡á½∞¡δσ æΓá¡ñáαΓ«ó ßΓá¡ñáαΓ ñ½∩ ∩ºδ¬á »α«ú-
- αá¼¼¿α«óá¡¿∩ "C". ¥Γ¿ Σπ¡¬µ¿¿ «íÑß»Ñτ¿óáεΓ ¡á¿í«½∞Φπε ßΓÑ-
- »Ñ¡∞ »ÑαÑ¡«ß¿¼«ßΓ¿ ¼Ñªñπ αẽ¿τ¡δ¼¿ «»Ñαᵿ«¡¡δ¼¿ «¬απªÑ¡¿∩-
- ¼¿ ΓᬠªÑ, ¬á¬ ¿ í«½∞Φ¿¡ßΓó« ߻ѵ¿Σ¿τÑ߬¿σ MS DOS Σπ¡¬µ¿⌐.
- ANSI ßΓá¡ñáαΓ - φΓ« αáßΦ¿αÑ¡¿Ñ ¿ßσ«ñ¡«ú« ∩ºδ¬á, »αÑñ½«ªÑ¡¡«-
- ú« Kernighan ¿ Ritchie, ó¬½ετáεΘÑÑ ó ßΓá¡ñáαΓ ∩ºδ¬á "C" α∩ñ
- τÑαΓ ∩ºδ¬á C++.
- ü¿í½¿«ΓѬá Zortech C «τÑ¡∞ ΓÑß¡« ß«ú½áßπÑΓß∩ ß »αÑñ½«ªÑ¡-
- ¡δ¼ ANSI ßΓá¡ñáαΓ«¼, á Γá¬ªÑ ß«ñÑαª¿Γ í«½∞Φ«Ñ τ¿ß½« ñ«»«½¡¿-
- Γѽ∞¡δσ Σπ¡¬µ¿⌐, αáºαáí«Γá¡¡δσ ñ½∩ «í½ÑúτÑ¡¿∩ »α«úαá¼¼¿ßΓá¼
- ¿ß»«½∞º«óá¡¿∩ á»»áαáΓπαδ ¿ αÑßπαß«ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ.
- ü¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿, ¬«Γ«αδÑ ó¬½ετáεΓß∩ ó »αÑñóáα¿Γѽ∞¡δ⌐
- ANSI ßΓá¡ñáαΓ, »«¼ÑτáεΓß∩ ß½ÑñπεΘ¿¼ «íαáΘº«¼: /* ANSI */.
- êß»«½∞º«óá¡¿Ñ Γᬿσ Σπ¡¬µ¿⌐ πóѽ¿τ¿óáÑΓ »ÑαÑ¡«ß¿¼«ßΓ∞
- »α¿¬½áñ¡δσ »α«úαá¼¼. ¥Γ«Γ αáºñѽ απ¬«ó«ñßΓóá ß«ñÑαª¿Γ «»¿ßá-
- ¡¿Ñ ß««íΘÑ¡¿⌐ « ß¿ßΓѼ¡δσ «Φ¿í¬áσ ¿ «Φ¿í¬áσ ¼áΓѼáΓ¿τÑ߬¿σ
- Σπ¡¬µ¿⌐, Σá⌐½«ó ºáú«½«ó¬«ó ¿ »ÑαÑτ¿ß½Ñ¡¡δσ ó á½Σáó¿Γ¡«¼ »«-
- α∩ñ¬Ñ Σπ¡¬µ¿⌐. ä« φΓ«ú« ñáÑΓß∩ ¿¡Σ«α¼áµ¿∩ « ñóπσ «Γñѽ∞¡δσ
- úαπ»»áσ Σπ¡¬µ¿⌐:
-
- * Σπ¡¬µ¿¿ αáí«Γδ ß Σá⌐½á¼¿
- * Σπ¡¬µ¿¿ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε
-
- ìѬ«Γ«αδÑ Zortech Σπ¡¬µ¿¿ ΓαÑíπεΓ ß»Ñµ¿á½∞¡δσ º¡á¡¿⌐ «
- ¼¿¬α«»α«µÑßß«αÑ 8086, á»»áαáΓπαÑ »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá
- ¿½¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ MS DOS. î¡«ú«Ñ ¿º φΓ«ú« ¼«ª¡«
- πº¡áΓ∞ »α¿ τΓÑ¡¿¿ ß½ÑñπεΘ¿σ ñ«¬π¼Ñ¡Γ«ó:
-
- - ÆÑσ¡¿τÑ߬¿⌐ ß»αáó«τ¡¿¬ »« IBM PC (á»»áαáΓπαá).
- - æ»αáó«τ¡¿¬ »α«úαá¼¼¿ßΓá »« MS DOS (Σ¿α¼á Microsoft).
-
-
- Äí¼Ñ¡ ß Σá⌐½á¼¿
-
-
- é¿ñδ Σá⌐½«ó
-
- öá⌐½δ ¼«úπΓ íδΓ∞ ßτ¿Γá¡δ ¿½¿ ºá»¿ßá¡δ ó ñóπσ αѪ¿¼áσ:
- ΓѬßΓ«ó«¼ αѪ¿¼Ñ ¿ ñó«¿τ¡«¼ αѪ¿¼Ñ. äó«¿τ¡δ⌐ αѪ¿¼ ∩ó½∩ÑΓß∩
- "α«ñ¡δ¼" ñ½∩ MS DOS. é ¡Ñ¼ Σá⌐½δ ßτ¿ΓδóáεΓß∩ ¿ ºá»¿ßδóáεΓß∩
- íá⌐Γ ºá íá⌐Γ«¼, «Γ¬πñá ¿ ¬πñá π¬áºá¡«. é ΓѬßΓ«ó«¼ αѪ¿¼Ñ
- »α«¿ºó«ñ∩Γß∩ αẽ¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¬á¬-Γ«:
-
- éδó«ñ: Ñß½¿ π¬áºδóáÑΓß∩ ½¿ΓÑαá "»ÑαÑó«ñ ßΓ᫬¿" '\n',
- ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ºá»¿ßδóáεΓß∩ '\r'\n' (½¿ΓÑ-
- αδ "ó«ºóαáΓ ¬áαÑΓ¬¿" ¿ "»ÑαÑó«ñ ßΓ᫬¿").
-
- éó«ñ: »α¿ óó«ñÑ "ó«ºóαáΓ ¬áαÑΓ¬¿" '\r' ¿ú¡«α¿απÑΓß∩,
- á ½¿ΓÑαá control Z (0σ1A) »«¼ÑτáÑΓ ¬«¡Ñµ Σá⌐½á.
-
- Äíδτ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ (¡á»α¿¼Ñα, Σá⌐½ ¿ßσ«ñ¡«ú« ΓѬßΓá
- »α«úαá¼¼δ) ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ΓѬßΓ«óδ⌐ αѪ¿¼, ¬«Γ«αδ⌐ óδ-
- í¿αáÑΓß∩ »« π¼«½τá¡¿ε. öá⌐½δ, ß«ñÑαªáΘ¿Ñ ñó«¿τ¡δÑ ñá¡¡δÑ,
- ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ñó«¿τ¡δ⌐ αѪ¿¼. 漫Γα¿ΓÑ « Σπ¡¬µ¿¿
- fopen() ñ½∩ «íΩ∩ߡѡ¿∩ »«ñα«í¡«ßΓÑ⌐ «Γ¬αδΓ¿∩ Σá⌐½«ó ó αáº-
- ½¿τ¡δσ αѪ¿¼áσ.
-
-
- éδß«¬¿⌐ ¿ ¡¿º¬¿⌐ πα«ó¡¿ «í¼Ñ¡á ß Σá⌐½á¼¿
-
- ê¼ÑÑΓß∩ ñóá ¡áí«αá »α«úαá¼¼ «í¼Ñ¡á ß Σá⌐½á¼¿: óδß«¬«ú«
- πα«ó¡∩ ¿ ¡¿º¬«ú« πα«ó¡∩. Åα«úαá¼¼δ óδß«¬«ú« πα«ó¡∩ τ¿ΓáεΓ ¿
- »¿ΦπΓ Σá⌐½δ ¬á¬ ó ΓѬßΓ«ó«¼, Γᬠ¿ ó ñó«¿τ¡«¼ αѪ¿¼áσ. 쿺-
- ¬«πα«ó¡ÑóδÑ »α«úαá¼¼δ τ¿ΓáεΓ ¿ »¿ΦπΓ Σá⌐½δ Γ«½∞¬« ó ñó«¿τ¡«¼
- αѪ¿¼Ñ.
-
- éδß«¬«πα«ó¡ÑóδÑ ¿ ¡¿º¬«πα«ó¡ÑóδÑ »α«úαá¼¼δ ¡¿¬«úñá ¡Ñ
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ «ñ¡«óαѼѡ¡« ß «ñ¡¿¼ ¿ ΓѼ ªÑ Σá⌐½«¼.
- Åα«úαá¼¼¿ßΓπ,¬á¬ »αá󿽫,ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ óδß«¬«πα«ó¡ÑóδÑ
- »α«úαá¼¼δ,»«ß¬«½∞¬π «¡¿ ó í«½∞ΦÑ⌐ ßΓѻѡ¿ »ÑαÑ¡«ß¿¼δ.
-
-
- 쿺¬¿⌐ πα«óÑ¡∞ «í¼Ñ¡á ß Σá⌐½á¼¿
-
- Åα«úαá¼¼δ ¡¿º¬«ú« πα«ó¡∩ ñ½∩ «í¼Ñ¡á ß Σá⌐½á¼¿ - φΓ« Σπ¡¬-
- µ¿¿ creat(), open(), close(), lseek(), read() ¿ write(). Ä¡¿
- αÑ὿ºπεΓß∩ ¬á¬ »α∩¼«Ñ «íαáΘÑ¡¿Ñ (hooks) ¬ «»Ñαᵿ«¡¡«⌐ ß¿ß-
- ΓÑ¼Ñ MS DOS.
-
- öá⌐½, ß ¬«Γ«αδ¼ αáí«ΓáεΓ φΓ¿ Σπ¡¬µ¿¿, ºáñáÑΓß∩ ñÑß¬α¿»Γ«-
- α«¼ Σá⌐½á (handle). éó«ñ/óδó«ñ ∩ó½∩ÑΓß∩ ¡ÑíπΣÑਧ«óá¡¡δ¼ ¿
- ñó«¿τ¡δ¼. ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ ¡Ñ¬«Γ«αδÑ ñÑß¬α¿»Γ«αδ ߻ѵ¿á½∞¡δσ
- Σá⌐½«ó, ¬«Γ«αδÑ óßÑúñá «Γ¬αδΓδ:
-
- 0 æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óó«ñá.
- 1 æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá.
- 2 æΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ.
- 3 æΓá¡ñáαΓ¡«Ñ ñ«»«½¡¿Γѽ∞¡«Ñ (auxiliary) πßΓα«⌐ßΓó«.
- 4 æΓá¡ñáαΓ¡«Ñ »ÑτáΓáεΘÑÑ πßΓα«⌐ßΓó«.
-
-
- éδß«¬¿⌐ πα«óÑ¡∞ «í¼Ñ¡á ß Σá⌐½á¼¿
-
- öπ¡¬µ¿¿ «í¼Ñ¡á ß Σá⌐½á¼¿ óδß«¬«ú« πα«ó¡∩, ó¬½ετá∩ Σπ¡¬µ¿¿
- fopen(), fread(), fwrite() ¿ fclose(), »«ßΓα«Ñ¡δ ¡á «ß¡«óÑ
- ¡¿º¬«πα«ó¡Ñóδσ Σπ¡¬µ¿⌐. ¥Γ¿ Σπ¡¬µ¿¿ óºá¿¼«ñÑ⌐ßΓóπεΓ τÑαѺ
- π¬áºáΓѽ∞ »«Γ«¬á óó«ñá/óδó«ñá («íΩ∩ó½Ñ¡¡«ú« ¬á¬ FILE *). éδ-
- ß«¬«πα«ó¡ÑóδÑ Σπ¡¬µ¿¿ «ßπΘÑßΓó½∩εΓ íπΣÑਧ«óá¡¡δ⌐ «í¼Ñ¡.
- Å∩Γ∞ »«Γ«¬«ó óó«ñá/óδó«ñá óßÑúñá «Γ¬αδΓδ, φΓ«:
-
- stdin æΓá¡ñáαΓ¡δ⌐ óó«ñ
- stdout æΓá¡ñáαΓ¡δ⌐ óδó«ñ
- stderr æΓá¡ñáαΓ¡δ⌐ óδó«ñ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ
- stdaux æΓá¡ñáαΓ¡δ⌐ ñ«»«½¡¿Γѽ∞¡δ⌐ »«Γ«¬ (auxiliary)
- stdprn æΓá¡ñáαΓ¡δ⌐ »α¿¡ΓÑα
-
- ä½∩ ¿ß»«½∞º«óá¡¿∩ óδß«¬«πα«ó¡Ñóδσ Σπ¡¬µ¿⌐ éδ ñ«½ª¡δ ó¬½ε-
- τ¿Γ∞ ßΓ᫬π
-
- #include <stdio.h>
-
- ó ¡áτὫ éáΦÑú« Σá⌐½á ¿ßσ«ñ¡«ú« ΓѬßΓá »α«úαá¼¼δ.
-
-
- Éáß»αÑñѽѡ¿Ñ »á¼∩Γ¿
-
-
- 'èπτá' (Heap)
-
- 'èπτá' - φΓ« «í½áßΓ∞ »á¼∩Γ¿, αáß»αÑñѽ∩Ѽ«⌐ ñ¿¡á¼¿τÑ߬¿.
- Åá¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ ¿ «ßó«í«ªñáÑΓß∩ »α¿ »«¼«Θ¿ Σπ¡¬µ¿⌐
- malloc(), realloc(), calloc() ¿ free().
-
- ä½∩ S (¼á½«⌐), M (ßαÑñ¡Ñ⌐) ¿ T (Γ«¡¬«⌐) ¼«ñѽÑ⌐ »α«-
- ßΓαá¡ßΓó« ñ½∩ '¬πτ¿' ¼«ªÑΓ αáß»αÑñѽ∩Γ∞ß∩ ó MS DOS µÑ½¿¬«¼
- ºá αẠ¿½¿ »« ¼ÑαÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿. ü«½∞Φ¿¡ßΓó« »α«úαá¼¼ íπñÑΓ
- ¿ß»«½∞º«óáΓ∞ ßσѼπ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ »« π¼«½τá¡¿ε, ¬«Γ«-
- αá∩ αáßΦ¿α∩ÑΓ ßÑú¼Ñ¡Γ ñá¡¡δσ, ¿ß»«½∞ºπ∩ óßÑ ñ«ßΓπ»¡«Ñ »α«ßΓ-
- αá¡ßΓó« »á¼∩Γ¿ (ñ« 64K) »α¿ ºá»π᪥ »α«úαá¼¼δ.
-
- äαπúá∩ ßσѼá óδñѽѡ¿∩ »α«ßΓαá¡ßΓóá »«ñ '¬πτπ' -
- '»« ¡Ñ«íσ«ñ¿¼«ßΓ¿' - ¿ß»«½∞ºπÑΓß∩ ñ½∩ »α«úαá¼¼, ¬«Γ«αδÑ
- ¿ß»«½¡∩εΓ ñαπú¿Ñ »α«úαá¼¼δ, Γ.Ñ. ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿ Γ¿»á
- spawn().
- Éáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ »«ñ '¬πτπ' '»« ¡Ñ«íσ«ñ¿¼«ßΓ¿' «ßΓáó-
- ½∩ÑΓ ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ ñ«τÑα¡¿¼ »α«-
- µÑßßá¼. éΓ«αá∩ ßσѼá óδí¿αáÑΓß∩ »α¿ «íΩ∩ó½Ñ¡¿¿ ¿ ¿¡¿µ¿á-
- ½¿ºáµ¿¿ »ÑαѼѡ¡«⌐ _okbigbuf 0. æ½ÑñπεΘ¿⌐ »α¿¼Ñα »«¬áºδóá-
- ÑΓ, ¬á¬ óδí¿αáÑΓß∩ óΓ«αá∩ ßσѼá αáß»αÑñѽѡ¿∩ »á¼∩Γ¿:
-
- int _okbigbuf = 0; /* êß»«½∞º«óáΓ∞ ßσѼπ αáß»αÑñѽѡ¿∩
- »á¼∩Γ¿ '»« ¡Ñ«íσ«ñ¿¼«ßΓ¿' */
-
- _okbigbuf != 0 «º¡áτáÑΓ ¿ß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ ñ¿ß¬«óδσ íπ-
- ΣÑα«ó ñ½∩ »«Γ«¬á óó«ñá/óδó«ñá ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ. éßÑ φΓ«
- π»αáó½Ñ¡¿Ñ ºá»α«úαá¼¼¿α«óá¡« ó C.ASM.
- C.ASM - φΓ« ßΓáαΓ«óδ⌐ C ¼«ñπ½∞, ¬«Γ«αδ⌐ áóΓ«¼áΓ¿τÑ߬¿
- »α¿¬«¼»«¡«óδóáÑΓß∩ ó ¡áτὫ éáΦÑ⌐ »α«úαá¼¼δ ¿ ¿¡¿µ¿á½¿º¿απ-
- ÑΓ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ó ß««ΓóÑΓßΓó¿¿ ß ¿ß»«½∞ºπѼ«⌐ ¼«ñѽ∞ε
- »á¼∩Γ¿; C.ASM Γá¬ªÑ úáαá¡Γ¿απÑΓ, τΓ« »α«úαá¼¼á ¿¼ÑÑΓ ¬«α-
- αÑ¬Γ¡πε ßΓαπ¬Γπαπ, ¬á¬ φΓ« ΓαÑíπÑΓ MS DOS. ¥Γ«Γ ¼«ñπ½∞ πßΓá-
- ¡áó½¿óáÑΓ Γá¬ªÑ ßσѼπ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, ¬«Γ«αá∩ íπñÑΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »«½πτÑ¡¿∩ »á¼∩Γ¿ ¿º ßÑú¼Ñ¡Γ«ó ñá¡¡δσ.
-
- ä½∩ »«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ »« αáß»αÑñѽѡ¿ε
- »á¼∩Γ¿ ß¼«Γα¿ΓÑ αáºñѽ '¿¡ΓÑαΣÑ⌐ß ß áßßѼí½Ñα«¼' ß»αáó«τ¡«-
- ú« απ¬«ó«ñßΓóá.
-
-
- æΓѬ (Stack)
-
- æΓѬ αáßΓÑΓ ó¡¿º »« ¡á»αáó½Ñ¡¿ε ¬ ßΓáΓ¿τÑ߬¿ αẼÑΘÑ¡¡δ¼
- ñá¡¡δ¼. àß½¿ ßΓѬ »ÑαÑσ«ñ¿Γ úαá¡¿µπ óδñѽѡ¡«ú« »α«ßΓαá¡ßΓ-
- óá, Γ« ßΓáΓ¿τÑ߬¿ αáß»αÑñѽѡ¡δÑ ñá¡¡δÑ íπñπΓ αáºαπΦÑ¡δ ¿
- »α«úαá¼¼á ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ ¡Ñ«íΩ∩ß¡¿¼δ¼ «íαẫ¼. ä½∩ »α«-
- óÑન Γ«ú«, τΓ« ßΓѬ ¡Ñ ¡áαπΦáÑΓ úαá¡¿µπ, ¿¼ÑÑΓß∩ Σπ¡¬µ¿∩
- _chkstack().
-
- öπ¡¬µ¿ε _chkstack() ß½ÑñπÑΓ óδºδóáΓ∞ ¿º Σπ¡¬µ¿⌐, ¬«Γ«αδÑ,
- 󫺼«ª¡«, ¿ß»«½∞ºπεΓ ß½¿Φ¬«¼ ¼¡«ú« ßΓѬ«ó«ú« »α«ßΓαá¡ßΓóá.
- àß½¿ φΓ« ß½πτáÑΓß∩, _chkstack() áóáα¿⌐¡« ºáóÑαΦáÑΓ óδ»«½¡Ñ-
- ¡¿Ñ »α«úαá¼¼δ ß ß««íΘÑ¡¿Ñ¼ « »ÑαÑ»«½¡Ñ¡¿¿ ßΓѬá.
-
- è½ετ -s ¬«¼»¿½∩Γ«αá ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ úÑ¡Ñαᵿ¿
- »α«úαá¼¼δ ß »α«óÑᬫ⌐ »ÑαÑ»«½¡Ñ¡¿∩ ßΓÑ¬á »α¿ óσ«ñÑ ó ¬áªñπε
- Σπ¡¬µ¿ε. ò«Γ∩ φΓ« πóѽ¿τ¿óáÑΓ αẼÑα »α«úαá¼¼δ ¿ ó½¿∩ÑΓ ¡á
- ߬«α«ßΓ∞ ¿ß»«½¡Ñ¡¿∩, ¡« «íÑß»Ñτ¿óáÑΓ »«¼«Θ∞ »α¿ αÑΦÑ¡¿¿ »α«í-
- ½Ñ¼δ »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá. àß½¿ «í¡áαπª¿Γß∩ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá,
- ß««íΘÑ¡¿Ñ:
-
- STACK OVERFLOW
-
- óδó«ñ¿Γß∩ ¡á φ¬αá¡ ΓÑନ¡á½á ¿ »α«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦáÑΓ-
- ß∩. ÉẼÑα ßΓÑ¬á ¼«ªÑΓ íδΓ∞ πßΓá¡«ó½Ñ¡ ßΓáΓ¿τÑ߬¿ »πΓѼ ¿¡¿-
- µ¿á½¿ºáµ¿¿ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐ _stack:
-
- unsigned _stack = nnnn;
-
- ó ¡áτá½Ñ éáΦÑ⌐ »α«úαá¼¼δ; 'nnnn' - φΓ« αẼÑα ó íá⌐Γáσ ΓαÑ-
- íπѼ«ú« ßΓѬá. Å« π¼«½τá¡¿ε αẼÑα ßΓѬá αáóÑ¡ 2048 íá⌐Γ.
- ä«»πßΓ¿¼δ¼¿ º¡áτÑ¡¿∩¼¿ ñ½∩ nnnn ∩ó½∩εΓß∩ 1024 ... 30000. Åá-
- ¼∩Γ∞, αáß»αÑñѽѡ¡á∩ »«ñ ßΓѬ, ¡Ñ ºáí¿αáÑΓß∩ «Γ ßΓáΓ¿τÑ߬¿σ
- ñá¡¡δσ ó C ¿ L ¼«ñѽ∩σ »á¼∩Γ¿,Γᬠ¬á¬ ßΓѬ »«¼ÑΘáÑΓß∩ ó ßó«⌐
- ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ.
-
-
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ
-
- ê¼ÑÑΓß∩ ¡Ñ߬«½∞¬« ú½«íá½∞¡δσ »ÑαѼѡ¡δσ, ¬«Γ«αδÑ «»αÑñÑ-
- ½∩εΓ ß«ßΓ«∩¡¿Ñ τáßΓÑ⌐ »α«úαá¼¼δ. çñÑß∞ «»¿ßδóáεΓß∩ ¿¼Ñ¡á »Ñ-
- αѼѡ¡δσ ¿ ¿σ ¿ß»«½∞º«óá¡¿Ñ.
-
-
- _8087
-
- éß∩¬¿⌐ αẠó ¡áτá½Ñ ¿ß»«½∞º«óá¡¿∩ »α«úαá¼¼δ «»αÑñѽ∩ÑΓß∩,
- ¿¼ÑÑΓß∩ ½¿ ó ¡á½¿τ¿¿ ß«»α«µÑßß«α 8087, 80287 ¿½¿ 80387. àß½¿
- ÑßΓ∞, óßÑ óδτ¿ß½Ñ¡¿∩ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¼«úπΓ óδ»«½¡∩Γ∞ß∩
- φΓ¿¼ ß«»α«µÑßß«α«¼. àß½¿ ªÑ Ñú« ¡ÑΓ, óßÑ óδτ¿ß½Ñ¡¿∩ ß »½áóá-
- εΘÑ⌐ Γ«τ¬«⌐ »α«úαá¼¼¡« φ¼π½¿απεΓß∩. ⽫íá½∞¡á∩ »ÑαѼѡ¡á∩
- _8087 «»αÑñѽ∩ÑΓß∩ ó Σá⌐½Ñ C.ASM ¿ ¼«ªÑΓ íδΓ∞ »α«óÑαÑ¡á ¡á
- »αÑñ¼ÑΓ ¡á½¿τ¿∩ ß«»α«µÑßß«αá _8087. àß½¿ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
- _8087 αáó¡« 0, ß«»α«µÑßß«αá 8087 ¡ÑΓ. ç¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐,
- αáó¡«Ñ 1, π¬áºδóáÑΓ ¡á Γ«, τΓ« ß«»α«µÑßß«α 8087 ¡á⌐ñÑ¡;
- 2 - ¿¼ÑÑΓß∩ 80287; 3 - ¿¼ÑÑΓß∩ 80387.
-
- Å«óÑñÑ¡¿Ñ Zortech í¿í½¿«ΓѬ Γá¬ªÑ π»αáó½∩ÑΓß∩ φΓ«⌐ »ÑαÑ-
- ¼Ñ¡¡«⌐. ìá»α¿¼Ñα:
-
- extern int _8087;
- if(_8087)
- printf("8087 »α¿ßπΓßΓóπÑΓ\n");
- else
- printf("8087 «ΓßπΓßΓóπÑΓ\n");
-
-
- éáα¿á¡Γδ áα¿Σ¼ÑΓ¿¬¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
-
- ÅαÑñ½áúáÑΓß∩ τÑΓδαÑ ß»«ß«íá óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß »½áóáε-
- ΘÑ⌐ Γ«τ¬«⌐:
-
- 1. ìÑΓ ¡¿¬á¬¿σ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. ìÑ ºáúαπ-
- ªáΓ∞ ¿º í¿í½¿«ΓѬ¿ »α«úαá¼¼δ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß
- »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- 2. éßÑ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ß»«½¡∩Γ∞ ó 8086.
- àß½¿ ¿¼ÑÑΓß∩ 8087, ¡Ñ ¿ß»«½∞º«óáΓ∞ Ñú«.
-
- 3. éδ»«½¡∩Γ∞ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, ¿ß»«½∞ºπ∩
- 8086. àß½¿ ¿¼ÑÑΓß∩ 8087, ¿ß»«½∞º«óáΓ∞ Ñú« ñ½∩ óδτ¿ß-
- ½Ñ¡¿⌐ ó¼ÑßΓ« 8086. ü¿í½¿«ΓÑτ¡δÑ ¼áΓѼáΓ¿τÑ߬¿Ñ Σπ¡¬-
- µ¿¿ »ÑαѬ½ετ¿Γ∞ ¡á óßΓα«Ñ¡¡δÑ 8087 »α«úαá¼¼δ, Ñß½¿
- ÑßΓ∞ 8087. ¥Γá «»µ¿∩ ¿ß»«½∞ºπÑΓß∩ »« π¼«½τá¡¿ε.
-
- 4. âÑ¡Ñα¿απÑΓ »α∩¼«⌐ ¬«ñ ñ½∩ 8087. ä½∩ ºá»πß¬á »α«ú-
- αá¼¼δ ΓαÑíπÑΓß∩ ¡á½¿τ¿Ñ 8087.
-
-
- ÅαÑ¿¼πΘÑßΓóá:
-
- 1. ÉẼÑα αѺπ½∞Γ¿απεΘÑ⌐ »α«úαá¼¼δ ßΓá¡«ó¿Γß∩ º¡áτ¿-
- Γѽ∞¡« ¼Ñ¡∞ΦÑ.
-
- 2. 8087 ¡Ñ ¡πªÑ¡. ÉѺπ½∞ΓáΓδ ó Γ«τ¡«ßΓ¿ »«óΓ«α∩εΓß∩
- ¡á óßÑσ 8086 ¼áΦ¿¡áσ. 諼»¿½∩Γ«α ßá¼ ¿ß»«½∞ºπÑΓ φΓπ
- «»µ¿ε.
-
- 3. üѺ 8087 αáí«ΓáÑΓ Γá¬ªÑ ¬á¬ 2, ¡« »α¿ ¡á½¿τ¿¿ ¿ß-
- »«½∞ºπÑΓß∩ 8087 ¿ »α«úαá¼¼á íπñÑΓ αáí«ΓáΓ∞ íδßΓαÑÑ.
-
- 4. âÑ¡Ñα¿απÑΓß∩ ßá¼δ⌐ íδßΓαδ⌐ ¿ ¬«¼»á¬Γ¡δ⌐ ¬«ñ, ¿
- »«ΓÑ¡µ¿á½∞¡« »«½πτáεΓß∩ ¡á¿í«½ÑÑ Γ«τ¡δÑ αѺπ½∞ΓáΓδ
- (áα¿Σ¼ÑΓ¿¬á ó 8087 óδ»«½¡∩ÑΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ 80
- í¿Γ »α«Γ¿ó 64 í¿Γ ñ½∩ 8086). ÄΓ¡«ß¿Γѽ∞¡«Ñ πóѽ¿τÑ-
- ¡¿Ñ ߬«α«ßΓ¿, »«½πτáѼ«Ñ »α¿ ¿ß»«½∞º«óá¡¿¿ 8087,
- óÑß∞¼á ß¿½∞¡« ºáó¿ß¿Γ «Γ «Γ¡«ΦÑ¡¿∩ ߬«α«ßΓÑ⌐ 8087 ¿
- «ß¡«ó¡«ú« »α«µÑßß«αá), á Γá¬ªÑ «Γ ¿ß»«½∞ºπѼ«⌐ éἿ
- óÑαß¿¿ 8087 (80287, 80387, ß«ó¼ÑßΓ¿¼δÑ ß ¡¿¼¿
- ¿ Γ.ñ.). ä½∩ »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá φΓ¿ π½πτΦÑ¡¿∩
- ßΓá¡«ó∩Γß∩ ºá¼ÑΓ¡δ¼¿ ¡á »α«úαá¼¼áσ, ¿¡ΓÑ¡ß¿ó¡« ¿ß-
- »«½∞ºπεΘ¿σ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
-
- ìÑñ«ßΓáΓ¬¿:
-
- 1. ìѽ∞º∩ óδ»«½¡¿Γ∞ ¡¿¬á¬«⌐ «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ-
- ¬«⌐.
-
- 2. æá¼δ⌐ ¼Ññ½Ñ¡¡δ⌐ ¬«ñ. îÑ¡ÑÑ Γ«τ¡δÑ óδτ¿ß½Ñ¡¿∩. Éáº-
- ¼Ñα »α«úαá¼¼δ óѽ¿¬.
-
- 3. ÉѺπ½∞ΓáΓδ ¼«úπΓ ºáó¿ßÑΓ∞ «Γ Γ«ú«, ¿¼ÑÑΓß∩ ½¿ ß«»α«-
- µÑßß«α 8087. Åα«úαá¼¼á Γ«ú« ªÑ αẼÑαá ¬á¬ ¿ ñ½∩
- ß½πτá∩ 2.
-
- 4. ä½∩ αáí«Γδ ΓαÑíπÑΓß∩ 8087. êß»«½¡Ñ¡¿Ñ ¬«¼á¡ñ »α«-
- µÑßß«αá 8087 »α¿ Ñú« «ΓßπΓßΓó¿¿ ¼«ªÑΓ óδºóáΓ∞ ¬αáσ
- ß¿ßΓѼδ.
-
-
- éáα¿á¡Γ 1:
-
- Åα«úαá¼¼á ß«ºñáÑΓß∩ ∩ó¡«⌐ »α¿¬«¼»«¡«ó¬«⌐ ¼«ñπ½∩ INT.OBJ.
- INT.OBJ «»αÑñѽ∩ÑΓ óßÑ Γ«τ¬¿ óσ«ñá »α«úαá¼¼ í¿í½¿«ΓѬ¿ ñ½∩
- αáí«Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, ΓᬠτΓ« ¡¿ «ñ¡á ¿º Γᬿσ »α«úαá¼¼
- ¡Ñ óδí¿αáÑΓß∩ ¿º í¿í½¿«ΓѬ¿. àß½¿ »α«¿ßσ«ñ¿Γ ¬á¬«⌐-½¿í«
- ó맮ó »α«úαá¼¼δ óδτ¿ß½Ñ¡¿⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, »ÑτáΓáÑΓß∩
- ß««íΘÑ¡¿Ñ:
-
- FLOATING POINT NOT LOADED (»α«úαá¼¼δ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐
- ß »½áóáεΘÑ⌐ Γ«τ¬á ¡Ñ ºáúαπªÑ¡δ)
-
- ¿ »α«úαá¼¼á «ßΓá¡áó½¿óáÑΓß∩. Äñ¿¡ ¿ ëà ªÑ INT.OBJ ¼«ñπ½∞
- ¿ß»«½∞ºπÑΓß∩ ñ½∩ óßÑσ ¼«ñѽÑ⌐ »á¼∩Γ¿.
-
- Åਪ«¼»«¡«ó¬á ¼«ñπ½∩ INT.OBJ ¼«ªÑΓ íδΓ∞ π¬áºá¡á »α«úαá¼¼Ñ
- ZTC ß »«¼«Θ∞ε Σ½áúá [-mi]. ZTC ¿ß»«½∞ºπÑΓ »ÑαѼѡ¡πε «¬απªÑ-
- ¡¿∩ LIB ñ½∩ »«¿ß¬á INT.OBJ ¿ »ÑαÑñáÑΓ Ñú« αÑñá¬Γ«απ ßó∩ºÑ⌐.
- ìá»α¿¼Ñα:
-
- ZTC -mi hello
-
-
- éáα¿á¡Γ 2:
-
- éáα¿á¡Γ 2 αÑ὿ºπÑΓß∩ »α¿ »«¼«Θ¿ ß½ÑñπεΘÑú« Σαáú¼Ñ¡Γá
- »α«úαá¼¼δ:
-
- main()
- { extern int _8087;
- _8087 = 0; /* ¡¿¬«úñá ¡Ñ ¿ß»«½∞º«óáΓ∞ 8087 */
- ...
- }
-
-
- éáα¿á¡Γ 3:
-
- éáα¿á¡Γ 3 αÑ὿ºπÑΓß∩ »« π¼«½τá¡¿ε.
-
-
- éáα¿á¡Γ 4:
-
- éáα¿á¡Γ 4 ß«ºñáÑΓß∩ »α¿ Γαá¡ß½∩µ¿¿ »α«úαá¼¼δ »«ßαÑñßΓó«¼
- ZTC ß Σ½áú«¼ -f.
- ìá»α¿¼Ñα:
-
- ZTC file -f
-
- ū߬«½∞¬π ¬«ñ »α«úαá¼¼δ, «ΓΓαá¡ß½¿α«óá¡¡«⌐ ß Σ½áú«¼ -f,
- íπñÑΓ »α¿ó«ñ¿Γ∞ ¬ ¬αáσπ ß¿ßΓÑ¼δ »α¿ ÑÑ ºá»π᪥ ¿ «ΓßπΓßΓó¿¿
- 8087, «τÑ¡∞ αѬ«¼Ñ¡ñπѼ ó φΓ«¼ ß½πτáÑ ó¬½ετ¿Γ∞ ó éáΦπ »α«ú-
- αá¼¼π ß½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ:
-
- main ()
- { extern int _8087;
- if(_8087==0) /* Ñß½¿ 8087 «ΓßπΓßΓóπÑΓ */
- { printf("¥Γá »α«úαá¼¼á ΓαÑíπÑΓ 8087\n");
- exit(1); /* «ßΓá¡«ó »α«úαá¼¼δ*/
- }
- ...
- }
-
- ü«½ÑÑ '«Γτá∩¡¡δÑ' »α«úαá¼¼¿ßΓδ, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓ óá-
- α¿á¡Γ 4, ¼«úπΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿ »ÑαѬ«¼»¿½¿α«óáΓ∞ φΓ¿ í¿í½¿-
- «ΓѬ¿ ñ½∩ πñá½Ñ¡¿∩ ¿º ¡¿σ óßÑσ ¡Ñ 8087 »α«úαá¼¼ αáí«Γδ ß »½á-
- óáεΘÑ⌐ Γ«τ¬«⌐ ñ½∩ Γ«ú«, τΓ«íδ ßñѽáΓ∞ »α«úαá¼¼π ¼Ñ¡∞ΦÑ ¿
- ¡Ñ߬«½∞¬« íδßΓαÑÑ.
-
- Äñ¡¿ ΓÑ ªÑ Zortech í¿í½¿«ΓѬ¿ ¿ß»«½∞ºπεΓß∩ ó« óßÑσ óáα¿á¡-
- Γáσ.
-
- çá¼ÑΓ¿¼, τΓ« ¡ÑΓ αẽ¿τ¿⌐ ó call/return ß«ú½áΦÑ¡¿∩σ
- ¼Ñªñπ Σπ¡¬µ¿∩¼¿, »«φΓ«¼π obj ¼«ñπ½¿, ¬«Γ«αδÑ ¬«¼»¿½¿-
- απεΓß∩ ó αạδσ óáα¿á¡Γáσ, ¼«úπΓ ßó«í«ñ¡« ¬«¼»«¡«óáΓ∞-
- ß∩ ó¼ÑßΓÑ.
-
- ìá»α¿¼Ñα, »α¿¬½áñ¡á∩ »α«úαá¼¼á, ¬«Γ«αá∩ «ßπΘÑßΓó½∩ÑΓ ¼áΓ-
- α¿τ¡δÑ »αÑ«íαẫóá¡¿∩, ¼«ªÑΓ ¿¼ÑΓ∞ ñóÑ óÑαß¿¿ »αÑ«íαẫóá¡¿⌐:
-
- ZTC -c -f matrix -DINLINE8087 -omatrix87.obj
- ZTC -c matrix
- ZTC main matrix.obj matrix87.obj
-
- öá⌐½ matrix.c ¼«ªÑΓ ß«ñÑαªáΓ∞:
-
- #ifdef INLINE8087
- void matrix87()
- /* ñ½∩ óÑαß¿¿ ß 8087 ¡πª¡« ñαπú«Ñ ¿¼∩ */
- #else
- void matrix()
- #endif
- {
- ...
- }
-
- öá⌐½ main.c ¼«ªÑΓ ß«ñÑαªáΓ∞:
-
- extern int _8087;
- ...
-
- if(_8087) /* Ñß½¿ ¿¼ÑÑΓß∩ 8087 */
- matrix87(); /* ¿ß»«½∞ºπÑΓß∩ óÑαß¿∩ ñ½∩ 8087 */
- else
- matrix();
- /* ¿ß»«½∞ºπÑΓß∩ óÑαß¿∩ ß »α«úαá¼¼¡«⌐ αÑ὿ºáµ¿Ñ⌐*/
- /* »½áóáεΘÑ⌐ Γ«τ¬¿ */
-
- Æá¬¿¼ «íαẫ¼ ¿ß»«½¡∩Ѽá∩ »α«úαá¼¼á ¼«ªÑΓ »«½∞º«óáΓ∞ß∩
- óßѼ¿ »αÑ¿¼πΘÑßΓóἿ ß«»α«µÑßß«αá 8087, ¡« Γá¬ªÑ íπñÑΓ αáí«-
- ΓáΓ∞ ¬«ααÑ¬Γ¡« ¿ »α¿ Ñú« «ΓßπΓßΓó¿¿. Å«ñ«í¡δÑ »α¿¼Ñαδ ¼«ª¡«
- πó¿ñÑΓ∞ ó í¿í½¿«ΓÑτ¡«¼ Σá⌐½Ñ math.c.
-
-
- _okbigbuf (Γ«½∞¬« ñ½∩ T, S ¿ M ¼«ñѽÑ⌐ »á¼∩Γ¿)
-
- ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ, ¬á¬πε ßσѼπ αáß»αÑñѽѡ¿∩ »á-
- ¼∩Γ¿ ¿ß»«½∞º«óáΓ∞. æπΘÑßΓóπÑΓ ñóá ß»«ß«íá αáß»αÑñѽѡ¿∩:
-
- 滫߫í 1:
-
- Éáß»αÑñѽ∩ÑΓ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞ (ñ« 64K) »«ñ '¬π-
- τπ' »α¿ ßΓáαΓÑ »α«úαá¼¼δ. ¥Γ«Γ ß»«ß«í ¿ß»«½∞ºπÑΓß∩
- »« π¼«½τá¡¿ε.
-
- 滫߫í 2:
-
- Åá¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ »«ñ '¬πτπ' Γ«½∞¬« »α¿ ¡Ñ«íσ«-
- ñ¿¼«ßΓ¿. ¥Γ«Γ ß»«ß«í ñ«½ªÑ¡ íδΓ∞ ¿ß»«½∞º«óá¡, Ñß½¿
- »«ΓαÑíπÑΓß∩ Σπ¡¬µ¿∩ spawn. ä½∩ ¿ß»«½∞º«óá¡¿∩ φΓ«ú«
- ß»«ß«íá «íΩ∩ó¿ΓÑ _okbigbuf ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ.
- ä½∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ ß¼«Γα¿ΓÑ 'Éáß»αÑñÑ-
- ½Ñ¡¿Ñ »á¼∩Γ¿'.
-
- êß»«½∞º«óá¡¿Ñ:
-
- int _okbigbuf = 0; /* ÄΓó«ñ¿Γ∞ »á¼∩Γ∞ »« ¼ÑαÑ */
- /* ¡Ñ«íσ«ñ¿¼«ßΓ¿ */
-
- _okbigbuf!=0 «º¡áτáÑΓ Γá¬ªÑ ¿ß»«½∞º«óá¡¿Ñ í«½∞Φ¿σ ñ¿ß¬«-
- óδσ íπΣÑα«ó ñ½∩ »«Γ«¬á óó«ñá/óδó«ñá ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ. éßÑ
- φΓ« π»αáó½∩ÑΓß∩ ¼«ñπ½Ñ¼ C.ASM.
-
-
- _osmajor
-
- ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ «ß¡«ó¡«⌐ ¡«¼Ñα ¿ß»«½¡∩Ѽ«⌐ óÑα-
- ß¿¿ MS DOS. ç¡áτÑ¡¿Ñ _osmajor íπñÑΓ αáó¡« 3 »α¿ αáí«ΓÑ »«ñ
- π»αáó½Ñ¡¿Ñ¼ MS DOS 3.2 ¿½¿ 2 »α¿ αáí«ΓÑ »«ñ MS DOS 2.0.
-
- êß»«½∞º«óá¡¿Ñ:
-
- extern unsigned char _osmajor;
-
-
- _osminor
-
- ¥Γá »ÑαѼѡ¡á∩ «»αÑñѽ∩ÑΓ ñ«»«½¡¿Γѽ∞¡δ⌐ ¡«¼Ñα ¿ß»«½¡∩Ñ-
- ¼«⌐ óÑαß¿¿ MS DOS. ç¡áτÑ¡¿Ñ _osminor íπñÑΓ αáó¡« 11 »α¿ αá-
- í«ΓÑ »«ñ π»αáó½Ñ¡¿Ñ¼ MS DOS 2.11 ¿½¿ 1 »α¿ αáí«ΓÑ »«ñ
- MS DOS 3.1.
-
- êß»«½∞º«óá¡¿Ñ:
-
- extern unsigned char _osminor;
-
-
-
- _psp
-
- ¥Γá »ÑαѼѡ¡á∩ ß«ñÑαª¿Γ áñαÑß ßÑú¼Ñ¡Γ¡«ú« »áαáúαáΣá ñ½∩
- »αÑΣ¿¬ßá »α«úαá¼¼¡δσ ßÑú¼Ñ¡Γ«ó. ¥Γá »ÑαѼѡ¡á∩ ¼«ªÑΓ ¿ß»«½∞-
- º«óáΓ∞ß∩ ñ½∩ »«ßΓα«Ñ¡¿∩ 'ñá½∞¡¿σ' π¬áºáΓѽÑ⌐, «íÑß»Ñτ¿óáεΘ¿σ
- ñ«ßΓπ» ¬ »αÑΣ¿¬ßπ »α«úαá¼¼¡δσ ßÑú¼Ñ¡Γ«ó ¿º »α«úαá¼¼δ »«½∞-
- º«óáΓѽ∩.
-
- êß»«½∞º«óá¡¿Ñ:
-
- extern unsigned _psp;
-
-
- errno
-
- ¥Γ«⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óáεΓß∩ ¡«¼Ñαá «Φ¿í«¬ »«ß½Ñ ¿ß»«½∞-
- º«óá¡¿∩ ¡Ñ¬«Γ«αδσ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐ »α¿ »«∩ó½Ñ¡¿¿ «Φ¿í«¬.
- ç¡áτÑ¡¿∩ errno ß½ÑñπεΘ¿Ñ:
-
- E2BIG 100
- EACCES 5
- EBADF 6
- EDOM 102
- EEXIST 80
- EMFILE 4
- ENOENT 2
- ENOEXEC 01
- ENOMEM 8
- ENOTDIR 3
- ERANGE 103
-
- êß»«½∞º«óá¡¿Ñ:
-
- extern int errno;
-
- 漫Γα¿ΓÑ Γá¬ªÑ Σá⌐½ errno.h ñ½∩ «»¿ßá¡¿∩ ß¼δß½á ¬áªñ«ú«
- º¡áτÑ¡¿∩ «Φ¿í¬¿.
-
-
-
- æÄÄüÖàìêƒ Äü ÄÿêüèÇò
- ──────────────────────
-
- ÄΦ¿í¬¿ äÄæ
-
-
- é Γáí½¿µáσ ¡¿ªÑ »ÑαÑτ¿ß½Ñ¡δ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ, ó«ºóαá-
- ΘáѼδÑ Σπ¡¬µ¿Ñ⌐ perror(), ß ß««ΓóÑΓßΓóπεΘ¿¼ ¡«¼Ñα«¼ «Φ¿í¬¿ ó
- errno.
-
- E2BIG 滿߫¬ áαúπ¼Ñ¡Γ«ó ß½¿Φ¬«¼ í«½∞Φ«⌐.
- (滿߫¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ 128 íá⌐Γ).
-
- EACCES ÄΓ¬áº ó αáºαÑΦÑ¡¿¿ ñ«ßΓπ»á.
- (ìá»α¿¼Ñα, ºá»¿ß∞ ó Σá⌐½, «Γ¬αδΓδ⌐ Γ«½∞-
- ¬« »« τΓÑ¡¿ε).
-
- EBADF Ž«σ«⌐ ñÑß¬α¿»Γ«α Σá⌐½á.
-
- EDOM Çαúπ¼Ñ¡Γ ¼áΓѼáΓ¿τÑ߬«⌐ Σπ¡¬µ¿¿ ó¡Ñ «í-
- ½áßΓ¿ «»αÑñѽѡ¿∩.
-
- EEXIST öá⌐½ πªÑ ßπΘÑßΓóπÑΓ.
-
- EMFILE æ½¿Φ¬«¼ ¼¡«ú« «Γ¬αδΓδσ Σá⌐½«ó.
-
- ENOENT ìÑΓ Γᬫú« Σá⌐½á ¿½¿ ¬áΓὫúá.
-
- ENOEXEC ÄΦ¿í¬á Σ«α¼áΓá ¿ß»«½¡∩Ѽ«ú« Σá⌐½á.
-
- ENOMEM ìÑΓ ñ«ßΓáΓ«τ¡«ú« »α«ßΓαá¡ßΓóá »á¼∩Γ¿.
- (ìá»α¿¼Ñα, ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ ¿ß-
- »«½¡∩Ѽ«⌐ Σπ¡¬µ¿¿).
-
- ENOTDIR îáαΦαπΓ ¬ ¬áΓὫúπ ¡Ñ ¡á⌐ñÑ¡.
-
- ERANGE ÉѺπ½∞ΓáΓ ó¡Ñ ñ¿á»áº«¡á º¡áτÑ¡¿⌐.
- (Çαúπ¼Ñ¡Γ ¼áΓѼáΓ¿τÑ߬«⌐ Σπ¡¬µ¿¿ ß½¿Φ-
- ¬«¼ óѽ¿¬).
-
- 漫Γα¿ΓÑ »α¿¼Ñα ¿º «»¿ßá¡¿∩ í¿í½¿«ΓѬ¿ »« Σπ¡¬µ¿¿ perror()
- ñ½∩ óδ∩ߡѡ¿∩ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ.
-
-
- ÄΦ¿í¬¿ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐
-
-
- ÄΦ¿í¬¿, óßΓαÑτáεΘ¿Ñß∩ »α¿ ¿ß»«½¡Ñ¡¿¿ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬-
- µ¿⌐, ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐ matherror().
-
- math.h
-
- DOMAIN ìÑñ«»πßΓ¿¼á∩ «»Ñαᵿ∩.
-
- OVERFLOW ÉѺπ½∞ΓáΓ ß½¿Φ¬«¼ óѽ¿¬ ñ½∩ Ñú« »αÑñ-
- ßΓáó½Ñ¡¿∩.
-
- PLOSS ùáßΓ¿τ¡á∩ »«ΓÑα∩ Γ«τ¡«ßΓ¿ º¡áτ¿¼«ßΓ¿.
-
- SING Äß«íÑ¡¡«ßΓ∞ áαúπ¼Ñ¡Γá, (¡á»α¿¼Ñα, ¡π½Ñ-
- ó«Ñ º¡áτÑ¡¿Ñ »ÑαÑñáÑΓß∩ Σπ¡¬µ¿¿ log(),
- ΓαÑíπεΘÑ⌐ ¡Ñ¡π½Ñó«ú« »áαá¼ÑΓαá).
-
- TLOSS Å«½¡á∩ »«ΓÑα∩ Γ«τ¡«ßΓ¿ º¡áτ¿¼«ßΓ¿.
-
- UNDERFLOW ÉѺπ½∞ΓáΓ ß½¿Φ¬«¼ ¼á½ ñ½∩ Ñú« »αÑñßΓáó-
- ½Ñ¡¿∩.
-
-
- öÇëï¢ çÇâÄïÄéèê
- ────────────────
-
- assert.h
-
- Ä»αÑñѽ∩ÑΓ ¼á¬α«ß assert().
-
- àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α NDEBUG ¡Ñ íδ½ «»αÑñѽѡ ó ¬«¼á¡ñ¡«⌐
- ßΓα«¬Ñ ¬«¼»¿½∩Γ«αá ¿½¿ ó #define ñ¿αÑ¬Γ¿óÑ, ¼á¬α«ß «»αÑñÑ-
- ½Ñ¡ ¿ ß½πª¿Γ ñ½∩ »α«óÑન ºáñá¡¡«ú« »áαá¼ÑΓα«¼ óδαáªÑ¡¿∩.
- àß½¿ φΓ« πΓóÑαªñÑ¡¿Ñ ½«ª¡«, »ÑτáΓáÑΓß∩ ß««íΘÑ¡¿Ñ ¿ »α«úαá¼¼á
- ºáóÑαΦáÑΓß∩.
- àß½¿ NDEBUG «»αÑñѽѡ, assert «»αÑñѽ∩ÑΓß∩ ¬á¬ »πßΓ«⌐
- ΓѬßΓ. é αѺπ½∞ΓáΓÑ óßÑ assert πΓóÑαªñÑ¡¿∩ ¬á¬ íδ ßΓá¡«ó∩Γß∩
- ¬«¼¼Ñ¡Γáα¿∩¼¿.
-
-
- conio.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá ¡á ¬«¡ß«½∞.
-
- getch getche inp inpw outp oupw
-
-
- ctype.h
-
- Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ ¿ ¬«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ »α¿ ¬½áßß¿-
- Σ¿¬áµ¿¿ ½¿ΓÑα.
-
- isalnum isalpha isascii iscntrl isdigit
- isgraph islower isprint ispunct isspace
- isupper isxdigit toascii
-
- é Σá⌐½ ctype.h ó¬½ετÑ¡« Γá¬ªÑ ú½«íá½∞¡«Ñ «íΩ∩ó½Ñ¡¿Ñ
- ¼áßß¿óá _ctype. ¥Γ«Γ ¼áßß¿ó ∩ó½∩ÑΓß∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á
- ASCII Γáí½¿µÑ⌐ ¬«ñ«ó ¬½áßß¿Σ¿¬áµ¿¿.
-
-
- direct.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ Σπ¡¬µ¿⌐ αáí«Γδ ß ¬áΓὫú«úἿ.
-
- chdir getcwd mkdir rmdir
-
-
- disp.h
-
- Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ, «íΩ∩ó½∩ÑΓ ¬«¡ßΓá¡Γδ ¿ »α«Γ«Γ¿»δ ñ½∩
- Σπ¡¬µ¿⌐ »α∩¼«ú« ñ«ßΓπ»á ¬ φ¬αá¡π.
-
- disp_close disp_eeol disp_eeop
- disp_endstand disp_flush disp_getmode
- disp_move disp_open disp_pokew
- disp_printf disp_putc disp_reset43
- disp_scroll disp_set43 disp_setattr
- disp_setmode disp_usebios disp_startstand
- disp_setcursortype
-
-
- dos.h
-
- Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ, ¬«¡ßΓá¡Γδ ¿ «íΩ∩ó½∩ÑΓ ¿¡ΓÑαΣÑ⌐ß¡δÑ
- Σπ¡¬µ¿¿ ñ½∩ MS DOS ¿ IBM PC. Ä¡¿ ó¬½ετáεΓ ó ßÑí∩ ñ«ßΓπ» ¬
- óó«ñπ/óδó«ñπ τÑαѺ »«αΓδ, «»αÑñѽѡ¿∩ ó¿ñ«ó Σá⌐½«ó, »α«µÑñπα
- «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, á Γá¬ªÑ ßΓαπ¬Γπαδ αÑú¿ßΓα«ó.
-
- ÄíΩ∩ó½Ñ¡¿∩ »α«Γ«Γ¿»«ó dos-»á¬ÑΓá:
-
- dos_abs_disk_read dos_abs_disk_write
- dos_getdiskfreespace dos_get_ctrl_break
- dos_get_verify dos_set_ctrl_break
- dos_set_verify
-
- ÄíΩ∩ó½Ñ¡¿∩ »α«Γ«Γ¿»«ó ñ½∩ Σπ¡¬µ¿⌐ MS DOS αáí«Γδ ß ¬áΓὫ-
- úἿ:
-
- findfirst findnext
-
- ÄíΩ∩ó½Ñ¡¿∩ »α«Γ«Γ¿»«ó Σπ¡¬µ¿⌐ ñ½∩ 'ñá½∞¡Ñú«' αáß»αÑñѽÑ-
- ¡¿∩ »á¼∩Γ¿:
-
- farmalloc farcalloc farrealloc
- farfree farcoreleft
-
- ÄíΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ñ«ßΓπ»á ¬ »«αΓá¼ óó«ñá/óδó«ñá:
-
- inp inpw outp outpw
-
- ÉÑú¿ßΓα«óδÑ ßΓαπ¬Γπαδ, ¿ß»«½∞ºπѼδÑ Σπ¡¬µ¿∩¼¿ intdos(),
- intdosx(), int86(), int86x():
-
- WORDREGS BYTEREGS REGS SREGS
-
- îá¬α«ßδ ñ½∩ αáí«Γδ ß ñá½∞¡¿¼¿ π¬áºáΓѽ∩¼¿
- (ßÑú¼Ñ¡Γ:ß¼ÑΘÑ¡¿Ñ):
-
- FP_SEG FP_OFF MK_FP
-
-
- fg.h
-
- Ä»αÑñѽ∩ÑΓ ¬«¡ßΓá¡Γδ, Γ¿»δ, »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ »á¬ÑΓá íδßΓ-
- α«⌐ úαáΣ¿¬¿. æ½ÑñπεΘ¿Ñ ¬«¡ßΓá¡Γδ ß««ΓóÑΓßΓóπεΓ úαáΣ¿τÑ߬¿¼
- αѪ¿¼á¼:
-
- FG_CGAMEDRES 0σ04 IBM CGA , 320*200, µóÑΓ¡«⌐
- (αѪ¿¼ 0σ04)
- FG_CGAHIRES 0σ06 IBM CGA , 640*200 (αѪ¿¼ 0σ06)
-
- FG_EGACOLOR 0σ0E IBM EGA ß ¡«α¼á½∞¡δ¼ µóÑΓ¡δ¼ «Γ«-
- íαáªÑ¡¿Ñ¼ (αѪ¿¼ 0σ0E)
- FG_EGAMONO 0σ0F IBM EGA ß IBM ¼«¡«σα«¼¡δ¼ ¼«¡¿Γ«-
- α«¼ (αѪ¿¼ 0σ0F)
- FG_EGAECD 0σ10 IBM EGA ß π½πτΦÑ¡¡δ¼ µóÑΓ¡δ¼ «Γ«-
- íαáªÑ¡¿Ñ¼ (αѪ¿¼ 0σ10)
- FG_VGA11 0σ11 IBM VGA , 640*480, 1 µóÑΓ.
-
- FG_VGA12 0σ12 IBM VGA , 640*480, 16 µóÑΓ«ó.
-
- FG_VGA13 0σ13 IBM VGA , 320*200, 256 µóÑΓ«ó.
-
- FG_HERCHALF 0σ02 Hercules ("âÑα¬π½Ñß"), ¼«¡«σα«¼¡δ⌐,
- 1 ßΓαá¡¿µá ñ¿ß»½Ñ⌐¡«⌐ »á¼∩Γ¿.
- FG_HERCFULL 0σ03 Hercules, ¼«¡«σα«¼¡δ⌐, 2 ßΓαá¡¿µδ
- ñ¿ß»½Ñ⌐¡«⌐ »á¼∩Γ¿.
- FG_TOSHIBA 0σFA TOSHIBA J-3100.
-
- FG_8514A âαáΣ¿τÑ߬¿⌐ áñá»ΓÑα IBM 8514A.
-
- öπ¡¬µ¿¿:
-
- fg_adjustxy fg_drawarc fg_writebox
- fg_drawbox fg_drawdot fg_drawellipse
- fg_drawline fg_drawlinep fg_drawmatrix
- fg_drawthickline fg_enclose fg_fillbox
- fg_flush fg_getcolormap fg_init
- fg_init_all fg_init_cga fg_init_cgamedres
- fg_init_egacolor fg_init_egaecd fg_init_egamono
- fg_init_herc fg_blit fg_init_toshiba
- fg_init_vga11 fg_init_vga12 fg_init_vga13
- fg_putc fg_puts fg_readbox
- fg_readdot fg_restore fg_save
- fg_setactivepage fg_setcolormap fg_setdisplaypage
- fg_text_mode fg_term fg_setlinepattern
-
- Æ¿»δ ½¿¡¿⌐:
-
- FG_LINE_MEDIUM_DOTTED FG_LINE_LONG_DASH
- FG_LINE_DENSE_DOTTED FG_LINE_SHORT_DASH
- FG_LINE_MEDIUM_DASHED FG_LINE_MAX
- FG_LINE_DASH_DOTTED FG_LINE_SOLID
- FG_LINE_SPARSE_DOTTED FG_LINE_USER_DEFINED
- FG_LINE_DASH_W_2_DOTS
-
- ûóÑΓá:
-
- FG_BLACK FG_BLUE FG_GREEN
- FG_CYAN FG_BLUE_GREEN FG_RED
- FG_PURPLE FG_YELLOW FG_WHITE
- FG_LIGHT_BLUE_GREEN FG_LIGHT_GREEN FG_GRAY
- FG_LIGHT_BLUE FG_LIGHT_RED FG_MAGENTA
- FG_LIGHT_CYAN FG_LIGHT_WHITE FG_BROWN
- FG_LIGHT_MAGENTA FG_HIGHLIGHT FG_BLINK
-
-
-
- errno.h
-
- Ä»αÑñѽ∩ÑΓ ¼¡Ñ¼«¡¿τÑ߬¿Ñ ¬«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ Σπ¡¬µ¿Ñ⌐
- perror.
-
- 漫Γα¿ΓÑ αáºñѽ »« ß««íΘÑ¡¿∩¼ «í «Φ¿í¬áσ.
-
-
-
- int.h
-
- æ«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ¿ ßΓαπ¬Γπα ñ½∩ »α«úαá¼¼ «íαá-
- í«Γ¬¿ »αÑαδóá¡¿⌐.
-
- int_getvector int_intercept int_off
- int_restore int_setvector int_on
-
-
-
- io.h
-
- æ«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐ ñ½∩ ¡¿º¬«πα«ó¡Ñó«⌐ αáí«Γδ ß
- Σá⌐½á¼¿.
-
- close creat delete filesize getDS
- isatty lseek open read remov
- rename write unlink
-
-
-
- limits.h
-
- Ä»αÑñѽ∩ÑΓ »αÑñѽ∞¡δÑ º¡áτÑ¡¿∩ ¿ ñ¿á»áº«¡δ τ¿ß½«óδσ óѽ¿-
- τ¿¡.
-
-
-
- math.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ¼áΓѼáΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐:
-
- acos asin atan atan2 atof
- ceil cos cosh exp fabs
- floor fmod frexp hypot ldex
- log log10 modf poly pow
- sin sinh sqrt tan tanh
-
-
-
- msmouse.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ MS-MOUSE Σπ¡¬µ¿⌐ αáí«Γδ ß '¼δΦ∞ε':
-
- msm_condoff msm_getpress msm_getrelease
- msm_getstatus msm_hidecursor msm_init
- msm_lightpenoff msm_lightpenon msm_readcounters
- msm_setareax msm_setareay msm_setcurpos
- msm_setgraphcur msm_setratio msm_settextcur
- msm_showcursor msm_signal msm_setthreshhold
- msm_term
-
-
- process.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ óßÑσ Σπ¡¬µ¿⌐ π»αáó½Ñ¡¿∩ »α«µÑßßἿ:
-
- _exit execl execlp execv execvp
- spawnl spawnlp spawnv spawnvp
-
-
- setjmp.h
-
- ÄíΩ∩ó½∩ÑΓ Γ¿» jmp_buf, ¿ß»«½∞ºπѼδ⌐ Σπ¡¬µ¿∩¼¿ setjmp ¿
- longjmp (Γá¬ªÑ «íΩ∩ó½Ñ¡¡δ¼¿).
-
-
- signal.h
-
- Ä»αÑñѽ∩ÑΓ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩ ñ½∩ ß¿ú¡á½«ó:
-
- SIG_DFL SIG_ERR SIG_IGN SIGABRT SIGFPE
- SIGILL SIGINT SIGSEGV SIGTERM
-
- ÄíΩ∩ó½∩ÑΓ Σπ¡¬µ¿¿ raise() ¿ signal().
-
-
- sound.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ Σπ¡¬µ¿⌐ αáí«Γδ ß« ºóπ¬«¼:
-
- sound_beep sound_click sound_tone
-
- stdarg.h
-
- Ä»αÑñѽ∩ÑΓ ¼á¬α«ßδ, ¿ß»«½∞ºπѼδÑ ñ½∩ τΓÑ¡¿∩ ß»¿ß¬á áαúπ-
- ¼Ñ¡Γ«ó »ÑαѼѡ¡«⌐ ñ½¿¡δ:
-
- va_list va_start va_arg va_end
-
-
- stddef.h
-
- Ä»αÑñѽ∩ÑΓ «íΘ¿Ñ Γ¿»δ ñá¡¡δσ.
-
- errno ⽫íá½∞¡á∩ »ÑαѼѡ¡á∩, ß«ñÑαªáΘá∩ ¡«¼Ñα
- ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ.
- ptrdiff_t æ¿¡«¡¿¼ Γ¿»á, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ αạ«ßΓ∞ε
- ñóπσ π¬áºáΓѽÑ⌐.
- size_t æ¿¡«¡¿¼ Γ¿»á, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞-
- º«óá¡ ñ½∩ σαá¡Ñ¡¿∩ αẼÑαá »ÑαѼѡ¡«⌐.
-
- stdio.h
-
- Ä»αÑñѽ∩ÑΓ ¬«¡ßΓá¡Γδ, Γ¿»δ, ¼á¬α«ßδ ¿ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐
- ñ½∩ »«Γ«¬«ó«ú« óó«ñá/óδó«ñá.
-
- bdos clearerr fclose feof ferror
- fflush fgetc fgets fileno filesize
- flushall fopen fprintf fputc fputs
- fread freopen fscanf fseek ftell
- fwrite getc getch getchar getche
- gets max min printf putc
- putchar puts rewind stdaux stderr
- stdin stdout stdprn scanf setbuf
- setvbuf sprintf sscanf ungetc vfprintf
- vprintf vsprintf
-
- BUFSIZ αẼÑα »« π¼«½τá¡¿ε íπΣÑαá, ¿ß»«½∞ºπѼ«ú«
- ñ½∩ »«Γ«¬«ó«ú« óó«ñá/óδó«ñá.
- _NFILE Ä»αÑñѽ∩ÑΓ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« «ñ¡«óαѼѡ¡«
- «Γ¬αδΓδσ Σá⌐½«ó.
- EOF Ä»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ »α«úαá¼¼«⌐
- óó«ñá/óδó«ñá »α¿ «í¡áαπªÑ¡¿¿ ¬«¡µá Σá⌐½á.
- NULL ìπ½Ñó«Ñ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩.
-
- BIGBUF ÉẼÑα íπΣÑαá ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó »«Γ«¬áσ
- óó«ñá/óδó«ñá »α¿ _okbigbuf==1.
-
-
- stdlib.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ ñ½∩ ß½ÑñπεΘ¿σ Σπ¡¬µ¿⌐:
-
- abort abs atexit atof atoi
- bsearch calloc div exit free
- getenv itoa labs atol ldiv
- malloc qsort rand realloc srand
- strtod strtol strtoul system
-
-
- string.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ «íαáí«Γ¬¿ ßΓ᫬:
-
- strcat strchr strcmp strcmpl strcpy
- strcspn strdup strerror strlen strlwr
- strncat strncmp strncpy strnset strpbrk
- strrchr strrev strset strspn strstr
- strtok strupr swab
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ αáí«Γδ ß »á¼∩Γ∞ε:
-
- memcpy memcmp memchr memset
-
-
-
- sys\stat.h
-
- Ä»αÑñѽ∩ÑΓ Σ½áú¿, ¿ß»«½∞ºπѼδÑ »α¿ ß«ºñá¡¿¿ ¿ «Γ¬αδΓ¿¿
- Σá⌐½«ó. ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ ñ½∩ stat() ¿ fstat().
-
- S_IFCHR S_IFDIR S_IFMT S_IFREG
- S_IEXEC S_IREAD S_IWRITE
-
- stat.h ¡Ñ ¼«ªÑΓ ó¬½ετáΓ∞ß∩ ó C++ Σá⌐½δ, stat.h ú«ñÑ¡
- Γ«½∞¬« ñ½∩ C Σá⌐½«ó ¿º-ºá ¬«¡Σ½¿¬Γá ¿¼Ñ¡ ¼Ñªñπ struct stat ¿
- int stat().
-
-
-
- time.h
-
- ÄíΩ∩ó½∩ÑΓ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐ αáí«Γδ ß« óαѼѡѼ.
-
- asctime clock ctime difftime gmtime
- localtime mktime strftime time
-
-
-
-
-
-
-
-
-
-
-
-
-
- üêüïêÄÆàùì¢à öôìèûêê
- ─────────────────────
-
-
- Ä»¿ßá¡¿Ñ ¬áªñ«⌐ í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ ¿¼ÑÑΓ αáºñѽδ:
-
- ¿ß»«½∞º«óá¡¿Ñ
- «»¿ßá¡¿Ñ
- »α¿¼Ñα
- ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
- αѬ«¼Ñ¡ñᵿ∩,
-
- «»¿ßá¡¡δÑ ¡¿ªÑ.
-
- ¿¼∩_Σπ¡¬µ¿¿
-
- èáªñá∩ í¿í½¿«ΓÑτ¡á∩ Σπ¡¬µ¿∩ ¡áτ¿¡áÑΓß∩ ß ¿¼Ñ¡¿ Σπ¡¬µ¿¿.
- èáªñ«Ñ ¿¼∩ Σπ¡¬µ¿¿ »αÑñ¡áº¡áτÑ¡« ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó
- C-»α«úαá¼¼Ñ ¿ ¼«ªÑΓ ó¬½ετáΓ∞ óÑñπΘ¿⌐ »«ñτÑα¬ (`_'), ºáú½áó-
- ¡δÑ íπ¬óδ (`FP_OFF') ¿ ß«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó
- (`getDS'). é᪡« «Γ¼ÑΓ¿Γ∞, τΓ« ¿ß»«½∞º«óá¡¿Ñ `printf' ¿
- `PRINTF' ¡Ñ φ¬ó¿óá½Ñ¡Γ¡«.
-
- êß»«½∞º«óá¡¿Ñ:
-
- é«-»Ñαóδσ, ó φΓ«¼ αáºñÑ½Ñ ß«ñÑনΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«-
- απ #include <filename.h>. <filename.h> ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ Σá⌐-
- ½á ºáú«½«ó¬«ó, ß«ñÑαªáΘÑú« »α«Γ«Γ¿» Σπ¡¬µ¿¿. Åα«Γ«Γ¿» ß«ñÑα-
- ª¿Γ «»¿ßá¡¿Ñ Γ¿»á ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ¿ óσ«ñ¡δσ »áαá¼ÑΓ-
- α«ó. öá⌐½ ºáú«½«ó¬«ó ¼«ªÑΓ Γá¬ªÑ ß«ñÑαªáΓ∞ «»¿ßá¡¿Ñ Γ¿»«ó,
- ßΓαπ¬Γπα ¿ ¬«¡ßΓá¡Γ, ¿ß»«½∞ºπѼδσ Σπ¡¬µ¿Ñ⌐.
- ū߽ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩ ß«ñÑαª¿Γ «»¿ßá¡¿Ñ »α«Γ«Γ¿»á Σπ¡¬-
- µ¿¿ ó Γ«¼ ªÑ ó¿ñÑ, ¬á¬ «¡ «»αÑñѽѡ ó Σá⌐½Ñ ºáú«½«ó¬«ó. 髺-
- ¼«ª¡« «íΩ∩ó½Ñ¡¿Ñ Σπ¡¬µ¿¿ »πΓѼ »α¿óÑñÑ¡¿∩ »α«Γ«Γ¿»á Σπ¡¬µ¿¿,
- ó¬½ετÑ¡¡«ú« ó φëà Σá⌐½, ó¼ÑßΓ« ¿ß»«½∞º«óá¡¿∩ ñ¿αÑ¬Γ¿óδ
- `#include'.
- ū߬«½∞¬π Σπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ ñαπú¿Ñ Γ¿»δ ñá¡¡δσ,
- ó¬½ετÑ¡¡δÑ ó Σá⌐½ ºáú«½«ó¬«ó, ó¬½ετÑ¡¿Ñ φΓ«ú« Σá⌐½á «íÑß»Ñτ¿-
- óáÑΓ ¡Ñ«íσ«ñ¿¼δ⌐ ¬«¡Γα«½∞ «Φ¿í«¬, á ¡Ñ Γ«½∞¬« «íΩ∩ó½Ñ¡¿Ñ »α«-
- Γ«Γ¿»á Σπ¡¬µ¿¿.
-
- Ä»¿ßá¡¿Ñ:
-
- æ«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε « ¡áº¡áτÑ¡¿¿ Σπ¡¬µ¿¿, «»¿ßδóáÑΓ ÑÑ
- áαúπ¼Ñ¡Γδ ¿ ñαπú¿Ñ ñÑΓ὿ ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó »α¿ó«ñ¿Γß∩ »«½¡«ßΓ∞ε ºá¬«¡τÑ¡¡δ⌐
- óδτ¿ß½¿Γѽ∞¡δ⌐ »α¿¼Ñα, ¬«Γ«αδ⌐ ¼«ª¡« óóÑßΓ¿ ¿ óδ»«½¡¿Γ∞.
- èáªñδ⌐ »α¿¼Ñα ó¬½ετáÑΓ óßÑ ¡Ñ«íσ«ñ¿¼δÑ Σá⌐½δ ºáú«½«ó¬«ó, ¿ß-
- »«½∞ºπѼδÑ Σπ¡¬µ¿Ñ⌐. é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ¿ß»«½∞ºπÑΓß∩
- Γá¬ªÑ stdio.h Σá⌐½. ¥Γ« «íπß½«ó½Ñ¡« ΓѼ, τΓ« printf ∩ó½∩ÑΓß∩
- Σπ¡¬µ¿Ñ⌐ ß »ÑαѼѡ¡δ¼ τ¿ß½«¼ »áαá¼ÑΓα«ó, ΓᬠτΓ« ó¬½ετÑ¡¿Ñ
- stdio.h Σá⌐½á, ß«ñÑαªáΘÑú« »α«Γ«Γ¿» Σπ¡¬µ¿¿ printf, úáαá¡-
- Γ¿απÑΓ »α«óÑñÑ¡¿Ñ ¡áñ½ÑªáΘÑú« ¬«¡Γα«½∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- æ»Ñµ¿Σ¿µ¿απÑΓ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐. é« ¼¡«ú¿σ
- ß½πτá∩σ ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¿¡Σ«α¼¿απÑΓ «í πß»ÑσÑ ¿½¿ ¡Ñπ-
- ñáτÑ. ò«Γ∩ ¡Ñ óßÑúñá ¡Ñ«íσ«ñ¿¼« ¬«¡Γα«½¿α«óáΓ∞ ó«ºóαáΘáѼ«Ñ
- º¡áτÑ¡¿Ñ, Γᬫ⌐ ¬«¡Γα«½∞ «Φ¿í«¬ »«¼«ªÑΓ úáαá¡Γ¿α«óáΓ∞ ¡áñ-
- ½ÑªáΘÑÑ ¿ß»«½¡Ñ¡¿Ñ éáΦÑ⌐ »α«úαá¼¼δ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- ÄΓßδ½áÑΓ ¬ ñαπú¿¼ á¡á½«ú¿τ¡δ¼ ¿½¿ óß»«¼«úáΓѽ∞¡δ¼ Σπ¡¬-
- µ¿∩¼.
-
-
-
- abort æüÉÄæêÆ£ é¢ÅÄïìàìêà ÅÉÄâÉÇîî¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void abort (void); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαѬαáΘáÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑ⌐ »α«úαá¼¼δ. ǡὫú¿τ¡á
- ó맮óπ Σπ¡¬µ¿¿ _exit ß ¡Ñ¡π½Ñóδ¼ º¡áτÑ¡¿Ñ¼ ßΓáΓπßá.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main ()
- {
- FILE * fp;
- fp=fopen("file.dat", "r");
- if (fp==NULL)
- {
- fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ file.dat\n");
- abort();
- }
- printf("öá⌐½ «Γ¬αδΓ\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ exit, _exit, raise
-
-
- abs ÇüæÄï₧ÆìÄà çìÇùàìêà ûàïÄâÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- int abs(int i); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ µÑ½«ú« áαúπ¼Ñ¡Γá.
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #include <stdio.h>
- main ()
- {
- int numbr, absval;
- numbr = -3;
- absval= abs(numbr);
- printf("abs «Γ (%d) αáó¡« %d\n",
- numbr,absval);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ µÑ½«ú« áαúπ¼Ñ¡Γá.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ labs.
-
-
-
- acos ÇÉèèÄæêìôæ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double acos(double x);
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ arccos (x) ó ñ¿á»áº«¡Ñ [0, »¿]. Çαúπ¼Ñ¡Γ
- x ñ«½ªÑ¡ íδΓ∞ ó ñ¿á»áº«¡Ñ [-1, 1].
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main ()
- {
- double x, y;
- x = .94;
- y = acos(x);
- printf("Çᬬ«ß¿¡πß «Γ %f αáóÑ¡ %f\n",x,y);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ arccos «Γ óσ«ñ¡«ú« áαúπ¼Ñ¡Γá.
- àß½¿ óѽ¿τ¿¡á x ¼Ñ¡∞ΦÑ -1 ¿½¿ í«½∞ΦÑ 1, πßΓá¡áó½¿-
- óáÑΓ Ñrrno ó EDOM, ó stderr »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ «í
- «Φ¿í¬Ñ DOMAIN ¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0. Äíαáí«Γ¬π
- «Φ¿í¬¿ ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿
- matherr.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ asin, atan, atan2.
-
-
-
- asctime äÇÆ£ éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- char * asctime(struct tm * ntime); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ áαúπ¼Ñ¡Γ, ∩ó½∩εΘ¿⌐ß∩ π¬áºáΓѽѼ ¡á
- ßΓαπ¬Γπαπ tm, ó ASCII ßΓα«¬π ¿º 26 ½¿ΓÑα, ó¬½ετá∩ ºá-
- óÑαΦáεΘ¿⌐ 0:
-
- DDD MMM dd hh:mm:ss YYYY\n\0
-
- úñÑ:
-
- DDD - ñÑ¡∞ ¡Ññѽ¿
- MMM - ¼Ñß∩µ
- dd - ñÑ¡∞ ¼Ñß∩µá
- hh:mm:ss - τáßδ:¼¿¡πΓδ:ßѬπ¡ñδ
- YYYY - ú«ñ
-
- ç¡áτÑ¡¿Ñ ntime ¼«ªÑΓ íδΓ∞ »«½πτÑ¡« «íαáΘÑ¡¿Ñ¼ ¬
- localtime(), ó«ºóαáΘáεΘÑ⌐ π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ tm,
- «»αÑñѽѡ¡πε ó time.h.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- main ()
- {
- time_t tclock;
- time(& tclock);
- printf("ÆÑ¬πΘ¿Ñ ñáΓá ¿ óαѼ∩: %s\n",
- asctime(localtime(& tclock)));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓα«¬π ½¿ΓÑα, ß«ñÑαªáΘπε ñáΓπ
- ¿ óαѼ∩. æΓα«¬á ¿¼ÑÑΓ ßΓáΓ¿τÑ߬¿⌐ ¬½áßß ¿ »ÑαѺỿßδ-
- óáÑΓß∩ »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ asctime.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ clock, ctime, difftime, localtime.
-
-
- asin ÇÉèæêìôæ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double asin(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ arcsin(x) ó ñ¿á»áº«¡Ñ
- [-»¿/2, »¿/2]. ç¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá x ñ«½ª¡« íδΓ∞ ó
- ñ¿á»áº«¡Ñ [-1, 1].
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main ()
- {
- double x, y;
- x = .94;
- y = asin(x);
- printf("Çα¬ß¿¡πß «Γ %f αáóÑ¡ %f\n", x, y);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ arcsin «Γ óσ«ñ¡«ú« áαúπ¼Ñ¡Γá.
- àß½¿ º¡áτÑ¡¿Ñ ¼Ñ¡∞ΦÑ -1 ¿½¿ í«½∞ΦÑ 1, πßΓá¡áó½¿óáÑΓ
- errno ó EDOM, »ÑτáΓáÑΓ DOMAIN ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ó
- stderr ¿ ó«ºóαáΘáÑΓ 0. Äíαáí«Γ¬π «Φ¿í¬¿ ¼«ª¡« ¼«ñ¿-
- Σ¿µ¿α«óáΓ∞ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ matherr.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ atan, atan2, acos.
-
-
-
- assert ÅÉÄéàÉêÆ£ ôÆéàÉåäàìêà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <assert.h>
- void assert(expression); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- îá¬α«ß assert oßπΘÑßΓó½∩ÑΓ ó¡πΓαÑ¡¡¿⌐ ¬«¡Γα«½∞ ó
- »α«úαá¼¼Ñ. Ä¡ »α«óÑα∩ÑΓ áαúπ¼Ñ¡Γ expression (óδαáªÑ-
- ¡¿∩) ¿ ó ß½πτáÑ, Ñß½¿ «¡« αáó¡« 0 (Γ. Ñ. ½«ª¡«), Γ«
- »αѬαáΘáÑΓ ¿ß»«½¡Ñ¡¿Ñ »α«úαá¼¼δ; »ÑαÑñ φΓ¿¼ »ÑτáΓáÑΓ
- ¡á ßΓá¡ñáαΓ¡«¼ πßΓα«⌐ßΓóÑ óδó«ñá «Φ¿í«¬ ß««íΘÑ¡¿Ñ:
-
- Assertion failure: 'expression' on line ?? in file '???'
- (ÄΦ¿í¬á πΓóÑαªñÑ¡¿∩: 'óδαáªÑ¡¿Ñ' ó ßΓα«¬Ñ ?? ó Σá⌐½Ñ '???')
-
- Åα¿¼Ñα:
-
- #include <assert.h>
- #include <stdio.h>
- char * string= ""; /* »πßΓá∩ ßΓ᫬á*/
- int value=1;
- main ()
- {
- assert(value>0);
- printf("Åα«Φ½¿ assert(value>0)\n");
- assert(*string != '0');
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
-
-
-
- atan, atan2 ÇÉèÆÇìâàìæ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double atan(double x); /* ANSI */
- double atan2(double x, double y); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- atan óδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ arctg(x) ó ñ¿á»áº«¡Ñ
- [-»¿/2, »¿/2]. atan2 óδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ arctg(y/x)
- ó ñ¿á»áº«¡Ñ [-»¿, »¿]. atan2 ¿ß»«½∞ºπÑΓ º¡á¬¿ x, y
- ñ½∩ «»αÑñѽѡ¿∩ ¬óáñαá¡Γá, ¬ ¬«Γ«α«¼π »α¿¡áñ½Ñª¿Γ
- αѺπ½∞ΓáΓ.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main ()
- {
- double x, y;
- x = 1.0;
- y = atan(x);
- printf("Çα¬Γá¡úÑ¡ß «Γ %f αáóÑ¡ %f\n", x, y);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ÄíÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ º¡áτÑ¡¿Ñ arctg «Γ óσ«ñ¡«ú«
- áαúπ¼Ñ¡Γá (áαúπ¼Ñ¡Γ«ó). àß½¿ x ¿ y «íá 0, atan2 πßΓá-
- ¡áó½¿óáÑΓ errno ó EDOM, »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ DOMAIN «í
- «Φ¿í¬Ñ ó stderr ¿ ó«ºóαáΘáÑΓ 0. Äíαáí«Γ¬π «Φ¿í¬¿ ¼«ª¡«
- ¼«ñ¿Σ¿µ¿α«óáΓ∞ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ matherr.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ acos, asin.
-
-
-
- atof, atoi, atol ÅÉàÄüÉÇçÄéÇÆ£ é ÅïÇéÇ₧Öàà
- ÅÉàÄüÉÇçÄéÇÆ£ é ûàïÄà
- ÅÉàÄüÉÇçÄéÇÆ£ é äïêììÄà
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- double atof(char* nptr) /* ANSI */
- int atoi(char *nptr) /* ANSI */
- long atol(char *nptr) /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ ßΓ᫬𠻫 π¬áºáΓѽε nptr ó µÑ½«Ñ (atoi),
- πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿ (atof) ¿½¿ ñ½¿¡¡«Ñ (atol) º¡áτÑ-
- ¡¿Ñ. æΓα«¬á ¼«ªÑΓ ¿¼ÑΓ∞ óÑñπΘ¿Ñ »α«íѽδ, ß¿¼ó«½δ
- Γáíπ½∩µ¿¿, º¡á¬¿ + ¿½¿ -. ÅαÑ«íαẫóá¡¿Ñ ºá¬á¡τ¿óá-
- ÑΓß∩ ¡á »Ñαó«⌐ »«ñσ«ñ∩ΘÑ⌐ ½¿ΓÑαÑ. àß½¿ »Ñαóá∩ ªÑ ½¿-
- ΓÑαá ¡Ñ »«ñσ«ñ¿Γ, αѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ 0.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- #include <stdlib.h>
- main ()
- {
- printf("atof function=%e\n", atof("123.5e15"));
- printf("atoi function=%d\n", atoi("153"));
- printf("atol function=%ld\n",atol("1234 string"));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáεΓß∩ º¡áτÑ¡¿∩: µÑ½«Ñ, πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿,
- ñ½¿¡¡«Ñ, »«½πτáѼδÑ »αÑ«íαẫó᡿Ѽ ßΓ᫬¿. 髺óαá-
- ΘáÑΓß∩ 0, Ñß½¿ ó« óσ«ñ¡«⌐ ßΓα«¬Ñ ¡ÑΓ »«ñσ«ñ∩Θ¿σ ½¿-
- ΓÑα.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ecvt, fcvt, strtod, strtol, scanf.
-
-
- bdos, bdosx é¢çéÇÆ£ öôìèûê₧ DOS
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <bios.h>
- int bdos(int func, unsigned DX, unsigned AL);
- int bdosx(int func, char *ptr);
-
- Ä»¿ßá¡¿Ñ:
-
- éδºδóáεΓ Σπ¡¬µ¿ε MSDOS (»αÑαδóá¡¿Ñ 21h). func ÑßΓ∞
- ¡«¼Ñα Σπ¡¬µ¿¿, DX ¿ AL ∩ó½∩εΓß∩ º¡áτÑ¡¿∩¼¿, ºáúαπ-
- ªÑ¡¡δ¼¿ ó αÑú¿ßΓαδ DX ¿ AL »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿.
- bdosx «Γ½¿τáÑΓß∩ «Γ bdos ½¿Φ∞ ΓѼ τΓ« ó¼ÑßΓ« AL ¿ DX
- ó »áαπ αÑú¿ßΓα«ó DS:DX ºáúαπªáÑΓß∩ áαúπ¼Ñ¡Γ »« ptr.
-
- Åα¿¼Ñα:
-
- #include <bios.h>
- main ()
- {
- bdos(2, 'c') /* óδßóÑΓ¿Γ∞ íπ¬óπ c */
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- Å«ß½Ñ ó맮óá ß¿ßΓÑ¼δ «íÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ º¡áτÑ-
- ¡¿Ñ ó αÑú¿ßΓαÑ AX.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ intdos, intdosx, int86, int86x.
-
-
-
- bioskey, _bios_keybrd ÉÇüÄÆÇ æ èïÇéêÇÆôÉÄë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <bios.h>
- int bioskey(int flag);
- int _bios_keybrd (int flag);
-
- Ä»¿ßá¡¿Ñ:
-
- Äíá ¿¼Ñ¡¿ «í«º¡áτáεΓ «ñ¡π Σπ¡¬µ¿ε. äóá »α«¿º¡«ΦÑ¡¿∩
- ¡πª¡δ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß αáº¡δ¼¿ ¬«¼»¿½∩Γ«αἿ.
- bioskey »ÑαÑñáÑΓ Σ½áú ñ½∩ BIOS_»αÑαδóá¡¿∩ 0x14 -
- - »αÑαδóá¡¿Ñ «Γ ¬½áó¿áΓπαδ. ç¡áτÑ¡¿∩ flag:
-
- 0 - τΓÑ¡¿Ñ º¡áτÑ¡¿∩ óó«ñá ß ¬½áó¿áΓπαδ ¿º íπΣÑαá
- óó«ñá. åñÑΓ óó«ñá, Ñß½¿ íπΣÑα »πßΓ.
-
- 1 - «»αÑñѽѡ¿Ñ ¡á½¿τ¿∩ º¡áτÑ¡¿⌐ ¡áªáΓδσ ¬½áó¿Φ
- ó íπΣÑαÑ óó«ñá «Γ ¬½áó¿áΓπαδ.
-
- 2 - τΓÑ¡¿Ñ ß«ßΓ«∩¡¿∩ ¬½áó¿Φ Γ¿»á 'shift'.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- àß½¿ flag=0, Γ« ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ αáß-
- Φ¿αÑ¡¡δ¼ ¬«ñ«¼ ¬½áó¿Φ¿. ASCII ¬«ñ ¬½áó¿Φ¿ ¡áσ«ñ¿Γß∩
- »α¿ φΓ«¼ ó ¼½áñΦѼ íá⌐ΓÑ, á ߬á¡-¬«ñ ÑÑ - ó ßΓáαΦѼ
- íá⌐ΓÑ. àß½¿ ¼½áñΦ¿⌐ íá⌐Γ ¡π½Ñó«⌐, Γ« φΓ« ¡Ñ ASCII
- ¬«ñ (φΓ« ¼«ªÑΓ íδΓ∞ ßΓαѽ¬á ¿½¿ Σπ¡¬µ¿«¡á½∞¡á∩ ¬½á-
- ó¿Φá). àß½¿ flag=1, Γ« 0 ó«ºóαáΘáÑΓß∩ »α¿ «ΓßπΓßΓó¿¿
- óó«ñá «Γ ¬½áó¿áΓπαδ ó íπΣÑαÑ óó«ñá; ó »α«Γ¿ó¡«¼ ß½π-
- τáÑ ó«ºóαáΘáÑΓß∩ αáßΦ¿αÑ¡¡δ⌐ ¬«ñ ¬½áó¿Φ¿. Åα¿ φΓ«¼,
- ¬«ñ ¬½áó¿Φ¿ «ßΓáÑΓß∩ ó íπΣÑαÑ óó«ñá ¿ ÑΘÑ ñ«ßΓπ»Ñ¡
- ñ½∩ τΓÑ¡¿∩. àß½¿ flag=2, Γ« ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¿¡-
- Σ«α¼¿απÑΓ « ß«ßΓ«∩¡¿¿ 'shift' ¬½áó¿Φ:
-
- 0x01 - ¡áªáΓá »αáóá∩ shift ¬½áó¿Φá
- 0x02 - ¡áªáΓá ½Ñóá∩ shift ¬½áó¿Φá
- 0x04 - ¡áªáΓá ¬½áó¿Φá Ctrl
- 0x08 - ¡áªáΓá ¬½áó¿Φá Alt
- 0x10 - ó¬½ετÑ¡ ¬½ετ Scrolllock
- 0x20 - ó¬½ετÑ¡ ¬½ετ Numlock
- 0x40 - ó¬½ετÑ¡ ¬½ετ Capslock
- 0x80 - ó¬½ετÑ¡ ¬½ετ Ins
-
- Åα¿¼Ñα:
-
- #include <bios.h>
- #include <stdio.h>
- main ()
- {
- int key, shift;
- int lastshift = 0;
- while (1)
- {
- shift=bioskey(2);
- if(shift!=lastshift)
- /* àß½¿ ¿º¼Ñ¡¿½ß∩ shift ßΓáΓπß*/
- printf("shift = 0x%02x\n", shift);
- /* àß½¿ ¬½áó¿Φá ¡áªáΓá*/
- if (bioskey(1))
- { /* ù¿ΓáѼ ¬½áó¿Φπ*/
- Key=bioskey(0);
- if ((Key & 0xFF)== 'q') break;
- printf("è½áó¿Φá = 0x%04x\n", Key);
- }
- lastshift=shift;
- }
- }
-
-
- bsearch äéÄêùì¢ë ÅÄêæè é îÇææêéà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void *bsearch(const void *key, const void *base,
- size_t num, size_t width,
- int(*cmp)(const void *elem1,const void *elem2));
- /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδ»«½¡∩ÑΓ ñó«¿τ¡δ⌐ »«¿ß¬ ó π»«α∩ñ«τÑ¡¡«¼ ¼áßß¿óÑ ¿º
- num φ½Ñ¼Ñ¡Γ«ó »« π¬áºáΓѽε base φ½Ñ¼Ñ¡Γá, αáó¡«ú«
- key. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá ¿¼ÑÑΓ αẼÑα width íá⌐-
- Γ«ó. ǽú«α¿Γ¼ »«¿ß¬á αÑ὿ºπÑΓ Σπ¡¬µ¿∩ *cmp, «»αÑñÑ-
- ½Ñ¡¡á∩ »«½∞º«óáΓѽѼ. Ä¡á ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ ñóá
- áαúπ¼Ñ¡Γá, ∩ó½∩εΘ¿σß∩ π¬áºáΓѽ∩¼¿ ¡á φ½Ñ¼Ñ¡Γδ, ¿ ó«-
- ºóαáΘáΓ∞ «ñ¡« ¿º º¡áτÑ¡¿⌐:
-
- <0 - elem1 ¼Ñ¡∞ΦÑ elem2
- 0 - elem1 ß«ó»áñáÑΓ ß elem2
- >0 - elem1 í«½∞ΦÑ elem2
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define SIZE(arr)(sizeof(arr)/sizeof(arr[0]))
- int array[]={1254,3427,1111,3901,6677,0101};
- int intcmp(int *p1, int *p2)
- {
- return(*p1 - *p2);
- }
- main()
- {
- int * pointer;
- int Key = 3901;
- pointer = (int *) bsearch(& Key, array,
- SIZE(array), sizeof(int), intcmp);
- if(pointer)
- {
- printf("[ %d] ¿¼ÑÑΓß∩ ó ¼áßß¿óÑ\n", Key);
- }
- else
- {
- printf("[ %d] «ΓßπΓßΓóπÑΓ ó ¼áßß¿óÑ\n", Key);
- }
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á ß««ΓóÑΓßΓóπεΘ¿⌐ φ½Ñ¼Ñ¡Γ
- ¼áßß¿óá base ¿½¿ NULL, Ñß½¿ Γᬫó«⌐ ¡Ñ ¡á⌐ñÑ¡.
-
-
- calloc äÇÆ£ ÅÇîƒÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void * calloc(unsigned numelems, size_t sizelem);
- /* ANSI */
- Ä»¿ßá¡¿Ñ:
-
- éδñѽ∩ÑΓ í½«¬ »á¼∩Γ¿ »«ñ numelems φ½Ñ¼Ñ¡Γ«ó ¿ αẼÑ-
- α«¼ sizelem íá⌐Γ«ó ¬áªñδ⌐. Åá¼∩Γ∞ «í¡π½∩ÑΓß∩ ¿ ó«ºó-
- αáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á ¡ÑÑ. é ß½πτáÑ «Φ¿í¬¿(¡á»α¿¼Ñα,
- ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿) ó«ºóαáΓ¿Γß∩ NULL. àß½¿ numelems
- ¿½¿ sizelem αáóÑ¡ 0,ó«ºóαáΘáÑΓß∩ NULL. ÉẼÑα ºá»αá-
- Φ¿óáѼ«⌐ »á¼∩Γ¿ ¡Ñ ñ«½ªÑ¡ »αÑóδΦáΓ∞ 64 èíá⌐Γá.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- é ß½πτáÑ πß»Ñσá ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á óδñѽѡ-
- ¡πε »á¼∩Γ∞; ó »α«Γ¿ó¡«¼ ß½πτáÑ - NULL.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
- 漫Γα¿ΓÑ Γá¬ªÑ free, malloc, realloc, farcalloc.
-
- Åα¿¼Ñα:
-
- /* ¬«¼»¿½¿α«óáΓ∞ ó C ¿½¿ L ¼«ñѽ¿*/
- #include <stdlib.h>
- #include <stdio.h>
- #include <dos.h>
- #define num 50
- main()
- {
- long * buffer;
- unsigned int segment, offset;
- buffer = calloc(num, sizeof(long));
- if(! buffer)
- {
- fprint(stderr, "Calloc ¡Ñ ßαáí«Γá½á\n");
- abort();
- }
- segment = FP_SEG(buffer);
- offset = FP_OFF(buffer);
- printf("Åá¼∩Γ∞ αẼÑΘÑ¡á ó ßÑú¼Ñ¡ΓÑ
- %x ß¼ÑΘÑ¡¿Ñ: %x\n", segment, offset);
- free(buffer);
- }
-
-
- ceil ûàïǃ éàÉò샃 âÉÇì£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double ceil(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿, »αÑñßΓáó½∩ε-
- ΘÑÑ ¡á¿¼Ñ¡∞ΦÑÑ µÑ½«Ñ, ¬«Γ«α«Ñ í«½∞ΦÑ ¿½¿ αáó¡« x.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main()
- {
- double x = 5.3, result;
- result = ceil(x);
- printf("The ceil of %f is %f \n", x, result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿, αáó¡«Ñ ¡á¿-
- ¼Ñ¡∞ΦѼπ µÑ½«¼π, »αÑóδΦáεΘѼπ x.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ floor, fmod.
-
-
- chdir æîàìêÆ£ ÆàèôÖêë èÇÆÇïÄâ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <direct.h>
- int chdir(char * path);
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ« ß¿ßΓѼ¡δ⌐ ó맮ó, ¬«Γ«αδ⌐ ñѽáÑΓ ΓѬπΘ¿¼ ¬áΓὫú
- (directory) »« ߻ѵ¿Σ¿µ¿α«óá¡¡«¼π áαúπ¼Ñ¡Γ«¼ ¼áαΦ-
- απΓπ (path). ū߽Ññ¡¿⌐ ñ«½ªÑ¡ »α¿ó«ñ¿Γ∞ ¬ ßπΘÑßΓóπ-
- εΘѼπ ¬áΓὫúπ.
-
- Åα¿¼Ñα:
-
- #include <direct.h>
- #include <stdio.h>
- char * path = "\\temp";
- main()
- {
- int result;
- result = chdir(path);
- if(result != 0)
- printf("ìÑ ¼«úπ »ÑαÑ⌐Γ¿ ¬ ¬áΓὫúπ %s\n",
- path);
- else
- printf("ÆÑ¬πΘ¿¼ ßΓá½ ¬áΓὫú %s\n", path);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓß∩ 0 ó ß½πτáÑ πß»Ñσá ¿ -1 ó »α«Γ¿ó¡«¼
- ß½πτáÑ ß πßΓá¡«ó½Ñ¡¿Ñ¼ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
- 漫Γα¿ΓÑ Γá¬ªÑ mKdir, rmdir.
-
-
- _chkstack ÅÉÄéàÉêÆ£ æÆàè
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stddef.h>
- size_t _chkstack(void);
-
- Ä»¿ßá¡¿Ñ:
-
- Ä»αÑñѽ∩ÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá, »αѬαáΘáÑΓ »α«úαá¼¼π
- ß ß««íΘÑ¡¿Ñ¼ «í φΓ«¼. ¥Γá Σπ¡¬µ¿∩ ¼«ú½á íδ óδºδóáΓ∞-
- ß∩ ¿º αѬπαß¿ó¡δσ ¿ »α«τ¿σ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ¿ß»«½∞-
- ºπεΓ í«½∞Φπε τáßΓ∞ ßΓѬá. è«¡Γα«½∞ »ÑαÑ»«½¡Ñ¡¿∩ ßΓÑ-
- ¬á ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿ πßΓá¡«ó¬«⌐ ¬½ετá
- -s ñ½∩ ZTC2.
-
- Åα¿¼Ñα:
- /* do_tree - αѬπαß¿ó¡á∩ Σπ¡¬µ¿∩ */
- do_tree(t)
- struct tree * t;
- {
- #ifdef _ZTC_ /* «»αÑñѽѡ, Ñß½¿ Zortech C\C++ */
- _chkstack();
- #endif
- .
- .
- do_tree(t ─> left);
- do_tree(t ─> right);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ«ó, «ßΓáóΦ¿σß∩ ó ßΓÑ-
- ¬Ñ, Ñß½¿ ßΓѬ ÑΘÑ ¡Ñ »ÑαÑ»«½¡Ñ¡.
-
- clearerr æüÉÄæêÆ£ öïÇâ Äÿêüèê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- void clearerr(FILE * fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
- æíαáßδóáÑΓ «Φ¿í¬π ¿ Σ½áú EOF, ßó∩ºá¡¡δÑ ß »«Γ«-
- ¬«¼ fp.
-
- Åα¿¼Ñα:
- #include <stdio.h>
- main()
- {
- FILE *stream;
- char * string = "»α¿¼Ñα ñá¡¡δσ";
- stream = fopen("file.dat", "r");
- fprintf(stream, "%s\n", string);
- if(ferror(stream))
- {
- fprintf(stderr,"ÄΦ¿í¬á ºá»¿ß¿ ó file.dat\n");
- clearerr(stream);
- }
- printf"Åα¿ ºá»¿ß¿ ó Σá⌐½ «Φ¿í«¬ ¡Ñ í佫\n");
- fclose(stream);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ feof, ferror.
-
-
- clock ÄÅÉàäàïêÆ£ ÅÉÄûàææÄÉìÄà éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- clock_t clock(void); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- Ä»αÑñѽ∩ÑΓ »α«µÑßß«α¡«Ñ óαѼ∩, ¿ß»«½∞º«óá¡¡«Ñ óδ-
- ºδóáεΘ¿¼ »α«µÑßß«¼ ó ¼«¼Ñ¡Γ «íαáΘÑ¡¿∩ ¬ clock. IBM
- PC ¿¼ÑÑΓ ñ¿ß¬αÑΓ¡«ßΓ∞ 1/18 ßѬ. äαπú¿Ñ ¬«¼»∞εΓÑαδ
- »«ñ π»αáó½Ñ¡¿Ñ¼ MS DOS ¿¼ÑεΓ ñ¿ß¬αÑΓ¡«ßΓ∞ ó 1 ßѬ,
- σ«Γ∩ ó«ºóαáΘáѼ«Ñ ó ¬áτÑßΓóÑ αѺπ½∞ΓáΓá óαѼ∩ óδαá-
- ªáÑΓß∩ ó ß«Γδσ ñ«½∩σ ßѬπ¡ñδ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <time.h>
- main()
- {
- clock_t process;
- process = clock()/CLK_TCK;
- printf("Åα«µÑßß«α¡«Ñ óαѼ∩ ó ßѬπ¡ñáσ =%d\n",
- process);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ óαѼ∩, á»α«¬ß¿¼¿απεΘÑÑ ¿ß»«½∞º«óá¡¡«Ñ
- óδºδóáεΘÑ⌐ »α«úαá¼¼«⌐ »α«µÑßß«α¡«Ñ óαѼ∩. äѽ∩ ó«º-
- óαáΘáѼ«Ñ clock() º¡áτÑ¡¿Ñ ¡á óѽ¿τ¿¡π, «»αÑñѽ∩Ñ-
- ¼πε ¼á¬α«ß«¼ CLK_TCK, »«½πτ¿ΓÑ óαѼ∩ ó ßѬπ¡ñáσ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ asctime, ctime, difftime, localtime.
-
-
- close çÇèɢƣ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int close(int fd);
-
- Ä»¿ßá¡¿Ñ:
-
- çá¬αδóáÑΓ Σá⌐½, áßß«µ¿¿α«óá¡¡δ⌐ ß ñÑß¬α¿»Γ«α«¼ fd.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- #include <dos.h>
- #include <stdio.h>
- main()
- {
- int fd, result;
- fd = open("CON", O_RDONLY);
- if(fd<0)
- {
- fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ CON\n");
- abort();
- }
- result = close(fd);
- printf("ÉѺπ½∞ΓáΓ «Γ close %d\n", result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿ -1 ß πßΓá¡«ó¬«⌐
- errno ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ open, unlink.
-
-
- cos, cosh èÄæêìôæ, èÄæêìôæ âêÅàÉüÄïêùàæèêë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double cos(double x); /* ANSI */
- double cosh(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáεΓ º¡áτÑ¡¿Ñ ¬«ß¿¡πßá (cos) ¿½¿ ú¿»Ñαí«½¿τÑ-
- ߬«ú« ¬«ß¿¡πßá (cosh) «Γ x, úñÑ x - ó αáñ¿á¡áσ.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main()
- {
- double value = 2.5556, result, hycos;
- result = cos(value);
- printf("The cosine of %f is %f\n", value, result);
- hycos = cosh(value);
- printf("The hyperbolic cosine of %f is %f\n",
- value, hycos);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáεΓß∩ º¡áτÑ¡¿∩ cos(x) ¿½¿ ch(x) ß««ΓóÑΓßΓóÑ-
- ¡¡«. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓß∩ 0.
-
-
- creat æÄçäÇÆ£ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- #include <sys\stat.h>
- int creat(char * name, int pmode);
-
- Ä»¿ßá¡¿Ñ:
-
- æ¿ßΓѼ¡δ⌐ ó맮ó creat() ½¿í« ß«ºñáÑΓ ¡«óδ⌐ Σá⌐½,
- ½¿í« «Γ¬αδóáÑΓ ¿ τ¿ßΓ¿Γ ßπΘÑßΓóπεΘ¿⌐. Pmode ºáñáÑΓ
- αѪ¿¼δ τΓÑ¡¿∩-ºá»¿ß¿ Σá⌐½á ó ñá½∞¡Ñ⌐ΦѼ, »«ß½Ñ »Ñα-
- ó«ú« ºá¬αδΓ¿∩. Pmode »α¿¡¿¼áÑΓ «ñ¡« (¿½¿ «íá) ¿º
- ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐, «»αÑñѽѡ¡δσ ó stat.h :
-
- #define S_IREAD 0000400 /* read permission, owner */
-
- #define S_IWRITE 0000200 /* write permission, owner */
-
- è«úñá ΓαÑíπεΓß∩ «íÑ ¬«¡ßΓá¡Γδ, ¿σ ß½ÑñπÑΓ ß«Ññ¿¡¿Γ∞
- ½«ú¿τÑ߬«⌐ «»ÑαᵿÑ⌐ (¿½¿) OR. Å«ñ π»αáó½Ñ¡¿Ñ¼
- MS DOS ¡ÑΓ ó«º¼«ª¡«ßΓ¿ ñáΓ∞ αáºαÑΦÑ¡¿Ñ Γ«½∞¬« ¡á
- ºá»¿ß∞. é ¡áßΓ«∩ΘÑÑ óαѼ∩ º¡áτÑ¡¿Ñ pmode ¿ú¡«α¿απ-
- ÑΓß∩.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- #include <sys\stat.h>
- main()
- {
- int fp;
- fp = creat("file.dat",S_READ|S_WRITE);
- IF(FP==-1)
- printf("ìÑ ¼«úπ ß«ºñáΓ∞ (creat) file.dat\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- àß½¿ 󫺡¿¬áÑΓ «Φ¿í¬á, ó«ºóαáΘáÑΓß∩ -1 ¿ πßΓá¡áó½¿-
- óáÑΓß∩ errno ó «ñ¡« ¿º º¡áτÑ¡¿⌐:
-
- ENOENT - ìÑΓ Γᬫú« Σá⌐½á ¿½¿ ¬áΓὫúá.
-
- EMFILE - æ½¿Φ¬«¼ ¼¡«ú« «Γ¬αδΓδσ Σá⌐½«ó.
-
- EACCES - ÉáºαÑΦÑ¡¿Ñ ¡Ñ óδñá¡«.
-
- ǡὫú¿τ¡« ¿ß»«½∞ºπÑ¼δ¼ ó chdir(), close() ¿ Γ.ñ.
- àß½¿ Σá⌐½ ß«ºñá¡, creat ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α π»αáó-
- ½Ñ¡¿∩ Σá⌐½«¼ ó MS DOS.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ dos_creat, close, fopen, open.
-
-
- ctime äÇÆ£ èÇïàìäÇÉìÄà éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- char *ctime(time_t *ntime); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ ¬á½Ñ¡ñáα¡πε ñáΓπ ¿ óαѼ∩, ºáñá¡¡πε
- ntime, ¬« óαѼѡ¿ ó Σ«α¼Ñ ASCII ßΓ᫬¿ ½¿ΓÑα.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- time_t ntime;
- main()
- {
- time(&ntime);
- printf("ÆÑ¬πΘÑÑ óαѼ∩ %s\n", ctime(&ntime));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓáΓ¿τÑ߬πε ßΓα«¬π ¿º 26
- ASCII ½¿ΓÑα ó ó¿ñÑ:
-
- DDD MMM dd hh:mm:ss YYYY\n\0
-
- úñÑ:
-
- DDD - ñÑ¡∞ ¡Ññѽ¿
- MMM - ¼Ñß∩µ
- dd - ñÑ¡∞ ¼Ñß∩µá
- hh:mm:ss - τáßδ:¼¿¡πΓδ:ßѬπ¡ñδ
- YYY - ú«ñ
-
- æΓα«¬á »ÑαѺỿßδóáÑΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ ctime().
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ asctime, clock, difftime, localtime,
- time.
-
-
- difftime ÄÅÉàäàïêÆ£ ÄÆÉàçÄè éÉàîàìê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- double difftime(time_t time2, time_t time1);
- /* ANSI */
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ΓáÑΓ time1 ¿º time2.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <time.h>
- main()
- {
- register int delay; /* çáñÑ᪬á */
- time_t start, finish;
- time(&start);
- for (delay = 0; delay<1000; delay++)
- printf("%d\n", delay);
- time(&finish);
- printf("çáñÑ᪬á ñ½¿½áß∞ %f ßѬπ¡ñ",
- difftime(start, finish));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ αạ¿µπ time1 ¿ time2 ó ßѬπ¡ñáσ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ asctime, clock, ctime, localtime, time
-
-
- Display Package Åá¬ÑΓ «Γ«íαáªÑ¡¿∩
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <disp.h>
- void disp_close(void);
-
- éδΓὬ¿óáÑΓ óδó«ñ ¿ ºáóÑαΦáÑΓ ¿ß»«½∞º«óá¡¿Ñ »á¬ÑΓá
- «Γ«íαáªÑ¡¿∩.
-
- void disp_box(int type, int attr, unsigned row,
- unsigned col, unsigned brow, unsigned rcol);
-
- É¿ßπÑΓ αἬπ ß í«αñεα«¼ type ¿ áΓα¿íπΓ«¼ attr. ìá-
- τ¿¡á∩ ß ½Ñó«ú« óÑασ¡Ñú« πú½á ó row,col ¿ ¬«¡τá∩ ó
- ¡¿ª¡Ñ¼ »αáó«¼ πú½Ñ ó brow,rcol.
-
- ç¡áτÑ¡¿∩ type «»αÑñѽ∩εΓ:
-
- 0 - ñó«⌐¡πε í«αñεα¡πε ½¿¡¿ε
-
- 1 - «ñ¿¡áα¡πε í«αñεα¡πε ½¿¡¿ε
-
- 2 - Γ«½ßΓδ⌐ í«αñεα.
-
- void disp_eeol(void);
- ù¿ßΓ¿Γ «ßΓáΓ«¬ ΓѬπΘÑ⌐ ßΓ᫬¿, ó¬½ετá∩ ½¿ΓÑαπ »«ñ
- ¬παß«α«¼.
-
- void disp_eeop(void);
- ù¿ßΓ¿Γ φ¬αá¡, ¡áτ¿¡á∩ ß ΓѬπΘÑ⌐ »«º¿µ¿¿ ¬παß«αá.
-
- void disp_endstand(void);
- é䬽ετáÑΓ ¿¡óÑαß¡δ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩. 䫽ª¡á óδºδ-
- óáΓ∞ß∩ »«ß½Ñ disp_startstand.
-
- void disp_flush(void);
- éδΓὬ¿óáÑΓ óδó«ñ ¡á φ¬αá¡. üδóáÑΓ ¡Ñ«íσ«ñ¿¼á ñ½∩
- »«ñú«Γ«ó¬¿ φ¬αá¡á ¬ «ª¿ñáѼ«¼π óó«ñπ »«½∞º«óáΓѽ∩.
-
- int disp_getmode(void);
- 髺óαáΘáÑΓ ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩ (漫Γα¿ΓÑ
- disp_setmode).
-
- void disp_move(int row, int col);
- æñó¿úáÑΓ ¬παß«α ¬ »«º¿µ¿¿ row.col. Å«º¿µ¿∩ 0,0
- ÑßΓ∞ óÑασ¡¿⌐ ½Ñóδ⌐ πú«½ ñ¿ß»½Ñ∩.
-
- void disp_open(void);
- ê¡¿µ¿á½¿º¿απÑΓ ñ¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ. é »α«µÑßßÑ «íαáΘÑ-
- ¡¿∩ «»αÑñѽ∩εΓß∩ Γ¿» ñ¿ß»½Ñ∩ ¿ áñαÑßᵿ∩ φ¬αá¡¡«⌐
- »á¼∩Γ¿. ê¡¿µ¿á½¿º¿απεΓß∩ óßÑ ú½«íá½δ.
-
- unsigned disp_peekw(int row, int col);
- æτ¿ΓδóáÑΓ áΓα¿íπΓ ½¿ΓÑαδ ó ºáñá¡¡«⌐ »«º¿µ¿¿ ñ¿ß-
- »½Ñ∩.
-
- unsigned disp_peekbox(unsigned * save, unsigned row,
- unsigned col, unsigned brow, unsigned rcol);
- çừ¼¿¡áÑΓ »α∩¼«πú«½∞¡πε «í½áßΓ∞ φ¬αá¡á, «»αÑñѽѡ-
- ¡πε óÑασ¡¿¼ ½Ñóδ¼ πú½«¼ (row,col) ¿ ¡¿ª¡¿¼ »αáóδ¼
- (brow,rcol), ó íπΣÑαÑ save.
-
- void disp_pokebox(unsigned * save, unsigned row,
- unsigned col, unsigned brow, unsigned rcol);
- é«ßßΓá¡áó½¿óáÑΓ »α∩¼«πú«½∞¡πε «í½áßΓ∞ φ¬αá¡á, «»αÑ-
- ñѽѡ¡πε óÑασ¡¿¼ ½Ñóδ¼ πú½«¼ (row, col) ¿ ¡¿ª¡¿¼
- »αáóδ¼ (brow, rcol), ¿º íπΣÑαá save.
-
- void disp_pokew(int row, int col, int attr,charc);
- çỿßδóáÑΓ ½¿ΓÑαπ ß π¬áºá¡¡δ¼ áΓα¿íπΓ«¼ ó ߻ѵ¿Σ¿-
- µ¿α«óá¡¡πε »«º¿µ¿ε.
-
- void disp_printf(char *format, ...);
- ÄßπΘÑßΓó½∩ÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ Σ«α¼áΓ¡δ⌐ óδó«ñ ¡á
- φ¬αá¡ (漫Γα¿ΓÑ «»¿ßá¡¿Ñ Σπ¡¬µ¿¿ printf).
-
- void disp_putc(int c);
- çỿßδóáÑΓ ½¿ΓÑαπ c ó ΓѬπΘπε »«º¿µ¿ε φ¬αá¡á, ¿ß-
- »«½∞ºπ∩ áΓα¿íπΓ ½¿ΓÑαδ, πßΓá¡«ó½Ñ¡¡δ⌐ »«ßαÑñßΓó«¼
- disp_setattr(). ÄΓαáíáΓδóáÑΓ Γáíπ½∩µ¿ε, »ÑαÑó«ñ
- ßΓ᫬¿, ó«ºóαáΓ ¬áαÑΓ¬¿, backspace ¿ Γ.ñ. ¬«ααÑ¬Γ¡«.
-
- void disp_reset43(void);
- æíαáßδóáÑΓ ΓѬßΓ«óδ⌐ αѪ¿¼ 80σ43 EGA ¡áºáñ ó αÑ-
- ª¿¼ 80σ25.
-
- void disp_scroll(int lines, unsigned ulrow,
- unsigned ulcol, unsigned lrrow, unsigned lrcol,
- unsigned attr);
- Å᫬απτ¿óáÑΓ ß«ñÑন¼«Ñ φ¬αá¡á óóÑασ:
-
- lines - ¬«½¿τÑßΓó« ßΓ᫬ »α«¬απΓ¬¿
- ulrow - óÑασ¡¿⌐ α∩ñ ñó¿úáѼ«⌐ «í½áßΓ¿
- ulcol - óÑασ¡¿⌐ ½Ñóδ⌐ ßΓ«½íѵ
- lrrow - ¡¿ª¡¿⌐ α∩ñ ñó¿úáѼ«⌐ «í½áßΓ¿
- lrcol - ¡¿ª¡¿⌐ »αáóδ⌐ ßΓ«½íѵ
- attr - ó¿ñÑ«áΓα¿íπΓ ñ½∩ «ßΓá½∞¡δσ «í½áßΓÑ⌐
- (τáßΓÑ⌐ φ¬αá¡á).
-
- void disp_set43(void);
- ôßΓá¡áó½¿óáÑΓ ΓѬßΓ«óδ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩ 80σ43 EGA.
- ìÑ ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ß∩, »«¬á ñ¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ
- «Γ¬αδΓ. ¥Γá Σπ¡¬µ¿∩ ΓαÑíπÑΓ ¡á½¿τ¿∩ áñá»ΓÑα«ó EGA
- ¿½¿ VGA. äÑ⌐ßΓó¿Γѽ∞¡«Ñ ¬«½¿τÑßΓó« ßΓ᫬ ¡á φ¬αá¡Ñ
- ºá»¿ßδóáÑΓ ó disp_numrows.
-
- void disp_setattr(int attr);
- ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓ ½¿ΓÑα, ºá»¿ßδóáѼδσ »«ßαÑñ-
- ßΓó«¼ disp_putc() ¿ disp_printf(). ì¿ªÑ »α¿óÑñÑ¡
- ß»¿ß«¬ áΓα¿íπΓ«ó, «»¿ßá¡¡δσ ó Σá⌐½Ñ disp.h :
-
- DISP_REVERSEVIDEO êìéàÉæì¢ë
- DISP_NORMAL ìÄÉîÇï£ì¢ë
- DISP_UNDERLINE ÅÄäùàÉèêéÇìêà
- DISP_NONDISPLAY ìà 颿éàùêéÇàî¢ë
-
- æ½ÑñπεΘ¿Ñ áΓα¿íπΓ¡δÑ í¿Γδ ¼«úπΓ íδΓ∞ ñ«íáó½Ñ¡δ «»Ñ-
- αᵿÑ⌐ OR:
-
- DISP_INTENSITY êìÆàìæêéì¢ë
- DISP_BLINK îêâÇìêà
-
- void disp_setcursortype(int startline*256+endline);
- ôßΓá¡áó½¿óáÑΓ αẼÑα ¬παß«αá. Å« π¼«½τá¡¿ε, DOS ¿ß-
- »«½∞ºπÑΓ:
-
- ¡áτὫ ¬«¡Ñµ ¿ß»«½∞º«óá¡¿Ñ
- Monochrome 11 12 11*256+12
- Color 6 7 6*256+7
-
- void disp_setmode(unsigned char mode);
- ôßΓá¡áó½¿óáÑΓ αѪ¿¼ «Γ«íαáªÑ¡¿∩. àß½¿ »«ΓαÑíπÑΓß∩
- ¡Ñ ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩, ó맮ó Σπ¡¬µ¿¿ ñ«½ªÑ¡
- »αÑñΦÑßΓó«óáΓ∞ «íαáΘÑ¡¿ε ¬ disp_open(). ì¿ªÑ »α¿óÑ-
- ñÑ¡δ ¡«¼Ñαá αѪ¿¼«ó:
-
- 0 - 40σ25 τÑα¡«-íѽδ⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
- áñá»ΓÑα
- 1 - 40σ25 µóÑΓ¡«⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
- áñá»ΓÑα
- 2 - 80σ25 τÑα¡«-íѽδ⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
- áñá»ΓÑα
- 3 - 80σ25 µóÑΓ¡«⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ EGA
- áñá»ΓÑα
- 4 - 320σ200 4-µóÑΓ¡δ⌐ úαáΣ¿τÑ߬¿⌐ EGA áñá»ΓÑα
-
- 5 - 320σ200 τÑα¡«-íѽá∩ úαáΣ¿¬á ¡á µóÑΓ¡«¼
- EGA áñá»ΓÑαÑ
- 6 - 640σ200 τÑα¡«-íѽá∩ úαáΣ¿¬á ¡á µóÑΓ¡«¼
- EGA áñá»ΓÑαÑ
- 7 - 80σ25 τÑα¡«-íѽδ⌐ á½Σáó¿Γ¡«-µ¿Σα«ó«⌐ ¡á
- ¼«¡«σα«¼¡«¼ EGA áñá»ΓÑαÑ
- D - 320σ200 16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
-
- E - 640σ200 16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
-
- F - 640σ350 4-µóÑΓ¡á∩ úαáΣ¿¬á ¡á ¼«¡«σα«¼¡«¼
- EGA áñá»ΓÑαÑ
- 10 - 640σ350 16-µóÑΓ¡á∩ úαáΣ¿¬á ¡á EGA áñá»ΓÑαÑ
-
- void disp_startstand(void);
- ôßΓá¡áó½¿óáÑΓ ¿¡óÑαß¡δ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩ ñ½∩ óßÑσ
- »«ß½ÑñπεΘ¿σ óδó«ñ¿¼δσ ½¿ΓÑα. ê¡óÑαß¡δ⌐ αѪ¿¼ «Γ«-
- íαáªÑ¡¿∩ ß¡¿¼áÑΓß∩ «íαáΘÑ¡¿Ñ¼ ¬ disp_endstand().
-
- void disp_usebios(void);
- ôßΓá¡áó½¿óáÑΓ αѪ¿¼ ºá»¿ß¿ ½¿ΓÑα ¡á φ¬αá¡ τÑαѺ
- BIOS, á ¡Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ« »á¼∩Γ∞ ñ¿ß»½Ñ∩.
- ¥Γ« π½πτΦáÑΓ »ÑαÑ¡«ß¿¼«ßΓ∞ »α«úαá¼¼δ »α¿ ß¡¿ªÑ¡¿¿
- ߬«α«ßΓ¿ αáí«Γδ. é맮ó ñ«½ªÑ¡ ß½Ññ«óáΓ∞ ºá «íαáΘÑ-
- ¡¿Ñ¼ ¬ disp_open().
-
- Ä»¿ßá¡¿Ñ:
-
- ä¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ «íÑß»Ñτ¿óáÑΓ íδßΓαδ⌐ óó«ñ/óδó«ñ ¡á
- φ¬αá¡ PC ¿ ¡áñѪ¡πε ß«ó¼ÑßΓ¿¼«ßΓ∞. Åα«µÑñπαδ »á¬ÑΓá
- »¿ΦπΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ« »á¼∩Γ∞, óδ¿úαδóá∩ ¡á
- ߬«α«ßΓ¿. ¥Γ¿ »α«µÑñπαδ ¡Ñ »«⌐ñπΓ ¡á ¬«¼»∞εΓÑαáσ,
- ¡Ñ ∩ó½∩εΦΘ¿σß∩ ß«ó¼ÑßΓ¿¼δ¼¿ ß IBM PC »« »α¿¡µ¿»á¼
- «Γ«íαáªÑ¡¿∩ ¿½¿ ó τáßΓ¿ BIOS. ì¿ªÑ »α¿óÑñÑ¡δ ú½«íá-
- ½δ, ¬«Γ«αδÑ ¿¡¿µ¿á½¿º¿απεΓß∩ »α¿ ó맮óÑ disp_open().
- ¥Γ¿ ú½«íá½δ ß½ÑñπÑΓ Γ«½∞¬« τ¿ΓáΓ∞:
-
- unsigned char disp_mono - 0 ñ½∩ µóÑΓ¡«ú« ¿ 1 ñ½∩
- ¼«¡«σα«¼¡«ú« áñá»ΓÑαá
- unsigned char disp_snowycga - «Γ½¿τÑ¡ «Γ 0 ñ½∩
- "ߡѪ¡«ú«" IBM CGA
- unsigned char disp_mode - ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαá-
- ªÑ¡¿∩ (漫Γα¿ΓÑ disp_setmode()).
- unsigned char disp_inited - «Γ½¿τÑ¡ «Γ 0, Ñß½¿
- ñ¿ß»½Ñ⌐¡δ⌐ »á¬ÑΓ ¿¡¿µ¿á½¿º¿α«óá¡.
- unsigned char disp_ega - «Γ½¿τÑ¡ «Γ 0 ñ½∩ IBM
- EGA ¿½¿ VGA áñá»ΓÑα«ó.
- unsigned disp_base - áñαÑß ßÑú¼Ñ¡Γá ó¿ñÑ« »á¼∩Γ¿
- (MDA = 0B000)(CGA = 0B800).
- int disp_numrows - ¬«½¿τÑßΓó« «Γ«íαáªáѼδσ ßΓ᫬
-
- int disp_numcols - ¬«½¿τÑßΓó« «Γ«íαáªáѼδσ ßΓ«½í-
- 殢
- int disp_cursorrow - ¡«¼Ñα ßΓ᫬¿, ó ¬«Γ«α«⌐ »«º¿-
- µ¿«¡¿α«óá¡ ¬παß«α
- int disp_cursorcol - ¡«¼Ñα ßΓ«½íµá, ºáñáεΘÑú« »«-
- º¿µ¿ε ¬παß«αá.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- disp_getmode ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ printf, putc.
-
- Åα¿¼Ñα:
-
- #include <disp.h>
- #include <conio.h>
- char *string="Åα¿¼Ñα ¼¿úáεΘÑ⌐ ßΓ᫬¿";
- int cursor=((6*256)+11);
- main()
- {
- char ch;
- disp_open();
- disp_startstand();
- disp_printf("æΓ᫬á óδóÑñÑ¡á »«ß½Ñ «íαáΘÑ¡¿∩ ¬
- disp_startstand\n");
- disp_endstand();
- disp_setattr(DISP_BLINK | DISP_NORMAL);
- disp_printf("%s\n", string);
- disp setattr(DISP_INTENSITY | DISP_NORMAL);
- disp_printf("ôßΓá¡«ó½Ñ¡ áΓα¿íπΓ óδß«¬«⌐ ∩ᬫßΓ¿\n");
- disp setattr(DISP_NORMAL);
- disp_usebios();
- disp_printf("æΓ᫬á óδßóÑτÑ¡á »α¿ »«¼«Θ¿ BIOS\N");
- disp_printf("îÑ¡∩Ѽ αẼÑα ¬παß«αá");
- disp_setcursortype(cursor);
- disp_flush();
- ch = getch();
- disp_close();
- }
-
-
- div äàïêÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- div_t div(int numerator, int denominator); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- äѽ¿Γ ñѽ¿¼«Ñ ¡á ñѽ¿Γѽ∞, ó«ºóαáΘá∩ τáßΓ¡«Ñ ¿ «ßΓáΓ«¬
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- main()
- {
- div_t answ;
- int ina, inb;
- puts("éóÑñ¿ΓÑ ñóá µÑ½δσ:");
- scanf("%d %d", &ina, &inb);
- answ = div(ina, inb);
- printf("ùáßΓ¡«Ñ=%d, ¿ «ßΓáΓ«¬=%d\n",
- answ.quot, answ.rem);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ßΓαπ¬Γπαπ Γ¿»á div_t.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ldiv.
-
-
- DOS Package Åá¬ÑΓ Σπ¡¬µ¿⌐ DOS
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- int dos_abs_disk_read(int drive, int num_sec,
- int start_sec, char *buffer);
- int dos_abs_disk_write(int drive, int num_sec,
- int start_sec, char *buffer);
- int dos_creat(char *name, unsigned attribute);
- int dos_get_cntl_break(void);
- long dos_getdiskfreespace(int drive);
- int dos_get_verify(void);
- void dos_set_verify(int on_off);
- void dos_set_cntl_break(int on_off);
-
- Ä»¿ßá¡¿Ñ:
-
- dos_abs_disk_read, dos_abs_disk_write
- ÅÑαÑñáεΓ π»αáó½Ñ¡¿Ñ Σπ¡¬µ¿∩¼ DOS ñ½∩ óδ»«½¡Ñ¡¿∩
- τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿ ñ¿ß¬á ß««ΓóÑΓßΓóÑ¡¡«. 쫼Ñαá πßΓ-
- α«⌐ßΓó (drive): 0 ñ½∩ πßΓα«⌐ßΓóá A, 1 - ñ½∩ B ¿ Γ.ñ.
- ñ« 25. 諽¿τÑßΓó« ßÑ¬Γ«α«ó ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ß»Ñ-
- µ¿Σ¿µ¿απÑΓß∩ num_sec. Start_sec «»αÑñѽ∩ÑΓ »Ñαóδ⌐
- ßÑ¬Γ«α τΓÑ¡¿∩ ¿½¿ ºá»¿ß¿. Buffer ∩ó½∩ÑΓß∩ ¿ßΓ«τ¡¿-
- ¬«¼ ¿½¿ »α¿Ñ¼¡¿¬«¼ ñá¡¡δσ.
-
- dos_creat
- 櫺ñáÑΓ Σá⌐½ ó DOS «¬απªÑ¡¿¿. üá⌐Γ áΓα¿íπΓ«ó ß««Γ-
- óÑΓßΓóπÑΓ «»¿ßá¡¿ε ó DOS Technical Reference
- Manual. Ä»¿ßá¡¿Ñ áΓα¿íπΓ«ó ß«ñÑনΓß∩ ó dos.h Σá⌐½Ñ:
-
- FA_RDONLY - 0x01 - Γ«½∞¬« τΓÑ¡¿Ñ
- FA_HIDDEN - 0x02 - ߬αδΓδ⌐ Σá⌐½
- FA_SYSTEM - 0x04 - ß¿ßΓѼ¡δ⌐ Σá⌐½
- FA_LABEL - 0x08 - ¼ÑΓ¬á Γ«¼á
- FA_DIREC - 0x10 - ¬áΓὫú
- FA_ARCH - 0x20 - áασ¿ó¡δ⌐ í¿Γ
-
- dos_get_verify
- 髺óαáΘáÑΓ ßΓáΓπß óÑα¿Σ¿¬áµ¿¿ DOS. ¥Γ« «Γ½¿τ¡«Ñ «Γ
- ¡π½∩ º¡áτÑ¡¿Ñ, Ñß½¿ VERIFY (»α«óÑα¬á ºá»¿ß¿) ó¬½ε-
- τÑ¡á, ¿ 0 ó »α«Γ¿ó¡«¼ ß½πτáÑ (漫Γα¿ΓÑ ¬«¼á¡ñπ
- VERIFY ó DOS Technical Reference Manual).
-
- dos_get_cntl_break
- 髺óαáΘáÑΓ ßΓáΓπß break π»αáó½Ñ¡¿∩ DOS. ¥Γ« «Γ-
- ½¿τ¡«Ñ «Γ ¡π½∩ º¡áτÑ¡¿Ñ, Ñß½¿ αÑᬵ¿∩ ¡á »αÑαδóá¡¿Ñ
- break ó¬½ετÑ¡á ¿ 0 ó »α«Γ¿ó¡«¼ ß½πτáÑ (漫Γα¿ΓÑ
- BREAK ¬«¼á¡ñπ ó DOS Reference Manual).
-
- dos_getdiskfreespace
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ «íΩÑ¼á ¡Ñºá¡∩Γ«ú« »α«ßΓαá¡ßΓóá
- ¡á ñ¿ß¬Ñ. Drive «»αÑñѽ∩ÑΓ πßΓα«⌐ßΓó«: 0 - π¼«½τá-
- ¡¿Ñ (ΓѬπΘÑÑ πßΓα«⌐ßΓó«), 1 - A, 2 - B ¿ Γ.ñ.
-
- dos_set_verify
- ôßΓá¡áó½¿óáÑΓ αѪ¿¼ óÑα¿Σ¿¬áµ¿¿ ºá»¿ß¿ (ßτ¿Γδóá¡¿Ñ
- »«ß½Ñ ºá»¿ß¿). ¥Γá Σπ¡¬µ¿∩ ¿¼ÑÑà ëà ªÑ φΣΣѬΓ, τΓ«
- ¿ ¬«¼á¡ñδ MS DOS VERIFY ON ¿½¿ VERIFY OFF.
-
- dos_set_cntl_break
- 鬽ετáÑΓ ¿½¿ ó䬽ετáÑΓ αѪ¿¼ αÑᬵ¿¿ ¡á break. ç¡á-
- τÑ¡¿Ñ áαúπ¼Ñ¡Γá ¡Ñ¡π½Ñó«Ñ ó¬½ετáÑΓ αѪ¿¼ break, ¿
- 0 - ó䬽ετáÑΓ. ¥Γá Σπ¡¬µ¿∩ ¿¼ÑÑà ëà ªÑ φΣΣѬΓ, ¬á¬
- ¿ ¬«¼á¡ñá BREAK ñ½∩ ¬«¼á¡ñ¡«ú« »α«µÑßß«αá DOS.
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- #include <stdio.h>
- char buffer [512];
- main()
- {
- char *offset;
- long result;
- int drive = 0;
- result = dos_getdiskfreespace(drive);
- printf("Default drive=%ld bytes free\n", result);
- dos_abs_disk_read(0,1,0,buffer);
- offset = &buffer[3];
- printf("Boot record OEM=%s\n", offset);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- dos_creat
- 髺óαáΘáÑΓ DOS ñÑß¬α¿»Γ«α Σá⌐½á , Ñß½¿ Σá⌐½ ß«ºñá¡,
- ó »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ -1 ¿ πßΓá¡áó½¿óáÑΓ
- errno.
-
- dos_get_cntl_break, dos_get_verify
- 髺óαáΘáεΓ «Γ½¿τ¡«Ñ «Γ ¡π½∩ º¡áτÑ¡¿Ñ, Ñß½¿ ßΓáΓπß
- ó¬½ετÑ¡, ¿ 0 ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- dos_getdiskfreespace
- 髺óαáΦΘáÑΓ «íΩѼ ñ«ßΓπ»¡«ú« ñ¿ß¬«ó«ú« »α«ßΓαá¡ßΓóá
- ó íá⌐Γáσ ó Σ«α¼áΓÑ long int.
-
- dos_set_verify, dos_set_cntl_break
- ìÑ ó«ºóαáΘáεΓ º¡áτÑ¡¿Ñ.
-
- dos_abs_disk_read, dos_abs_disk_write
- 髺óαáΘáεΓ 0 ó ß½πτáÑ πß»Ñσá. ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ
- π¬áºδóáÑΓ ¡á «Φ¿í¬π. î½áñΦ¿⌐ íá⌐Γ ß«ñÑαª¿Γ ¬«ñ
- «Φ¿í¬¿ DOS. æΓáαΦ¿⌐ íá⌐Γ ß«ñÑαª¿Γ ß»Ñµ¿Σ¿¬áµ¿ε
- «Φ¿í¬¿ BIOS(漫Γα¿ΓÑ DOS Technical Reference Manual)
-
-
- ecvt ÅÉàÄüÉÇçÄéÇÆ£ ùêæïÄ é æÆÉÄèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- char * ecvt(double val, int ndig, int *pdecpt,
- int *psign);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ º¡áτÑ¡¿Ñ πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ¿ ó ßΓ᫬π ¿
- ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π. ù¿ß½« ß«ºñáóáѼδσ
- µ¿Σα ºáñáÑΓ ndig. ù¿ß½« ß««ΓóÑΓßΓóÑ¡¡« «¬απú½∩ÑΓß∩.
- Å«º¿µ¿∩ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ «Γ¡«ß¿Γѽ∞¡« »Ñαó«⌐ (½Ñó«⌐)
- µ¿Σαδ ßΓ᫬¿ ºá»«¼¿¡áÑΓß∩ ó *pdecpt. àß½¿ *pdecpt
- «Γα¿µáΓѽ∞¡«, Γ«τ¬á ¡áσ«ñ¿Γß∩ ¡á ß««ΓóÑΓßΓóπεΘÑÑ ¬«-
- ½¿τÑßΓó« »«º¿µ¿⌐ ½ÑóÑÑ ¡áτá½á ßΓ᫬¿. é *psign ºá-
- »«¼¿¡áÑΓß∩ 0, Ñß½¿ val>0, ¿ «Γ½¿τ¡«Ñ «Γ 0 º¡áτÑ¡¿Ñ
- ó »α«Γ¿ó¡«¼ ß½πτáÑ. æΓα«¬á ºá»¿ßδóáÑΓß∩ ó ßΓáΓ¿τÑß-
- ¬¿ óδñѽѡ¡πε »á¼∩Γ∞, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓß∩ ß«ó¼ÑßΓ-
- ¡« ß ecvt() ¿ «í¡«ó½∩ÑΓß∩ »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- char *buffer;
- int dec, sign;
- main()
- {
- buffer = ecvt(98.69138432, 5, &dec, &sign);
- printf("buffer = \"%s\", decimal = %d,
- sign = %d\n", buffer, dec, sign);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fcvt, sprintf.
-
-
-
- execl - execvp çÇÅôæÆêÆ£ ÅÉÄûàææ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <process.h>
- #include <errno.h> /* Æ«½∞¬« ñ½∩ ¬«¡Γα«½∩ «Φ¿í«¬ */
- int execl(char * name, char *arg0, *arg1,..., *argn,
- NULL);
- int execv(char * name, char *argv[]);
- int execlp(char * name, char *arg0, *arg1,..., *argn,
- NULL);
- int execvp(char * name, char *argv[]);
-
- Ä»¿ßá¡¿Ñ:
-
- exec - Σπ¡¬µ¿¿ ß«ºñáεΓ ¿ óδ»«½¡∩εΓ ¡«óδ⌐ »«α«ªñÑ¡¡δ⌐
- »α«µÑßß. ôß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ exec óδºδóáÑΓ ºá¼Ñ¡π ó
- »á¼∩Γ¿ α«ñ¿Γѽ∞߬«ú« »α«µÑßßá ¡á »«α«ªñÑ¡¡δ⌐ »α«µÑßß,
- ñ½∩ ¬«Γ«α«ú« ñ«½ª¡« íδΓ∞ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿. Exec »ÑαÑ-
- ºá»¿ßδóáÑΓ ¡«óπε »α«úαá¼¼π ¡á ¼ÑßΓ« ΓѬπΘÑ⌐ ¿ ¡áτ¿¡áÑΓ
- ¿ß»«½¡Ñ¡¿Ñ. Name ߻ѵ¿Σ¿µ¿απÑΓ φΓπ »α«úαá¼¼π. àß½¿ φΓá
- ߻ѵ¿Σ¿¬áµ¿∩ ¡Ñ ß«ñÑαª¿Γ «»¿ßá¡¿∩ »πΓ¿ ñ«ßΓπ»á ¬ Σá⌐-
- ½π »α«úαá¼¼δ ¿ Σá⌐½ ¡Ñ ß«ñÑনΓß∩ ó ΓѬπΘѼ ¬áΓὫúÑ,
- Γ« ó ß½πτáÑ execvp ¿ execlp ñ½∩ »«¿ß¬á Σá⌐½á ¿ß»«½∞ºπ-
- ÑΓß∩ »ÑαѼѡ¡á∩ «¬απªÑ¡¿∩ PATH. Åáαá¼ÑΓαδ «íαáΘÑ¡¿∩ ¬
- »«ñ»α«µÑßßπ «íαáºπεΓß∩ ¿º ßΓ᫬ ½¿ΓÑα, ºáñá¡¡δσ ó «í-
- αáΘÑ¡¿¿ ¬ exec. Ä¡¿ «íαáºπεΓ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó, ß«ó«-
- ¬π»¡á∩ ñ½¿¡á ¬«Γ«αδσ, ¿ß¬½ετá∩ arg0, ¡Ñ ñ«½ª¡á »αÑóδ-
- ΦáΓ∞ 128 ß¿¼ó«½«ó. Çαúπ¼Ñ¡Γ arg0 ¿ú¡«α¿απÑΓß∩. Ä¡ ó¬½ε-
- τÑ¡ »« ß««íαáªÑ¡¿∩¼ ß«ó¼ÑßΓ¿¼«ßΓ¿. Çαúπ¼Ñ¡Γ argv, ¿ß-
- »«½∞ºπѼδ⌐ ó execv ¿ execvp, ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ π¬áºá-
- ΓѽÑ⌐ ¡á ßΓ᫬¿. ū߽Ññ¡¿⌐ π¬áºáΓѽ∞ ó argv ñ«½ªÑ¡
- íδΓ∞ NULL.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- é ß½πτáÑ πß»ÑΦ¡«ú« «íαáΘÑ¡¿∩ exec ¡Ñ ó«ºóαáΘáÑΓ π»αáó-
- ½Ñ¡¿∩. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ -1. é¡ÑΦ¡∩∩
- »ÑαѼѡ¡á∩ errno íπñÑΓ πßΓá¡«ó½Ñ¡á ó º¡áτÑ¡¿Ñ, ¿ñÑ¡Γ¿-
- Σ¿µ¿απεΘÑÑ «Φ¿í¬π. ¥Γ¿ º¡áτÑ¡¿∩ ñѬ½áα¿α«óá¡δ ó Σá⌐½Ñ
- errno.h:
-
- E2BIG - 滿߫¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ 128 íá⌐Γ.
-
- ENOENT - ìÑ ¡á⌐ñÑ¡ Σá⌐½.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ abort, exit, spawn, system.
-
- Åα¿¼Ñα:
-
- #include <process.h>
- #include <errno.h>
- #include <stdio.h>
- main(int argc, char * argv[])
- {
- char *args[4];
- int result;
- arg[0] = "arg0";
- arg[1] = "arg1";
- arg[2] = "arg2";
- arg[3] = "arg3";
- switch (argv[1][0])
- {
- case `1':
- execl("myprog.exe", "arg0", "arg1", "arg2",
- "arg3",NULL);
- break;
- case `2':
- execlp("myprog.exe", "arg0", "arg1", "arg2",
- "arg3", NULL);
- break;
- case `3':
- execv("myprog.exe", "args");
- break;
- case `4':
- execvp("myprog.exe", "args");
- break;
- default:
- printf("éóÑñ¿ΓÑ τ¿ß½« ¼Ñªñπ 1 ¿ 4 ó ¬«¼á¡ñ¡«⌐
- ßΓ᫬Ñ\n");
- exit(1);
- }
- printf("Åα«µÑßß myprog.exe ¡Ñ ¿ß»«½¡Ñ¡.\n");
- }
-
-
-
- exit, _exit çÇéàÉÿêÆ£ é¢ÅÄïìàìêà ÅÉÄâÉÇîî¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void exit(int exitstatus);
- void _exit(int exitstatus); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- exit óδºδóáÑΓ óßÑ ßΓáΓ¿τÑ߬¿Ñ ñÑßΓαπ¬Γ«αδ (ñ½∩ C++ »α«-
- úαá¼¼), óδΓὬ¿óáÑΓ íπΣÑαá óδó«ñá, ºá¬αδóáÑΓ óδσ«ñ¡δÑ
- Σá⌐½δ ¿ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ MS DOS ß« ßΓáΓπß«¼ óδσ«-
- ñá exitstatus.
- _exit ¡Ñ óδºδóáÑΓ ßΓáΓ¿τÑ߬¿Ñ ñÑßΓαπ¬Γ«αδ ¿ ¡Ñ «ßó«í«ª-
- ñáÑΓ íπΣÑαá, á ¡Ñ¼Ññ½Ñ¡¡« ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ó
- MS DOS. exit »αÑñ»«τΓ¿Γѽ∞¡« ¿ß»«½∞º«óáΓ∞ ó C++ »α«ú-
- αá¼¼áσ. exitstatus «íδτ¡« 0 ñ½∩ π¬áºá¡¿∩ ¡á ¡«α¼á½∞¡«Ñ
- ºáóÑαΦÑ¡¿Ñ »α«úαá¼¼δ. ç¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ «Γ ¡π½∩, ¿¡-
- ñ¿µ¿απÑΓ «Φ¿í¬π. Æ«½∞¬« ¼½áñΦ¿⌐ íá⌐Γ exitstatus »«ßΓπ-
- »áÑΓ ¬ α«ñ¿Γѽ∞߬«¼π »α«µÑßßπ. æΓáΓπß óδσ«ñá ¼«ªÑΓ
- íδΓ∞ ¿ß»«½∞º«óá¡ »«ßαÑñßΓó«¼ ¿¼Ñ¡¿ ERRORLEVEL ó ¬«¼á¡ñ-
- ¡δσ (batch) Σá⌐½áσ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑ ó«ºóαáΘáÑΓ º¡áτÑ¡¿∩.
-
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ abort.
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #include <stdio.h>
- main(int argc, char * argv[])
- {
- FILE *fp;
- if(argc>1)
- {
- fp = fopen(argv[1],"r");
- if(fp == NULL)
- {
- fprintf(stderr, "ìÑ ¼«úπ «Γ¬αδΓ∞ Σá⌐½
- \"%s\"\n", argv[1]);
- exit(1);
- }
- }
- else
- {
- fprintf(stderr, "öá⌐½ ¡Ñ ºáñá¡ \n");
- exit(1);
- }
- }
-
-
- exp ¥èæÅÄìàìÆÇ
-
- êß»«½∞º«óá¡¿Ñ
-
- #include <math.h>
- double exp(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ φ¬ß»«¡Ñ¡Γπ áαúπ¼Ñ¡Γá x.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- main()
- {
- double dnum, xpnt;
- dnum:=3.1415926;
- xpnt = exp(dnum);
- printf("The exp(%f) = %f\n", dnum, xpnt);
- }
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ φ¬ß»«¡Ñ¡Γδ áαúπ¼Ñ¡Γá x. é ß½πτáÑ
- »ÑαÑ»«½¡Ñ¡¿∩ («verflow) πßΓá¡áó½¿óáÑΓ errno ó ERANGE.
- é ß½πτáÑ »«ΓÑα¿ º¡áτ¿¼«ßΓ¿ (underflow) ó«ºóαáΘáÑΓ 0
- ¿ ¡Ñ πßΓá¡áó½¿óáÑΓ errno.
-
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ log, pow, sqrt.
-
-
-
- fabs ÇüæÄï₧ÆìÄà çìÇùàìêà éàÖàæÆéàììÄâÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double fabs(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ τ¿ß½á x, ºáñá¡¡«ú« ß
- πñó«Ñ¡¡«⌐ Γ«τ¡«ßΓ∞ε.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main()
- {
- double numbr, absval;
- numbr = -1.0;
- absval = fabs(numbr);
- printf("fabs «Γ (%f) αáó¡« %f\n", numbr, absval);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ abs, labs.
-
-
-
- farcalloc - farrealloc ÉÇüÄÆÇ æ äÇï£ìàë èôùàë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- void far *farmalloc(unsigned long size);
- void far *farcalloc(unsigned long number, unsigned
- long size);
- long farcoreleft(void);
- void farfree(void far *memblock);
- void far *farrealloc(void far *memblock, unsigned long
- newsize);
-
- Ä»¿ßá¡¿Ñ:
-
- farmalloc - ÄΓó«ñ¿Γ »á¼∩Γ∞ αẼÑα«¼ size ó ñá½∞¡Ñ⌐
- ¬πτÑ.
- farcalloc - ÄΓó«ñ¿Γ »á¼∩Γ∞ »«ñ ¼áßß¿ó ñ½¿¡«⌐ number
- φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ñ½¿¡«⌐ size
- íá⌐Γ«ó, ó ñá½∞¡Ñ⌐ ¬πτÑ.
- farcoreleft - 髺óαáΘáÑΓ óѽ¿τ¿¡π »á¼∩Γ¿ ó ñá½∞¡Ñ⌐ ¬π-
- τÑ.
- farfree - Äßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿ memblock, óδñÑ-
- ½Ñ¡¡δ⌐ »αѪñÑ ó ñá½∞¡Ñ⌐ ¬πτÑ.
- farrealloc - ÅÑαÑ«»αÑñѽ∩ÑΓ αẼÑα αá¡ÑÑ ºáúαπªÑ¡¡«ú«
- í½«¬á »á¼∩Γ¿ memblock º¡áτÑ¡¿Ñ¼ newsize.
-
- çá¼ÑΓ¿¼, τΓ« óß∩ ñ«ßΓπ»¡á∩ »á¼∩Γ∞ (RAM) ¼«ªÑΓ íδΓ∞
- ºáñÑ⌐ßΓó«óá¡á; ¼«ªÑΓ íδΓ∞ óδñѽѡ í½«¬ »á¼∩Γ¿ í«½ÑÑ
- 64 èí ¿ ñ½∩ ñ«ßΓπ»á ¬ í½«¬á¼ »á¼∩Γ¿ ¿ß»«½∞ºπεΓß∩
- ñá½∞¡¿Ñ π¬áºáΓѽ¿.
-
- ¥Γ¿ Σπ¡¬µ¿¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« «íαáΘáεΓß∩ ¬ MS DOS. Ä¡¿ í«-
- ½ÑÑ ¼Ññ½Ñ¡¡δ, τѼ, ¡á»α¿¼Ñα, malloc. Ä¡¿ ¼«úπΓ Γá¬ªÑ »αÑñ«Γó-
- αáΓ¿Γ∞ »ÑαÑ»«½¡Ñ¡¿Ñ ¬πτ¿ ó S, M, T ¼«ñѽ∩σ »á¼∩Γ¿ (¿ »«½Ñº¡δ
- »αѪñÑ óßÑú« ñ½∩ ÑÑ αáßΦ¿αÑ¡¿∩). ô¬áºáΓѽ¿ ¡á ºáúαπªÑ¡¡πε »á-
- ¼∩Γ∞ ñ«½ª¡δ íδΓ∞ «ßó«í«ªñÑ¡δ »αѪñÑ, τѼ ºáóÑαΦ¿Γß∩ »α«úαá¼-
- ¼á, ó »α«Γ¿ó¡«¼ ß½πτáÑ »á¼∩Γ∞ «ßΓá¡ÑΓß∩ ºá¡∩Γ«⌐ ñ« »ÑαѺáú-
- απº¬¿ ¬«¼»∞εΓÑαá.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <dos.h>
- main()
- {
- char far *memblock;
- long allocate = 65000;
- printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡δ\n",farcoreleft());
- memblock = farmalloc(allocate);
- if (memblock == NULL)
- {
- printf("¡Ñ ß¼«ú½¿ αẼÑßΓ¿Γ∞ í½«¬ »á¼∩Γ¿\n");
- exit(1);
- }
- printf("%lu íá⌐Γ«ó «ΓóÑñÑ¡«", allocate);
- printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
- allocate/=2;
- memblock = farrealloc(memblock, allocate);
- printf("»á¼∩Γ∞ »ÑαÑαẼÑΘáÑΓß∩ ñ« %lu íá⌐Γ«ó",
- allocate);
- printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
- farfree(memblock);
- printf("í½«¬ »á¼∩Γ¿ «ßó«í«ªñÑ¡");
- printf("%lu íá⌐Γ«ó »á¼∩Γ¿ ßó«í«ñ¡«\n",farcoreleft());
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- farmalloc - ó«ºóαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¡á αẼÑΘÑ¡-
- ¡δ⌐ í½«¬ »á¼∩Γ¿ ¿½¿ NULL, Ñß½¿ ¡ÑΓ ñ«ßΓá-
- Γ«τ¡«ú« ¬«½¿τÑßΓóá »á¼∩Γ¿.
-
- farcalloc - ó«ºóαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¡á ºáúαπªÑ¡-
- ¡δ⌐ í½«¬ »á¼∩Γ¿ ¿½¿ NULL, Ñß½¿ ¡ÑΓ ñ«ßΓá-
- Γ«τ¡«ú« ¬«½¿τÑßΓóá »á¼∩Γ¿.
-
- farcoreleft - ó«ºóαáΘáÑΓ óѽ¿τ¿¡π »á¼∩Γ¿ ó ñá½∞¡Ñ⌐ ¬π-
- τÑ.
-
- farfree - ¡¿τÑú« ¡Ñ ó«ºóαáΘáÑΓ.
-
- farrealloc - ó«ºóαáΘáÑΓ áñαÑß »ÑαѺáúαπªÑ¡¡«ú« í½«¬á,
- ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ «Γ½¿τÑ¡ «Γ ¿ßσ«ñ¡«ú«.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ calloc, free, malloc, realloc.
-
-
- _farptr_norm ìÄÉîÇïêçÄéÇÆ£ äÇï£ìêë ôèÇçÇÆàï£
- _farptr_fromlong äÇï£ìêë ôèÇçÇÆàï£ êç äïêììÄâÄ
- _farptr_tolong äÇï£ìêë ôèÇçÇÆàï£ é äïêììÄà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- void far *_farptr_norm(void far *ptr);
- void far *_farptr_fromlong(long value);
- long _farptr_tolong(void far *ptr);
-
- Ä»¿ßá¡¿Ñ:
-
- _farptr_norm ¡«α¼á½¿ºπÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ Γᬿ¼ «íαá-
- º«¼, τΓ« ß¼ÑΘÑ¡¿Ñ ßΓá¡«ó¿Γß∩ ¼Ñ¡ÑÑ 16. _farptr_fromlong
- »αÑ«íαáºπÑΓ long ¬ ¡«α¼á½¿º«óá¡¡«¼π ñá½∞¡Ñ¼π π¬áºáΓѽε.
- Åáαá¼ÑΓα ºáñáÑΓ ½¿¡Ñ⌐¡δ⌐ áñαÑß «Γ 0. _farptr_tolong
- »αÑ«íαáºπÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞ ¬ ½¿¡Ñ⌐¡«¼π áñαÑßπ Γ¿»á
- long, »αÑñßΓáó½Ñ¡¡«¼π ñá¡¡δ¼ π¬áºáΓѽѼ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- _farptr_norm ó«ºóαáΘáÑΓ ¡«α¼á½¿º«óá¡¡δ⌐ ñá½∞¡¿⌐ π¬áºá-
- Γѽ∞. _farptr_fromlong ó«ºóαáΘáÑΓ ¡«α¼á½¿º«óá¡¡δ⌐ ñá½∞-
- ¡¿⌐ π¬áºáΓѽ∞. _farptr_tolong ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á
- long.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <dos.h>
- main()
- {
- void far * pin, far * pout;
- long value;
- pin = MK_FP(0x1100, 0x2678);
- pout = _farptr_norm(pin);
- printf("%lp »«ß½Ñ ¡«α¼á½¿ºáµ¿¿ ñ«½ªÑ¡ ßΓáΓ∞"
- "1367:0008, á Σá¬Γ¿τÑ߬¿=%lp\n",
- pin, pout);
- value = 0xB7543;
- pout = _farptr_fromlong(value);
- printf("ÅαÑ«íαẫóá¡¿Ñ 0x%lX ó ñá½∞¡¿⌐ π¬áºáΓѽ∞"
- "ñ«½ª¡« íδΓ∞ B754:0003, \n Σá¬Γ¿τÑ߬¿=%lp\n",
- value, pout);
- pin = MK_FP(0xbB754, 0x0013>);
- value = _farptr_tolong(pin);
- printf("ÅαÑ«íαẫóá¡¿Ñ %lp ó long ñ«½ª¡« íδΓ∞"
- "0xB7553, \n it actually is 0x%lX\n", pin,
- value);
- }
-
-
- fclose çÇèɢƣ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fclose(FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çá¬αδóáÑΓ Σá⌐½, áßß«µ¿¿α«óá¡¡δ⌐ ß fp. üπΣÑα óδó«ñá,
- ßó∩ºá¡¡δ⌐ ß fp, »ÑαÑñ ºá¬αδΓ¿Ñ¼ óδΓὬ¿óáÑΓß∩.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- FILE *fp;
- fp = fopen("file.dat", "r");
- if (fp==NULL)
- printf("öá⌐½ ñá¡¡δσ ¡Ñ «Γ¬αδΓ\n");
- else
- {
- fclose(fp);
- printf("öá⌐½ file.dat ºá¬αδΓ »α¿ »«¼«Θ¿
- fclose\n");
- }
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0, Ñß½¿ »«Γ«¬ πß»ÑΦ¡« ºá¬αδΓ, ¿ -1 ó »α«-
- Γ¿ó¡«¼ ß½πτáÑ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ close, fopen, freopen.
-
-
- fcvt ÅÉàÄüÉÇçÄéÇÆ£ DOUBLE é æÆÉÄèô æ öêèæêÉÄéÇììÄë ÆÄùèÄë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <process.h>
- char *fcvt(double val, int nfrac, int *pdecpt,
- int *psign);
-
- Ä»¿ßá¡¿Ñ:
-
- Æ« ªÑ, τΓ« ¿ ecvt(), ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« nfrac
- ߻ѵ¿Σ¿µ¿απÑΓ ºñÑß∞ ¬«½¿τÑßΓó« µ¿Σα, ¬«Γ«α«Ñ ñ«½ª¡«
- íδΓ∞ »«ß½Ñ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <process.h>
- main()
- {
- char *buffer;
- int dec, sign;
- buffer = fcvt(98.69138432, 5, &dec, &sign);
- printf("buffer=\"%s\", decimal = %d, sign = %d\n",
- buffer, dec, sign);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓáΓ¿τÑ߬πε ßΓα«¬π µ¿Σα, »ÑαÑ-
- ºá»¿ßδóáѼπε »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ecvt ¿½¿ fcvt.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ecvt, sprintf.
-
-
- feof ÅÉÄéàÉèÇ ÅÉêçìÇèÇ èÄìûÇ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int feof (FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- Ä»αÑñѽ∩ÑΓ, ¡áσ«ñ¿Γß∩ ½¿ »«Γ«¬ fp ó ¬«¡µÑ Σá⌐½á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #define BUFSIZE 128
- char buffer [BUFSIZE];
- main()
- {
- FILE *fp;
- fp = fopen("file.dat", "r");
- {
- while(!feof(fp))
- fgets(buffer, BUFSIZE, fp);
- }
- printf("öá⌐½ »α«τ¿Γá¡, óßΓαÑΓ¿½ß∩ EOF \n", buffer);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ∩ó½∩ÑΓß∩ ¬«¡-
- µ«¼(Γ.Ñ. πßΓá¡«ó½Ñ¡ Σ½áú `eof'). Å«ß½Ñ πßΓá¡«ó¬¿ Σ½áúá
- ¡Ñ αáºαÑΦÑ¡δ «»Ñαᵿ¿ τΓÑ¡¿∩. ö½áú «»π߬áÑΓß∩ »α¿ «»Ñ-
- αᵿ∩σ rewind, fseek, ¿ »α¿ ºá¬αδΓ¿¿ »«Γ«¬á. 髺óαáΘá-
- ÑΓ 0, Ñß½¿ Σ½áú ¡Ñ πßΓá¡«ó½Ñ¡.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ clearerr, ferror.
-
-
-
- ferror ÅÉÄéàÉèÇ ÅÉêçìÇèÇ Äÿêüèê é öÇëïà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int ferror (FILE * fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- è«¡Γα«½¿απÑΓ Σ½áú `error' ó »«Γ«¬Ñ fp. ¥Γ«Γ Σ½áú «»πß-
- ¬áÑΓß∩ »« rewind, clearerr, fseek ¿½¿ »α¿ ºá¬αδΓ¿¿ »«-
- Γ«¬á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- int c;
- if ((c=fgetc(stdin))==EOF)
- if (ferror(stdin))
- {
- fprintf(stderr, "ÄΦ¿í¬á τΓÑ¡¿∩\n");
- clearerr(stdin);
- }
- printf("üѺ «Φ¿í«¬\n");
- }
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ πßΓá¡«ó½Ñ¡ Σ½áú «Φ¿í¬¿, 0 ó
- »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ clearerr, feof.
-
-
-
- fflush 颯ÄïèìôÆ£ üôöàÉ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fflush(FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδΓὬ¿óáÑΓ íπΣÑα, ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼ fp. àß½¿ Σá⌐½
- «Γ¬αδΓ »« ºá»¿ß¿, íπΣÑα ßíαáßδóáÑΓß∩ ¡á Σá⌐½. àß½¿
- Σá⌐½ «Γ¬αδΓ »« τΓÑ¡¿ε, íπΣÑα τ¿ßΓ¿Γß∩.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- FILE *fp;
- main()
- {
- if (!(fp = fopen("file.dat", "w")))
- return;
- fflush(fp); /* óδΓὬ¿óáѼ íπΣÑα ¡á ñ¿ß¬ ñ½∩ */
- /* ºáΘ¿Γδ ñá¡¡δσ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ */
- /* «»Ñαᵿ¿, ¼«úπΘÑ⌐ ß½«¼áΓ∞ ß¿ßΓѼπ */
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0, Ñß½¿ íπΣÑα óδΓ«½¬¡πΓ πß»ÑΦ¡«, ó »α«Γ¿ó-
- ¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ EOF.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fclose, flushall.
-
-
-
- fgetc éçƒÆ£ üÇëÆ êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fgetc(FILE *fp); /* ANSI */
-
-
- Ä»¿ßá¡¿Ñ:
-
- ù¿ΓáÑΓ ¿ ó«ºóαáΘáÑΓ ß½ÑñπεΘ¿⌐ íá⌐Γ ¿º »«Γ«¬á fp.
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- int ch;
- fputs("éó«ñ¿ΓÑ ñá¡¡δÑ, ó ¬«¡µÑ - ctrl-Z: ", stdout);
- while((ch = fgetc(stdin))!=EOF)
- fputc(ch, stdout);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ íá⌐Γ »α¿ πß»ÑΦ¡«¼ τΓÑ¡¿¿ ¿½¿ EOF, Ñß½¿
- óßΓαÑΓ¿Γß∩ ¬«¡Ñµ Σá⌐½á ¿½¿ «Φ¿í¬á τΓÑ¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fputc, putchar, getc, getchar, getche,
- getch.
-
-
- fgets éçƒÆ£ æÆÉÄèô êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- char *fgets(char *str, int n, FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- æτ¿ΓδóáÑΓ ½¿ΓÑαδ ¿º »«Γ«¬á fp ó ßΓ᫬𠻫 π¬áºáΓѽε
- str. ùΓÑ¡¿Ñ ºá¬á¡τ¿óáÑΓß∩, ¬«úñá óßΓαÑτáÑΓß∩ ½¿ΓÑαá
- `\n' (¡«óá∩ ßΓ᫬á), ¬«¡Ñµ Σá⌐½á, 󫺡¿¬áÑΓ «Φ¿í¬á τΓÑ-
- ¡¿∩ ¿½¿ τ¿ß½« »α«τ¿Γá¡¡δσ ½¿ΓÑα ñ«ßΓ¿úáÑΓ n-1. æΓ᫬á
- ºáóÑαΦáÑΓß∩ 0. ï¿ΓÑαá '\n' (¡«óá∩ ßΓ᫬á) ó¬½ετáÑΓß∩ ó
- ßΓ᫬π (»ÑαÑñ 0).
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- char buffer[225];
- int buflen;
- char *result;
- buflen=255;
- fputs("éóÑñ¿ΓÑ ßΓ᫬π ñá¡¡δσ\n", stdout);
- result=fgets(buffer, buflen, stdin);
- if (!result)
- printf("\n ¬«¡Ñµ Σá⌐½á (EOF) ¿½¿ «Φ¿í¬á
- (ERROR)\n");
- else fputs(buffer, stdout);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ßΓ᫬π str ó ß½πτáÑ πß»Ñσá. àß½¿ ¡Ñ í佫
- »α«τ¿Γá¡« ¡¿ «ñ¡«⌐ ½¿ΓÑαδ ¿ »α«¿º«Φ½á «Φ¿í¬á τΓÑ¡¿∩
- ¿½¿ óßΓαÑτÑ¡ EOF, ó«ºóαáΘáÑΓ NULL, á ßΓ᫬á str «ßΓá-
- ÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿∩. àß½¿ 󫺡¿¬½á «Φ¿í¬á »α¿ τΓÑ¡¿¿,
- ó«ºóαáΘáÑΓ NULL, á ó ßΓα«¬Ñ ó«º¼«ªÑ¡ ¼πß«α.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fputs, gets, puts.
-
-
-
- fileno äÇÆ£ äàæèÉêÅÆÄÉ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fileno(FILE *fp);
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, áßß«µ¿¿α«óá¡¡«ú« ß »«Γ«-
- ¬«¼ fp (`file handle'ó MS DOS).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- int fd,
- fd = fileno(stderr);
- printf("äÑß¬α¿»Γ«α Σá⌐½á stderr αáóÑ¡ %d\n", fd);
- fd = fileno(stdaux);
- printf("äÑß¬α¿»Γ«α Σá⌐½á stdaux αáóÑ¡ %d\n", fd);
- fd = fileno(stdprn);
- printf("äÑß¬α¿»Γ«α Σá⌐½á stdprn αáóÑ¡ %d\n", fd);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á. Äí «Φ¿í¬áσ ¡Ñ ß««íΘáÑΓß∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fopen, freopen.
-
-
- filesize äÇÆ£ ÉÇçîàÉ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- long filesize(char *filename);
-
- Ä»¿ßá¡¿Ñ:
-
- Ä»αÑñѽ∩ÑΓ αẼÑα Σá⌐½á ó íá⌐Γáσ. ê¼∩ Σá⌐½á ñ«½ª¡«
- íδΓ∞ ¿¼Ñ¡Ñ¼ ßπΘÑßΓóπεΘÑú« Σá⌐½á, ºá¬αδΓ«ú« ó ñá¡¡δ⌐
- ¼«¼Ñ¡Γ.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- main()
- {
- long size;
- size = filesize("file.dat);
- printf("ÉẼÑα Σá⌐½á file.dat αáóÑ¡ %d\n", size);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ñ½¿¡π Σá⌐½á ó íá⌐Γáσ ó ß½πτáÑ πß»Ñσá, ó
- »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ -1L ¿ πßΓá¡áó½¿óáÑΓ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ stat, fstat.
-
-
- findfirst, findnext ÅÄêæè öÇëïÄé ÅÄ ÿÇüïÄìô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- struct FIND *findfirst(char*partname, int attribute);
- struct FIND *findnext(void);
-
- Ä»¿ßá¡¿Ñ:
-
- æ¿ßΓѼ¡δÑ ó맮óδ findfirst ¿ findnext ¿ß»«½∞ºπεΓß∩ ñ½∩
- »«¿ß¬á Σá⌐½«ó, ß««ΓóÑΓßΓóπεΘ¿σ Φáí½«¡π, ¬«Γ«αδ⌐ ¼«ªÑΓ
- «σóáΓδóáΓ∞ µÑ½«Ñ ¼¡«ªÑßΓó« Σá⌐½«ó »«ßαÑñßΓó«¼ ¿ß»«½∞-
- º«óá¡¿∩ ß¿¼ó«½«ó `*' ¿½¿ `?' ó ¿¼Ñ¡¿ Σá⌐½á ¿½¿ Ñú«
- αáßΦ¿αÑ¡¿¿ (¡« ¡Ñ ó «»¿ßá¡¿¿ »πΓ¿ ñ«ßΓπ»á ¬ Σá⌐½π).
- Çαúπ¼Ñ¡Γ `attribute' ∩ó½∩ÑΓß∩ áΓα¿íπΓ«¼ ¿ß¬«¼«ú« Σá⌐½á.
- é «íαáΘÑ¡¿¿ ¬ findfirst ¼«ªÑΓ íδΓ∞ ºáñá¡« í«½ÑÑ «ñ¡«ú«
- áΓα¿íπΓ¡«ú« í¿Γá. æ««ΓóÑΓßΓóπεΘ¿Ñ «»¿ßá¡¿∩ áΓα¿íπΓ¡δσ
- í¿Γ«ó ¡áσ«ñ∩Γß∩ ó dos.h Σá⌐½Ñ:
-
- ÇÆÉêüôÆ ÆêÅ öÇëïÇ
- FA_RDONLY 0x01
- FA_HIDDEN 0x02
- FA_SYSTEM 0x04
- FA_LABEL 0x08
- FA_DIREC 0x10
- FA_ARCH 0x20
-
- é ß½πτáÑ ¡π½Ñó«ú« º¡áτÑ¡¿∩ `attribute' «Γδ߬¿óáεΓß∩
- óßÑ «íδτ¡δÑ Σá⌐½δ. ô¬áºáΓѽ∞ ¡á ó«ºóαáΘáѼπε ßΓαπ¬Γπ-
- απ ∩ó½∩ÑΓß∩ ßΓáΓ¿τÑ߬¿¼, ΓᬠτΓ«, Ñß½¿ φΓá ¿¡Σ«α¼áµ¿∩
- ¡πª¡á, «¡á ñ«½ª¡á íδΓ∞ ߬«»¿α«óá¡á ó ñαπú«⌐ íπΣÑα.
- ÄíαáΘÑ¡¿Ñ ¬ findnext ñáÑΓ ß½ÑñπεΘ¿⌐ Σá⌐½, »«ñσ«ñ∩Θ¿⌐
- »« Φáí½«¡π, ºáñá¡¡«¼π ó »αÑñΦÑßΓóπεΘѼ «íαáΘÑ¡¿¿ ¬
- findfirst. Å«φΓ«¼π ó맮óδ findnext ñ«½ª¡δ ß½Ññ«óáΓ∞ ºá
- óδº«ó«¼ findfirst.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <dos.h>
- main()
- {
- struct FIND *p;
- printf("éδó«ñ ¬áΓὫúá *.*\n");
- p = findfirst("*.*", 0);
- while (p)
- {
- printf("%s\n", p->name);
- p = findnext();
- }
- }
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- é ß½πτáÑ πß»Ñσá ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓáΓ¿τÑ߬πε
- ßΓαπ¬Γπαπ FIND, «»αÑñѽѡ¡πε ó dos.h Σá⌐½Ñ, ¿½¿ NULL
- ñ½∩ ¿¡ñ¿¬áµ¿¿ ¬«¡µá »«¿ß¬á ¿½¿ «Φ¿í¬¿.
-
-
-
- floor ûàïǃ ùÇæÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double floor(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ ¡á¿í«½∞ΦÑÑ µÑ½«Ñ (ó ó¿ñÑ τ¿ß½á ß πñó«Ñ¡¡«⌐
- Γ«τ¡«ßΓ∞ε), ¡Ñ »αÑóδΦáεΘÑÑ x.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double d;
- d=floor(4.8);
- printf("floor «Γ 4.8 αáóÑ¡ %f\n", d);
- d=floor(-4.8);
- printf("floor «Γ -4.8 αáóÑ¡ %f\n", d);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ αѺπ½∞ΓáΓ Γ¿»á double.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ceil, fmod.
-
-
- flushall 颯ÄïèìôÆ£ üôöàÉÇ éæàò ÄÆèɢƢò öÇëïÄé
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int flushall(void);
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ flushall óδΓὬ¿óáÑΓ íπΣÑαá óó«ñá/óδó«ñá óßÑσ
- «Γ¬αδΓδσ »«Γ«¬«ó. éßÑ »«Γ«¬¿ »«ß½Ñ αáí«Γδ flushall oc-
- ΓáεΓß∩ «Γ¬αδΓ묨. ïεíá∩ «»Ñαᵿ∩ τΓÑ¡¿∩ τ¿ΓáÑΓ ó íπΣÑ-
- αá ¡«óδÑ ñá¡¡δÑ.
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main ()
- { int totalflushed;
- totalflushed = flushall();
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ τ¿ß½« «Γ¬αδΓδσ »«Γ«¬«ó.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fflush
-
-
- fmod ÄæÆÇÆÄè ÄÆ äàïàìêƒ äéôò ùêæàï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double f mod (double x, double y);
-
- Ä»¿ßá¡¿Ñ:
-
- fmod óδñáÑΓ ó »½áóáεΘѼ Σ«α¼áΓÑ «ßΓáΓ«¬ «Γ ñѽѡ¿∩ «ñ-
- ¡«ú« τ¿ß½á ¡á ñαπú«Ñ. Ä¡á ó«ºóαáΘáÑΓ x, Ñß½¿ «¡ ¡«½∞,
- ½¿í« τ¿ß½« F ß ΓѼ ªÑ º¡á¬«¼, τΓ« π x, - ΓᬫÑ, τΓ«
- x = L*y + F ñ½∩ ¡Ñ¬«Γ«α«ú« µÑ½«ú« L ¿ |F| < |y|.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main ()
- {
- double x, y, d;
- x = 5.0; y = 3.0;
- d = fmod (x,y);
- printf("fmod(%.2f, %.2f) = %f\n,x,y,d);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- fmode ó«ºóαáΘáÑΓ «ßΓáΓ«¬ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ceil, floor, modf
-
- fopen ÄÆèɢƣ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- FILE *fopen(char *name, char *mode); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÄΓ¬αδóáÑΓ Σá⌐½, ºáñá¡¡δ⌐ ¿¼Ñ¡Ñ¼ name. Mode ÑßΓ∞ ßΓ᫬á
- ß¿¼ó«½«ó, π¬áºδóáεΘá∩ αѪ¿¼ ñ«ßΓπ»á ¬ Σá⌐½π. 髺¼«ª¡δÑ
- º¡áτÑ¡¿∩ mode:
-
- `r' - ñ½∩ τΓÑ¡¿∩
- `w' - ñ½∩ ºá»¿ß¿ (Ñß½¿ Σá⌐½ ßπΘÑßΓóπÑΓ, «¡ «íαѺá-
- ÑΓß∩ »« ¡áτá½π)
- `a' - ñ½∩ ñ«íáó½Ñ¡¿∩ (Ñß½¿ Σá⌐½ ßπΘÑßΓóπÑΓ, Γ«
- «Γ¬αδóáÑΓß∩ ñ½∩ ºá»¿ß¿ ó ¬«¡Ñµ Σá⌐½á, ¿¡áτÑ
- «¡ ß«ºñáÑΓß∩)
- `r+' - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿
- `w+' - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ (Ñß½¿ Σá⌐½ ßπΘÑßΓóπÑΓ,
- «¡ «íαѺáÑΓß∩, ¿¡áτÑ «¡ ß«ºñáÑΓß∩)
- `a+' - ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿ (Ñß½¿ Σá⌐½ ßπΘÑßΓóπÑΓ,
- »α«¿ºó«ñ¿Γß∩ »«º¿µ¿«¡¿α«óá¡¿Ñ ó ¬«¡Ñµ Σá⌐½á,
- ¿¡áτÑ «¡ ß«ºñáÑΓß∩)
-
- ä«»«½¡¿Γѽ∞¡« ó ßΓ᫬π mode ¼«ªÑΓ íδΓ∞ ñ«íáó½Ñ¡ ß¿¼ó«½
- `b' ñ½∩ «Γ¬αδΓ¿∩ Σá⌐½á ó ñó«¿τ¡«¼ αѪ¿¼Ñ (π¼«½τá¡¿Ñ ºá-
- ñáÑΓ ΓѬßΓ«óδ⌐ αѪ¿¼). àß½¿ Σá⌐½ «Γ¬αδΓ ¿ ñ½∩ τΓÑ¡¿∩ ¿
- ñ½∩ ºá»¿ß¿, Γ«½∞¬« τΓÑ¡¿Ñ ¿½¿ Γ«½∞¬« ºá»¿ß∞ ¼«ªÑΓ óδ-
- »«½¡∩Γ∞ß∩. ùΓ«íδ »ÑαѬ½ετ¿Γ∞ß∩ «Γ τΓÑ¡¿∩ ¬ ºá»¿ß¿ ¿½¿
- ¡á«í«α«Γ, ¡Ñ«íσ«ñ¿¼« óδºóáΓ∞ fseek() »α¿¼Ñ¡¿Γѽ∞¡« ¬
- ñá¡¡«¼π »«Γ«¬π, Ñß½¿ Γ«½∞¬« »α¿ τΓÑ¡¿¿ (óó«ñÑ) ¡Ñ íδ½
- óßΓαÑτÑ¡ »α¿º¡á¬ EOF (ànd Of File) ¬«¡µá Σá⌐½á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- FILE *fp;
- fp = fopen("file.dat", "r");
- printf("ÄΓ¬α뫨 ΓѬßΓ«óδ⌐ Σá⌐½\n");
- if (fp) fclose(fp);
- fp = fopen("CON", "wb");
- printf("çóπ¬«ó«⌐ ß¿ú¡á½\n");
- fputc(0x07, fp);
- if (fp) fclose(fp);
- fp = fopen("CON", "rb");
- printf("éóÑñ¿ΓÑ ßΓ᫬π\n");
- if (fp && fgetc(fp)==3);
- printf("\n éóÑñÑ¡« Ctrl-C\n");
- if (fp) fclose(fp);
- fp = fopen("PRN", "w");
- printf("Å¿ΦѼ ¡á »α¿¡ΓÑα\n");
- if (fp) fclose(fp);
- fp = fopen("file.dat", "a+");
- printf("Äí¡«ó½∩Ѽ Σá⌐½ ó ¬«ñÑ ASCII\n");
- if (fp) fclose(fp);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á FILE ñ½∩ «Γ¬αδΓ«ú« Σá⌐½á.
- ç¡áτÑ¡¿Ñ NULL π¬áºδóáÑΓ ¡á ¡á½¿τ¿Ñ «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fclose, freopen, open
-
-
- FP_OFF, FP_SEG æàâîàìÆ, æîàÖàìêà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- unsigned FP_OFF(int far *long_pointer);
- unsigned FP_SEG(void far *long_pointer);
-
- Ä»¿ßá¡¿Ñ:
-
- FP_OFF ¿ FP_SEG ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿ºó½ÑτÑ¡¿∩ ¿º ñá½∞-
- ¡Ñú« π¬áºáΓѽ∩ ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩. ¥Γ¿ Σπ¡¬µ¿¿ αÑ὿-
- º«óá¡δ ¬á¬ ¼á¬α«ßδ.
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- #include <stdio.h>
- main()
- {
- char far *p;
- unsigned int segment, offset;
- p = MK_FP(0xb000, 0);
- segment = FP_SEG(p);
- offset = FP_OFF(p);
- printf("æÑú¼Ñ¡Γ ñ½∩ ¼«¡«ó¿ñÑ«:
- ßÑú¼Ñ¡Γ:ß¼ÑΘÑ¡¿Ñ = %04x:%04\n", segment, offset);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- FP_SEG ó«ºóαáΘáÑΓ 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩ ßÑú-
- ¼Ñ¡Γ¡«⌐ τáßΓ∞ε ñá½∞¡Ñú« π¬áºáΓѽ∩.
- FP_OFF ó«ºóαáΘáÑΓ 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩
- ß¼ÑΘÑ¡¿Ñ¼ ó úαá¡¿µáσ ßÑú¼Ñ¡Γá ñá½∞¡Ñú« π¬áºáΓѽ∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ MK_FP.
-
-
- fprintf öÄÉîÇÆì¢ë é¢éÄä é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- int fprintf(FILE *stream, const char * format,...);
- /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÄßπΘÑßΓó½∩ÑΓ Σ«α¼áΓ¿α«óá¡¡δ⌐ óδó«ñ ó ߻ѵ¿Σ¿µ¿α«óá¡¡δ⌐
- »«Γ«¬. Ä»¿ßá¡¿Ñ format ß«ó»áñáÑΓ ß á¡á½«ú¿τ¡δ¼ «»¿ßá-
- ¡¿Ñ¼ ñ½∩ printf.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- fprintf(stdout, "¥Γ« »α¿¼Ñα\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¬«½¿τÑßΓó« ºá»¿ßá¡¡δσ ½¿ΓÑα ½¿í« «Γα¿µáΓÑ-
- ½∞¡«Ñ º¡áτÑ¡¿Ñ ó ß½πτáÑ «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ printf, sprintf, vfprintf.
-
-
- fputc çÇÅêæ£ üÇëÆÇ é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fputc (int c, FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çỿßδóáÑΓ íá⌐Γ `c' ó »«Γ«¬ fp.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- FILE * fp;
- main()
- {
- char * line = "¥Γ« »α¿¼Ñα";
- fp = stdout;
- while (*line)
- fputc (*line++, fp);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ íá⌐Γ, ºá»¿ßá¡¡δ⌐ ó »«Γ«¬. é ß½πτáÑ «Φ¿í¬¿
- ó«ºóαáΘáÑΓ EOF.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fgetc, getc, getchar.
-
-
- fputs çÇÅêæ£ æÆÉÄèê é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fputs(char *s, FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çỿßδóáÑΓ ßΓ᫬π 's', ¿ß¬½ετá∩ ºáóÑαΦáεΘπε ½¿ΓÑαπ Ä,
- ó »«Γ«¬ fp
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- if (fputs("Hello World\n", stdout)==-1)
- fprintf(stderr, "ÄΦ¿í¬á óδó«ñá\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿ ¡Ñ 0 »α¿ «Φ¿í¬Ñ ºá»¿ß¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fgets, gets, puts.
-
-
- fread ùêÆÇÆ£ êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fread(void * p, unsigned sizelem, unsigned n,
- FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ù¿ΓáÑΓ n φ½Ñ¼Ñ¡Γ«ó ¿º »«Γ«¬á fp ó ¼áßß¿ó »« π¬áºáΓѽε
- p; sizelem - αẼÑα φ½Ñ¼Ñ¡Γá ¼áßß¿óá ó íá⌐Γáσ.
-
- Åα¿¼Ñα:
-
-
- #include <stdlib.h>
- main()
- {
- char *dest;
- int size=1;
- int number=256, numread;
- FILE *fp;
- if ((fp=fopen("file.dat", "r"))==NULL)
- return;
- dest=calloc(256,1);
- numread=fread(dest, size, number, fp);
- printf("éßÑú« »α«τ¿Γá¡« %d\n", numread);
- fprintf(stdout, "Åα«τ¿Γá¡¡δÑ ñá¡¡δÑ\n, %s", dest);
- free(dest);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¬«½¿τÑßΓó« »«½¡«ßΓ∞ε »α«τ¿Γá¡¡δσ φ½Ñ¼Ñ¡Γ«ó.
- é ß½πτáÑ «Φ¿í¬¿ ¿½¿ óßΓαÑτ¿ ¬«¡µá Σá⌐½á ó«ºóαáΘáѼ«Ñ
- º¡áτÑ¡¿Ñ íπñÑΓ ¼Ñ¡∞ΦÑ n.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fwrite, read
-
-
-
- free ÄæéÄüÄäêÆ£ ÅÇîƒÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- int free(void *p); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- Äßó«í«ªñáÑΓ »á¼∩Γ∞ »« π¬áºáΓѽε p. ¥Γá »á¼∩Γ∞ ñ«½ª¡á
- íδΓ∞ óδñѽѡá αá¡ÑÑ ß ¿ß»«½∞º«ó᡿Ѽ Σπ¡¬µ¿⌐ calloc,
- malloc ¿½¿ realloc. àß½¿ p = NULL, free íѺñÑ⌐ßΓóπÑΓ.
- àß½¿ íδ½ ¿ß»«½∞º«óá¡ Σ½áú ¬«¼»¿½∩Γ«αá ßΓα«ú«⌐ ANSI ß«-
- ó¼ÑßΓ¿¼«ßΓ¿, Γ« free ó«ºóαáΘáÑΓ void (Γ. Ñ. ¡Ñ ó«ºóαá-
- ΘáÑΓ º¡áτÑ¡¿∩).
-
- ÅαÑñ«ßΓÑαѪѡ¿Ñ: ¡Ñ «ßó«í«ªñá⌐ΓÑ ñá¡¡δÑ í«½ÑÑ «ñ¡«ú« αáºá,
- ¡Ñ αáí«Γá⌐ΓÑ ß «ßó«í«ªñÑ¡¡δ¼¿ ñá¡¡δ¼¿.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- char * p:
- if ((p = malloc(1000))==NULL)
- printf("ìÑ ¼«úπ «ΓóÑßΓ¿ »á¼∩Γ∞\n");
- if (free(p) == -1)
- abort(); /* ùΓ«-Γ« πªáß¡« »½«σ« */
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿½¿ -1, Ñß½¿ ¿ß»«ατÑ¡
- ¼Ñσá¡¿º¼ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε ¿½¿ p «Φ¿í«τ¡«. ç¡áτÑ-
- ¡¿Ñ -1 π¬áºδóáÑΓ ¡á ¡á½¿τ¿Ñ ßÑα∞Ѻ¡«⌐ «Φ¿í¬¿ ó »α«ú-
- αá¼¼Ñ. free ¿ú¡«α¿απÑΓ ¡ÑßπαạδÑ π¬áºáΓѽ¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ calloc, malloc, realloc.
-
-
- freopen ÄÆèɢƣ öÇëï ÅÄéÆÄÉìÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- FILE *freopen(char *name, char *mode, FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çá¬αδóáÑΓ Σá⌐½ fp. ÄΦ¿í¬¿ »α¿ ºá¬αδΓ¿¿ Σá⌐½á ¿ú¡«α¿απ-
- εΓß∩. ÄΓ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½ ¿ ßó∩ºδóáÑΓ ß ¡¿¼ »«Γ«¬ fp.
- Name ¿ mode ¿¼Ñεà ëà ªÑ ß¼δß½, τΓ« «»αÑñѽѡ ó fopen.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- fp = freopen("file.dat", "w+", stdout);
- if (fp == NULL)
- fprintf(stderr, "ÄΦ¿í¬¿ »α¿ freopen\n");
- else
- fprintf(fp, "¥Γ¿ ñá¡¡δÑ »«⌐ñπΓ ó file.dat\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- é ß½πτáÑ πß»Ñσá ó«ºóαáΘáÑΓ fp, ¿¡áτÑ NULL.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fclose, fopen, open.
-
-
- frexp ¥èæÅÄìàìûêÇï£ìÄà ÅÉà俯Çéïàìêà
-
- êß»«½∞º«óáÑ¡¿Ñ:
-
- #include <math.h>
- double frexp(double value, int *eptr); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑñßΓáó½∩ÑΓ º¡áτÑ¡¿Ñ ñó«⌐¡«⌐ Γ«τ¡«ßΓ¿ value ó ó¿ñÑ
- ¼á¡Γ¿ßßδ x ¿ »«¬áºáΓѽ∩ e, ΓᬠτΓ« value==x*2**e,
- x>.5 ¿ x<=1.0. e ºá»«¼¿¡áÑΓß∩ »« eptr, á º¡áτÑ¡¿Ñ x
- ó«ºóαáΘáÑΓß∩ ¬á¬ αѺπ½∞ΓáΓ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double d1,d2;
- int i;
- d2=15.3;
- d1=frexp(d2,&i);
- printf("d1=%f i=%d\n", d1, i);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¼á¡Γ¿ßßπ φ¬ß»«¡Ñ¡µ¿á½∞¡«ú« »αÑñßΓáó½Ñ¡¿∩ (x).
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ldexp, modt.
-
-
- fscanf öÄÉîÇÆì¢ë ééÄä êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fscanf(FILE *fp, char *format,...) /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ù¿ΓáÑΓ ½¿ΓÑαδ ¿º óσ«ñ¡«ú« »«Γ«¬á fp. æτ¿Γá¡¡δÑ ½¿ΓÑαδ
- »αÑ«íαáºπεΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐ Σ«α¼áΓá. ÅαÑ-
- «íαẫóá¡¡δÑ ½¿ΓÑαδ ºá»«¼¿¡áεΓß∩ »« π¬áºá¡¡δ¼ áαúπ¼Ñ¡-
- Γá¼-π¬áºáΓѽ∩¼. ÄΓ¼ÑΓ¿¼, τΓ« áαúπ¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬á-
- ºáΓѽ∩¼¿, »« ¬«Γ«αδ¼ fscanf ºá»¿ΦÑΓ óóÑñÑ¡¡δÑ º¡áτÑ¡¿∩
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- char fst[10], *lst=" ";
- int ttl;
- main()
- {
- int rt;
- rt = fscanf(stdin, "%s %s %d",fst,lst,&ttl);
- return rt=3;
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¬«½¿τÑßΓó« πß»ÑΦ¡« »α«óÑñÑ¡¡δσ »αÑ«íαẫ-
- óá¡¿⌐. Åα«µÑßß ºá¬á¡τ¿óáÑΓß∩ »α¿ óßΓαÑτÑ »Ñαó«⌐ ¡Ñ-
- »«ñσ«ñ∩ΘÑ⌐ ½¿ΓÑαδ ¿½¿ »α¿º¡á¬á ¬«¡µá Σá⌐½á (EOF).
- 쫽∞ ¡á óδσ«ñÑ «º¡áτáÑΓ, τΓ« ¡Ñ «íαáí«Γá¡« ¡¿ «ñ¡«ú«
- »«½∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ scanf.
-
-
- fseek ÅÄçêûêÄìêÉÄéÇÆ£ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- #include <io.h>
- int fseek(FILE *fp,long offset,int origin); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ôßΓá¡áó½¿óáÑΓ »«º¿µ¿ε ó Σá⌐½Ñ, ßó∩ºá¡¡¡«¼ ß »«Γ«¬«¼ fp.
- æ¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ∩ó½∩ÑΓß∩ óѽ¿τ¿¡«⌐ ß« º¡á¬«¼ ¿ íÑαÑΓ-
- ß∩ «Γ¡«ß¿Γѽ∞¡« origin. ç¡áτÑ¡¿∩ origin «»αÑñѽѡδ ó
- io.h Σá⌐½Ñ:
-
- SEEK_SET - ¡áτὫ Σá⌐½á
- SEEK_CUR - ΓѬπΘá∩ »«º¿µ¿∩
- SEEK_END - ¬«¡Ñµ Σá⌐½á
-
- àß½¿ Σá⌐½ «Γ¬αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ß¼ÑΘÑ¡¿Ñ ¼«ªÑΓ
- íδΓ∞ Γ«½∞¬« º¡áτÑ¡¿Ñ¼, ó«ºóαáΘÑ¡¡δ¼ ftell, á origin
- ñ«½ª¡« íδΓ∞ 0, ¿½¿ offset ñ«½ª¡« íδΓ∞ 0. àß½¿ ¡Ñ»«ß-
- αÑñßΓóÑ¡¡« »ÑαÑñ óδº«ó«¼ fseek αáí«Γá½á ungetc, ÑÑ
- αѺπ½∞ΓáΓδ ΓÑα∩εΓß∩. àß½¿ Σá⌐½ íδ½ «Γ¬αδΓ ó αѪ¿¼Ñ
- τΓÑ¡¿∩/ºá»¿ß¿, ß½Ññ«¼ ºá fseek ¼«ª¡« óδ»«½¡¿Γ∞ τΓÑ¡¿Ñ
- ¿½¿ ºá»¿ß∞.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- main()
- {
- FILE *fp;
- fp = fopen("file.dat", "r+");
- fseek(fp, 0L, SEEK_END); /* ÅÑαÑ⌐Γ¿ ó ¬«¡Ñµ Σá⌐½á */
- fseek(fp, 0L, SEEK_SET); /* ÅÑαÑ⌐Γ¿ ó ¡áτὫ Σá⌐½á */
- fseek(fp, 20L, SEEK_SET); /* ÅÑαÑ⌐Γ¿ ¡á ß¼ÑΘÑ¡¿Ñ 200 */
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó
- ß½πτáÑ «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ftell, lseek.
-
-
- fstat éçƒÆ£ æÆÇÆôæ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <sys\stat.h>
- int fstat(int fd, struct stat *buf);
-
- Ä»¿ßá¡¿Ñ:
-
- êºó½Ñ¬áÑΓ ¿¡Σ«α¼áµ¿ε «Γ¡«ß¿Γѽ∞¡« «Γ¬αδΓ«ú« Σá⌐½á fd ¿
- ºá»«¼¿¡áÑΓ ÑÑ ó ßΓαπ¬ΓπαÑ stat »« π¬áºáΓѽε buf. æΓαπ¬-
- Γπαá ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
-
- st_dev - ¡«¼Ñα ñ¿ß¬«ó«ú« πßΓα«⌐ßΓóá ß Σá⌐½«¼ fd
- ¿½¿ º¡áτÑ¡¿Ñ fd, Ñß½¿ fd ∩ó½∩ÑΓß∩ πßΓ-
- α«⌐ßΓó«¼
-
- st_mode - í¿Γ«óá∩ ¼á߬á, ß«ñÑαªáΘá∩ ¿¡Σ«α¼áµ¿ε
- «í «Γ¬αδΓ¿¿ Σá⌐½á:
-
- S_IFCHR - Ñß½¿ fd ∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó«¼
- S_IFREG - Ñß½¿ fd - «íδτ¡δ⌐ Σá⌐½
- S_IREAD - Ñß½¿ Σá⌐½ «Γ¬αδΓ »« τΓÑ¡¿ε
- S_IWRITE - Ñß½¿ Σá⌐½ «Γ¬αδΓ »« ºá»¿ß¿
-
- st_nlink - óßÑúñá 1
-
- st_rdev - Γ« ªÑ, τΓ« ¿ st_dev
-
- st_size - αẼÑα Σá⌐½á ó íá⌐Γáσ
-
- st_atime - óαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿
-
- st_ctime - Γ« ªÑ, τΓ« ¿ st_atime
-
- st_mtime - Γ« ªÑ, τΓ« ¿ st_atime
-
- Æα¿ ¡Ñ π»«¼∩¡πΓδσ óδΦÑ »«½∩: st_ino, st_vid, st_did, -
- ¡Ñ ¿¼ÑεΓ ß¼δß½á ó DOS. Ä¡¿ πßΓá¡«ó½Ñ¡δ ó 0 ¿ «íÑß»Ñτ¿-
- óáεΓ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß UNIX.
-
- çá¼Ñτá¡¿Ñ: fstat ¡Ñ ¼«ªÑΓ íδΓ∞ óδºóá¡ ¿º C++ »α«úαá¼¼δ
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- #include <sys\stat.h>
- #include <stdio.h>
- #include <io.h>
- #include <time.h>
- #include <errno.h>
- struct stat buf;
- int fh, result;
- main()
- {
- fh=open("file.dat", O_RDONLY);
- result=fstat("fh, &buf");
- if (result !=0)
- printf("Ž«σ ñÑß¬α¿»Γ«α Σá⌐½á\n");
- else
- {
- printf("ÉẼÑα Σá⌐½á: %ld\n", buf.st_size);
- printf("쫼Ñα πßΓα«⌐ßΓóá: %d\n", buf.st_dev);
- printf("éαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿: %s",
- ctime(&buf.st_atime));
- }
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0, Ñß½¿ ¿¡Σ«α¼áµ¿∩ πß»ÑΦ¡« ¿ºó½ÑτÑ¡á, ¿ -1,
- Ñß½¿ »½«σ ñÑß¬α¿»Γ«α Σá⌐½á, ß πßΓá¡«ó¬«⌐ errno ó EBADF.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ stat, findfirst, findnext, isatty.
-
-
- ftell äÇÆ£ ÅÄçêûê₧ é öÇëïà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- long ftell(FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ, ßó∩ºá¡¡«¼ ß »«Γ«-
- ¬«¼ fp. àß½¿ Σá⌐½ «Γ¬αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ó«ºóαáΘá-
- Ѽ«Ñ º¡áτÑ¡¿Ñ ¼«ªÑΓ ¡Ñ «ΓαáªáΓ∞ Γ«τ¡«ú« ¬«½¿τÑßΓóá
- ñÑ⌐ßΓó¿Γѽ∞¡« ßτ¿Γá¡¡δσ ¿½¿ ºá»¿ßá¡¡δσ íá⌐Γ«ó.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- long position;
- FILE *fp;
- main()
- {
- fp=fopen("file.dat", "a");
- fprintf(fp, "Åα¿¼Ñα ßΓ᫬¿ ñá¡¡δσ\n");
- position=ftell(fp); /* íÑαѼ »«º¿µ¿ε ó Σá⌐½Ñ */
- printf("ÆÑ¬πΘá∩ »«º¿µ¿∩ ó Σá⌐½Ñ: %ld\n", position);
- fclose(fp);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ ¿½¿ -1, Ñß½¿ óßΓαÑ-
- Γ¿½áß∞ «Φ¿í¬á, ß πßΓá¡«ó½Ñ¡¿Ñ¼ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fseek, isatty.
-
-
- fwrite ÅêæÇÆ£ é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fwrite(void *buffer, unsigned sizelem, unsigned n,
- FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çỿßδóáÑΓ n φ½Ñ¼Ñ¡Γ«ó αẼÑα«¼ sizelem íá⌐Γ«ó ¬áªñδ⌐
- ¿º buffer ó »«Γ«¬ fp.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- char *buffer;
- unsigned sizelem, n;
- FILE *fp;
- int wrtn;
- buffer=calloc(255,1);
- sizelem=1;
- n=255;
- fp=fopen("file.dat", "a");
- strcpy(buffer, "\n Åα¿¼Ñα ñá¡¡δσ\n");
- wrtn=fwrite(buffer, sizelem, n, fp);
- free(buffer);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¬«½¿τÑßΓó« »«½¡«ßΓ∞ε ºá»¿ßá¡¡δσ φ½Ñ¼Ñ¡Γ«ó,
- ¬«Γ«α«Ñ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ n, Ñß½¿ ¿¼Ñ½á ¼ÑßΓ« «Φ¿í¬á.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fread, write
-
-
- getc, getchar, getche, getch éçƒÆ£ üÇëÆ êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h> /* getc(), getchar() */
- #include <conio.h> /* getche(), getch() */
- int getc(FILE *fp); /* ANSI */
- int getchar(void); /* ANSI */
- int getche(void);
- int getch(void);
-
- Ä»¿ßá¡¿Ñ:
-
- getc ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á fp.
- getchar ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á stdin.
- getche ¿ºó½Ñ¬áÑΓ «ñ¿¡ íá⌐Γ ¿º »«Γ«¬á stdin ¿ óδñáÑΓ
- φσ«, Γ.Ñ. óδó«ñ¿Γ íá⌐Γ ó stdout. ¥Γá »α«µÑñπαá ó«ºóαá-
- ΘáÑΓ º¡áτÑ¡¿Ñ, ¬á¬ Γ«½∞¬« íá⌐Γ óóÑñÑ¡, ¡Ñ «ª¿ñá∩ ¡áªá-
- Γ¿∩ ¬½áó¿Φ¿ <RETURN>.
- getch, ó «Γ½¿τ¿Ñ «Γ getche, ¡Ñ «íÑß»Ñτ¿óáÑΓ φσ«-óδó«ñá
- ó stdout.
-
- getche ¿ getch «íαáΘáεΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¬ MS DOS.
- Ä¡¿ «íσ«ñ∩Γß∩ íѺ ¡«α¼á½∞¡«⌐ íπΣÑα¿ºáµ¿¿, ¿ß»«½∞ºπѼ«⌐
- getchar ¿ getc.
-
- çÇîàùÇìêà: ungetc ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ß«ó¼ÑßΓ¡« ß getch
- ¿ getche.
-
- Åα¿¼Ñα:
-
- #include <conio.h>
- #include <stdio.h>
- main()
- {
- int c;
- printf("éóÑñ¿ΓÑ ½¿ΓÑαπ ¿ ºáΓѼ ¡áª¼¿ΓÑ RETURN:");
- c=getchar();
- printf("Æ« íδ½ »α¿¼Ñα ß getchar\n");
- getc(stdin);
- printf("éóÑñ¿ΓÑ ½¿ΓÑαπ: ");
- c=getche();
- printf("Æ« íδ½ »α¿¼Ñα ß getche\n");
- printf("H᪼¿ΓÑ ¡á Σπ¡¬µ. ¬½áó¿Φπ ¿ »«Γ«¼ ¡á ½¿ΓÑαπ");
- c=getch();
- printf("\n ï¿ΓÑαá [%c] - »α¿¼Ñα ß getch",c);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- èáªñá∩ ¿º Σπ¡¬µ¿⌐ ó«ºóαáΘáÑΓ »α«τ¿Γá¡¡δ⌐ íá⌐Γ. getc ¿
- getchar ó«ºóαáΘáεΓ EOF ó ß½πτáÑ «Φ¿í¬¿. getch ¿ getche
- ¿ú¡«α¿απεΓ «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fgetc, putc, putchar, ungetc.
-
-
-
- getcwd äÇÆ£ ÆàèôÖêë èÇÆÇïÄâ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <direct.h>
- char *getcwd(char *buffer, int length);
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ ¿¼∩ πßΓα«⌐ßΓóá ¿ «»¿ßá¡¿Ñ »πΓ¿ ¬ ΓѬπΘѼπ
- ¬áΓὫúπ ó ºáñá¡¡«¼ íπΣÑαÑ. àß½¿ buffer αáóÑ¡ NULL, Γ«
- getcwd óδºδóáÑΓ malloc() ß ºá∩ó¬«⌐ ¡á »á¼∩Γ∞ αẼÑα«¼
- length íá⌐Γ«ó. Length ∩ó½∩ÑΓß∩ ñ½¿¡«⌐ buffer, ¬«Γ«αδ⌐
- ñ«½ªÑ¡ íδΓ∞ ñ«ßΓáΓ«τ¡« í«½∞Φ¿¼, τΓ«íδ ó¬½ετ¿Γ∞ ¿¡Σ«α¼á-
- µ¿ε ó¼ÑßΓÑ ß ºá¬½ετ¿Γѽ∞¡δ¼ 0.
-
- Åα¿¼Ñα:
-
- #include <direct.h>
- #include <stdio.h>
- main()
- {
- char buff[66];
- if (getcwd(buff, sizeof(buff))==NULL)
- perror("«Φ¿í¬á getcwd");
- else
- printf("%s", buff);
- }
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óΘáÑΓ buffer ó ß½πτáÑ πß»Ñσá ¿ NULL ó ß½πτáÑ «Φ¿í¬¿,
- c πßΓá¡áó½Ñ¡¿Ñ¼ errno ó «ñ¡« ¿º º¡áτÑ¡¿⌐:
-
- ENOMEM - ¿ßτÑα»á¡¿Ñ »á¼∩Γ¿
- ERANGE - «»¿ßá¡¿Ñ »πΓ¿ ñ«ßΓπ»á ñ½¿¡¡ÑÑ, τѼ
- length-1.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ chdir, mkdir, rmdir.
-
-
- getDS éçƒÆ£ çìÇùàìêà ÉàâêæÆÉÇ DS
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int getDS(void);
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS (Data segment - ßÑú¼Ñ¡Γ
- ñá¡¡δσ).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- main()
- {
- unsigned int data_seg;
- data_seg = getDS();
- printf("ÆÑ¬πΘÑÑ ß«ñÑন¼«Ñ DS αáó¡« %x\n", data_seg);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ segread.
-
-
- getenv äÇÆ£ ÄèÉôåàìêà
-
- êß»«½∞º«óá¡¿Ñ:
-
- char getenv(char *name); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÄΓδ߬¿óáÑΓ ó ß»¿ß¬Ñ »ÑαѼѡ¡δσ «¬απªÑ¡¿∩ ßΓ᫬π ó¿ñá
- <NAME>=<value> ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π value,
- Ñß½¿ NAME ¡á⌐ñÑ¡á. æΓ᫬á <NAME> ñ«½ª¡á íδΓ∞ ¡áíαá¡á
- ºáú½áó¡δ¼¿ íπ¬óἿ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- char *path;
- path = getenv("PATH");
- printf("PATH = %s\n", path);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓα«¬π º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐
- «¬απªÑ¡¿∩. é ß½πτáÑ, Ñß½¿ «¬απªÑ¡¿Ñ ¡Ñ ß«ñÑαª¿Γ π¬á-
- ºá¡¡«ú« ¿¼Ñ¡¿, ó«ºóαáΘáÑΓ NULL.
-
-
- gets ééÄä æÆÉÄèê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- char *gets(char *str); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- æτ¿ΓδóáÑΓ íá⌐Γδ ¿º »«Γ«¬á stdin ó ßΓ᫬π str ñ« ΓÑσ
- »«α, »«¬á ¡Ñ óßΓαÑΓ¿Γ »α¿º¡á¬ ¡«ó«⌐ ßΓ᫬¿ ¿½¿ ¬«¡µá
- Σá⌐½á. Åਧ¡á¬ "¡«óá∩ ßΓ᫬á"(newline) ¡Ñ ºá»¿ßδóáÑΓß∩
- ó ßΓ᫬π. æΓα«¬á ºáóÑαΦáÑΓß∩ 0. æΓ᫬á ñ«½ª¡á íδΓ∞ ñ«-
- ßΓáΓ«τ¡« í«½∞Φ«⌐, τΓ«íδ ó¼ÑßΓ¿Γ∞ αѺπ½∞ΓáΓ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- char buffer[125];
- printf("ìáíÑα¿ΓÑ ßΓ᫬π:");
- gets(buffer);
- printf("üδ½á óóÑñÑ¡á ßΓ᫬á: %s\n", buffer);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ str. é ß½πτáÑ «Φ¿í¬¿ τΓÑ¡¿∩ ¿½¿ »α¿ óßΓαÑτÑ
- ¬«¡µá Σá⌐½á ó ¡áτá½Ñ τΓÑ¡¿∩ ó«ºóαáΘáÑΓ NULL.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fgets, puts.
-
-
- hypot âêÅÄÆàìôçÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double hypot(double x, double y);
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ ñ½¿¡π ú¿»«ΓÑ¡πºδ »α∩¼«πú«½∞¡«ú« ΓαÑπú«½∞¡¿¬á
- ß« ßΓ«α«¡á¼¿ x, y. â¿»«ΓÑ¡πºá ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼,
- »«½πτÑ¡¡δ¼ óδτ¿ß½Ñ¡¿Ñ¼ ¬óáñαáΓ¡«ú« ¬«α¡∩ ¿º (x*x+y*y).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double x, y;
- printf("éóÑñ¿ΓÑ »½áóáεΘÑÑ x:");
- scanf("lf", &x);
- printf("éóÑñ¿ΓÑ »½áóáεΘÑÑ y:");
- scanf("lf", &y);
- printf("â¿»«ΓÑ¡πºá ¡á ¬áΓÑΓáσ [%f, %f] αáó¡á [%f]\n",
- x, y, hypot(x,y));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 使¡á ú¿»«ΓÑ¡πºδ, »«ßΓα«Ñ¡¡«⌐ ¡á ¬áΓÑΓáσ x, y.
-
-
- index ìÇëÆê ïêÆàÉô é æÆÉÄèà
-
- êß»«½∞º«óá¡¿Ñ:
-
- char *index(char *s, int c);
-
- Ä»¿ßá¡¿Ñ:
-
- ÄΓδ߬¿óáÑΓ »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ½¿ΓÑαδ `c' ó ßΓ᫬π `s'.
- ¥Γá Σπ¡¬µ¿∩ ¿ñÑ¡Γ¿τ¡á strchr.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char string2[50] = "2 »α¿¼Ñα ßΓ᫬¿";
- main()
- {
- printf("\n Åα¿¼Ñα ¡á index %s \n",
- index(string2, '¿'));
- }
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á `c', Ñß½¿ `c' ¡á⌐ñÑ¡á ó ßΓ᫬Ñ
- `s', ¿ NULL ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ strchr, strcpy, strcmp, strrchr.
-
-
- inp, inpw ééÄä êç ÅÄÉÆÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- int inp(int port_address);
- int inpw(int port_address);
-
- Ä»¿ßá¡¿Ñ:
-
- ÄíÑß»Ñτ¿óáεΓ ¿¡ΓÑαΣÑ⌐ß æ ß á»»áαáΓ¡δ¼¿ »«αΓἿ 8086,
- αÑ὿ºπ∩ ¬«¼á¡ñδ 8086 in ¿ out «í¼Ñ¡á ß »«αΓἿ.
-
- inp: ßτ¿ΓδóáÑΓ íá⌐Γ ¿º π¬áºá¡¡«ú« »«αΓá.
- inpw: ßτ¿ΓδóáÑΓ ß½«ó« ¿º π¬áºá¡¡«ú« »«αΓá.
-
- 諼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ó ¬«ñ ß««ΓóÑΓßΓóπεΘ¿Ñ ¬«¼á¡ñδ.
- ¡« ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ« φΓ«ú« "¡áßΓ«∩Θ¿Ñ" «íαáΘÑ-
- ¡¿∩ ¬ Σπ¡¬µ¿∩¼,Ñß½¿ »«¼ÑßΓ¿Γ∞ ó ú«½«ó¡«⌐ Σá⌐½ »«ß½Ñ
- #include <dos.h> «Γ¼Ñ¡π ¼á¬α«»«ñßΓá¡«ó«¬:
- #undef inp ¿ #undef inpw.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ, ßτ¿Γá¡¡«Ñ ¿º ñá¡¡«ú« »«αΓá.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ : outp, outpw.
-
- Åα¿¼Ñα:
-
- /* ¥Γá Σπ¡¬µ¿∩ ó䬽ετ¿Γ MDA ¬παß«α */
- #include <dos.h>
- int porta, portb, bytea, byteb;
- main()
- {
- char result;
- porta = 0x3b4;
- portb = 0x3b5;
- bytea = 10;
- byteb = 32;
- result = inpw(porta);
- printf("ç¡áτÑ¡¿Ñ,»α¿¡∩Ñ«Ñ ¿º »«αΓá bp %x αáó¡«
- %x ΦÑßΓ¡.\n",porta, result);
- outp(porta, bytea);
- outp(portb, byteb);
- }
- /* ¥Γá Σπ¡¬µ¿∩ ó¬½ετ¿Γ MDA ¬παß«α */
- #include <dos.h>
- int porta, portb, bytea, byteb;
- main()
- {
- porta = 0x3b4;
- portf = 0x3b5;
- bytea = 10;
- byteb = 11;
- outp(porta, bytea);
- outp(portb, byteb);
- }
-
-
-
- Interrupt Package Åá¬ÑΓ αáí«Γδ ß »αÑαδóá¡¿∩¼¿
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <int.h>
- void int_getvector(unsigned vector, unsigned *poffset,
- unsigned *psegment);
- int int_intercept(unsigned vector, int (*funcptr)
- (struct INT_DATA *pd), unsigned stacksize);
- void int_off(void);
- void int_on(void);
- int int_restore(unsigned vector);
- void int_setvector(unsigned vector, unsigned offset,
- unsigned segment);
-
- Ä»¿ßá¡¿Ñ:
-
- Åá¬ÑΓ αáí«Γδ ß »αÑαδóá¡¿∩¼¿ ß»α«Ñ¬Γ¿α«óá¡ ¬á¬ «íΘѵѽÑ-
- ó«⌐ »á¬ÑΓ »« π»αáó½Ñ¡¿ε »αÑαδóá¡¿∩¼¿ 8086. ä½∩ ¬áªñ«ú«
- óÑ¬Γ«αá »αÑαδóá¡¿⌐ ¼«ª¡« «»αÑñѽ¿Γ∞ ¡«óπε αÑᬵ¿ε.
- C Σπ¡¬µ¿∩, «íαáíáΓδóáεΘá∩ »αÑαδóá¡¿Ñ, «»αÑñѽ∩ÑΓ, ßó∩-
- ºá¡« ½¿ »αÑαδóá¡¿Ñ ß »αѪ¡¿¼ óÑ¬Γ«α«¼ »αÑαδóá¡¿∩ ¿½¿
- ¡ÑΓ.
-
- int_intercept ßó∩ºδóáÑΓ ßΓá¡ñáαΓ¡πε C - Σπ¡¬µ¿ε
- (*funcptr) ß óÑ¬Γ«α«¼ »αÑαδóá¡¿∩ ñ½∩ «íαáí«Γ¬¿ ñá¡¡«ú«
- »αÑαδóá¡¿∩ »α¿ Ñú« »«∩ó½Ñ¡¿¿. Åáαá¼ÑΓα vector «»αÑ-
- ñѽ∩ÑΓ óÑ¬Γ«α »αÑαδóá¡¿∩ 8086 (0...255), ß ¬«Γ«αδ¼ ßó∩-
- ºδóáÑΓß∩ Σπ¡¬µ¿∩. Çαúπ¼Ñ¡Γ stacksize «»αÑñѽ∩ÑΓ ¬«½¿τÑ-
- ßΓó« íá⌐Γ«ó »á¼∩Γ¿, «Γó«ñ¿¼«⌐ »«ñ ßΓѬ ñ½∩ Σπ¡¬µ¿¿ «í-
- αáí«Γ¬¿. ÉẼÑα ßΓѬá ñ«½ªÑ¡ íδΓ∞ ¡Ñ ¼Ñ¡ÑÑ 256 íá⌐Γ«ó.
-
- àß½¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ (*funcptr)() ó«ºó-
- αáΓ¿Γ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Γ« íπñÑΓ óδºóá¡á »αѪ¡∩∩ Σπ¡¬-
- µ¿∩ «íαáí«Γ¬¿ »αÑαδóá¡¿∩, có∩ºá¡¡á∩ ß φΓ¿¼ óÑ¬Γ«α«¼,
- ¿¡áτÑ óδ»«½¡¿Γß∩ ó«ºóαáΓ ¿º »αÑαδóá¡¿∩.
- ç¡áτÑ¡¿∩ ¿º αÑú¿ßΓα«ó ¼«úπΓ íδΓ∞ ßτ¿Γá¡δ ¿½¿ ºá»¿ßá¡δ
- τÑαѺ π¬áºáΓѽ∞ (*pd) ¡á ßΓαπ¬Γπαπ INT_DATA, ¬«Γ«αδ⌐
- »«ßΓπ»áÑΓ ¬ (*funcptr)(). æπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« »αáó¿½,
- ¬«Γ«αδ¼ ¡Ñ«íσ«ñ¿¼« ß½Ññ«óáΓ∞, ºá¡¿¼á∩ß∞ «íαáí«Γ¬«⌐ »αÑ-
- αδóá¡¿⌐ ¡á C:
-
- 1). ì¿ MS DOS, ¡¿ BIOS ¡Ñ ¼«úπΓ íδΓ∞ óδºóá¡δ ó »α«-
- µÑßßÑ «íαáí«Γ¬¿ »αÑαδóá¡¿∩, Ñß½¿ »α¿ φΓ«¼ ¼«ªÑΓ
- »α«¿º«⌐Γ¿ »αÑαδóá¡¿Ñ. ¥Γ« «íΩ∩ß¡∩ÑΓß∩ ΓѼ, τΓ«
- MS DOS ¿ BIOS ¡Ñ ∩ó½∩εΓß∩ »«óΓ«α¡« óσ«ñ¿¼δ¼¿.
- 2). ìѽ∞º∩ »α¿ «íαáí«Γ¬Ñ »αÑαδóá¡¿∩ ¿½¿ ó óδºóá¡¡«⌐
- «Γßεñá Σπ¡¬µ¿¿ ¿ß»«½∞º«óáΓ∞ ó ßΓÑ¬Ñ »á¼∩Γ¿ í«½∞-
- ΦÑ, τѼ «ΓóÑñÑ¡« »«ñ ßΓѬ.
- 3). ìÑ «íαáΘá⌐ΓÑß∞ ¬ ¬á¬«⌐-½¿í« Σπ¡¬µ¿¿, ¡Ñ ∩ó½∩ε-
- ΘÑ⌐ß∩ »«óΓ«α¡« óσ«ñ¿¼«⌐. (ÉѺπ½∞ΓáΓ íπñÑΓ
- ¡Ñ»αÑñ߬áºπѼ).
- 4). ìÑ»«ºó«½¿Γѽ∞¡« óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐ óó«ñá/óδ-
- ó«ñá ó «íαáí«Γ¬Ñ »αÑαδóá¡¿∩.
- 5). è«úñá ¿ß»«½∞ºπεΓß∩ »ÑαѼѡ¡δÑ, ¿º¼Ñ¡∩ѼδÑ
- »α¿ «íαáí«Γ¬Ñ »αÑαδóá¡¿∩, «íΩ∩ó½∩⌐ΓÑ ¿σ ¬á¬
- `volatile'.
- 6). ÄΓ¬½ετ¿ΓÑ ñ½∩ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ »αÑαδóá¡¿∩ ¬«¡Γ-
- α«½∞ »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá.
-
- int_off ó䬽ετáÑΓ »αÑαδóá¡¿∩ 8086 ¬«¼á¡ñ«⌐ CLI (clear
- interrupt flag).
- int_on ó¬½ετáÑΓ »αÑαδóá¡¿Ñ 8086 ¬«¼á¡ñ«⌐ STI
- (set interrupt flag).
-
- öπ¡¬µ¿∩ int_restore ∩ó½∩ÑΓß∩ «íαáΓ¡«⌐ ¬ int_intercept.
- int_restore «Γ¬½ετáÑΓ »Ñαó«¡áτá½∞¡δ⌐ «íαáí«Γτ¿¬ »αÑαδ-
- óá¡¿⌐, ¬«Γ«αδ⌐ íδ½ »«ñµÑ»½Ñ¡ ¬ π¬áºá¡¡«¼π óÑ¬Γ«απ »«ß-
- αÑñßΓó«¼ int_intercept. Å«φΓ«¼π int_restore ¡Ñ ñ«½ª¡á
- óδºδóáΓ∞ß∩ ñ« «íαáΘÑ¡¿∩ ¬ int_intercept, ßó∩ºδóáεΘÑú«
- (¡«óπε) αÑᬵ¿ε ß φΓ¿¼ óÑ¬Γ«α«¼ »αÑαδóá¡¿⌐.
-
- int_getvector »«½πτáÑΓ ß«ñÑন¼«Ñ π¬áºá¡¡«ú« óÑ¬Γ«αá
- »αÑαδóá¡¿⌐, αẽáúáÑΓ Ñú« ¡á ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ ¿ ºá»«-
- ¼¿¡áÑΓ ¿σ ó »ÑαѼѡ¡δσ psegment ¿ poffset.
-
- int_setvector πßΓá¡áó½¿óáÑΓ áñαÑß »«½∞º«óáΓѽ∞߬«⌐
- »α«µÑñπαδ, ¿ß»«½∞ºπ∩ offset ¿ segment, ó π¬áºá¡¡«¼
- óÑ¬Γ«αÑ »αÑαδóá¡¿⌐.
-
- Åα¿¼Ñα:
-
- #include <int.h>
- volatile int ctrl_c_count = 0;
- int do_ctrl_c();
- main()
- {
- int_intercept(0σ23, do_ctrl_c, 256);
- /* πßΓᡫ󿽿 αÑᬵ¿ε */
- while(ctrl_c_count<3)
- printf("ù¿ß½« Ctrl C αáó¡« %d/n", ctrl_c_count);
- int_restore(0σ23); /* ó«ßßΓᡫ󿽿 ßΓáαπε */
- }
- do_ctrl_c()
- {
- ++ctrl_c_count;
- return 1;
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ int_intercept ¿ int_restore,
- ¿¡ñ¿µ¿απÑΓ πß»Ñσ ¿½¿ ¡Ñπñáτπ. 0 ó«ºóαáΘáÑΓß∩ ó ß½πτáÑ
- πß»Ñσá ¿ -1 ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- ÅÉàäôÅÉàåäàìêà: ÅÑαÑ«»αÑñѽѡ¿Ñ »αÑαδóá¡¿∩ ∩ó½∩ÑΓß∩
- Γ«¡¬«⌐ »α«µÑñπα«⌐, ΓαÑíπεΘÑ⌐ σ«α«-
- ΦÑú« »«¡¿¼á¡¿∩ MS DOS ¿ ßѼÑ⌐ßΓóá
- IBM PC ñ½∩ πß»ÑΦ¡«ú« »α¿¼Ñ¡Ñ¡¿∩.
-
-
- int86, int86x ÅÉÄâÉÇîîìÄà ÅÉàÉ¢éÇìêà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h> /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó */
- int int86(int intnum, union REGS *regsin,
- union REGS *regsout);
- int int86x(intnum, union REGS *regsin,
- union REGS *regsout, struct SREGS *segregs);
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ 8086.
- intnum ∩ó½∩ÑΓß∩ ¡«¼Ñα«¼ »αÑαδóá¡¿∩ (0...255).
-
- regsin ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ß«ñÑαªáΘπε
- º¡áτÑ¡¿∩ αÑú¿ßΓα«ó AX,BX,CX,DX,SI ¿ DI, »«ßΓπ»áεΘ¿σ ß
- »αÑαδó᡿Ѽ.
-
- segregs ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼ ßÑú¼Ñ¡Γ¡δσ αÑú¿ßΓα«ó, »«ß-
- Γπ»áεΘ¿σ ß »αÑαδó᡿Ѽ.
-
- regsout ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ó ¬«Γ«απε ºá-
- »¿ßδóáεΓß∩ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ αÑú¿ßΓα«ó.
-
- æΓαπ¬Γπαδ REGS ¿ SREGS «»αÑñѽѡδ ó dos.h Σá⌐½Ñ. ÄΓßδ-
- ½áѼ éáß ¬ απ¬«ó«ñßΓóá¼ »« á»»áαáΓπαÑ ¿ »α«úαá¼¼¡«¼π
- «íÑß»ÑτÑ¡¿ε ñ½∩ º¡á¬«¼ßΓóá ß ¡«¼ÑαἿ »αÑαδóá¡¿⌐ ¿ ß«-
- «ΓóÑΓßΓóπεΘ¿¼¿ Σπ¡¬µ¿∩¼¿ ¡á éáΦÑ⌐ ¼áΦ¿¡Ñ.
-
- Åα¿¼Ñα:
-
- /* ¥Γá Σπ¡¬µ¿∩ ó«ß»α¿¡¿¼áÑΓ óó«ñ ß ¬½áó¿áΓπαδ ¿ »¿ΦÑΓ
- ßΓ᫬π ¡á φ¬αá¡ »«ßαÑñßΓó«¼ BIOS */
- #include <dos.h>
- #include <stdio.h>
- #define MAXKEY 19
- #define BEEP printf("\007")
- void print(void);
- void biosprt(void);
- char buf [MAXKEY], *ptr;
- int colm = 30, i;
- union REGS r;
- main()
- {
- system("cls");
- printf("éóÑñ¿ΓÑ ßΓα«¬π ¿º 20 ½¿ΓÑα\n\n");
- gets(buf);
- if (strlen(buf) > 20)
- printf("æΓ᫬á ñ½¿¡¡á, «íαѺáѼ\n");
- print();
- }
- void print()
- {
- r.h.ah = 0σ02;
- r.h.bh = 0;
- r.h.dh = 12;
- r.h.d1 = colm;
- int86 (0σ10, &r, &r);
- for (ptr=buf,i=0; i<=MAXKEY; (biosprt()),i++,ptr++);
- }
- void biosprt()
- {
- r.h.ah = 0σ09;
- r.h.al = *ptr;
- r.x.cx = 1;
- r.h.bl = 0σ0f;
- r.h.bh = 0;
- int86(0x10, &r, &r);
- r.h.ah = 0x02;
- r.h.bh = 0;
- r.h.dh = 12;
- r.h.dl = ++colm;
- int86 (0σ10, &r, &r);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáεΓ º¡áτÑ¡¿Ñ αÑú¿ßΓαá AX ó 8086 »« ºáóÑαΦÑ¡¿ε
- »αÑαδóá¡¿∩. æ«ßΓ«∩¡¿Ñ Σ½áúá 'carry' ¼«ª¡« »«½πτ¿Γ∞ ¿º
- x.cflag ó regsout. ìÑ »«½∞ºπ⌐ΓÑß∞ int86 ¿ int86x ñ½∩
- »αÑαδóá¡¿⌐ 0x25 ¿½¿ 0x26. êß»«½∞ºπ⌐ΓÑ ñ½∩ φΓ¿σ µÑ½Ñ⌐
- abs_disk_read/ write.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ intdos, bdos.
-
-
-
- intdos, intdosx æêæÆàîì¢ë é¢çÄé öôìèûêê DOS
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h> /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó */
- int intdos(union REGS *regsin, union REGS *regsout);
- int intdosx(union REGS *regsin, union REGS *regsout,
- struct SREGS *segregs);
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ ß¿ßΓѼ¡δ⌐ ó맮ó DOS (»αÑαδóá¡¿Ñ
- 0x21). ÄΓßδ½áѼ éáß ¬ απ¬«ó«ñßΓóπ »« DOS ºá ñÑΓá½∩¼¿
- «íαáΘÑ¡¿∩ ¿ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿⌐.
-
- regsin ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ß«ñÑαªáΘπε
- º¡áτÑ¡¿∩ αÑú¿ßΓα«ó AX, BX, CX, DX, SI ¿ DI, »«ßΓπ»áε-
- Θ¿Ñ ß »αÑαδó᡿Ѽ.
-
- regsout ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ó ¬«Γ«απε
- íπñπΓ ºá»¿ßá¡δ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ αÑú¿ßΓα«ó.
-
- segregs ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓαπ¬Γπαπ, ß«ñÑαªáΘπε
- ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ, »«ßΓπ»áεΘ¿Ñ ß »αÑαδó᡿Ѽ ñ½∩
- intdosx. ÄíΩÑñ¿¡Ñ¡¿Ñ REGS ¿ ßΓαπ¬Γπαá SREGS «»αÑñѽѡδ
- ó dos.h Σá⌐½Ñ.
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- union REGS inregs, outregs;
- struct SREGS segregs;
- main()
- {
- char far *string = "ÅÑτáΓ∞ φΓ«⌐ ßΓ᫬¿ $";
-
- inregs.h.ah = 9;
- inregs.x.dx = FP_OFF(string);
- segregs.ds = FP_SEG(string);
- intdosx(&inregs, &outregs, &segregs);
- }
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ç¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ í佫 ó AX ¡á ¬«¡Ñµ »αÑαδóá¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ int86, int86x, bdos.
-
-
-
- isatty ÄÅÉàäàïêÆ£ ÆêÅ ÅÄÆÄèÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int isatty (int fd);
-
-
- Ä»¿ßá¡¿Ñ:
-
- Ä»αÑñѽ∩ÑΓ, ßó∩ºá¡ ½¿ ñÑß¬α¿»Γ«α fd ß ΓÑନ¡á½«¼,
- »α¿¡ΓÑα«¼ ¿½¿ »«ß½Ññ«óáΓѽ∞¡δ¼ »«αΓ«¼.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- main()
- {
- if (isatty (fileno(stdin)))
- printf("stdin ßó∩ºá¡ ß ¬½áó¿áΓπα«⌐\n");
- else
- printf("stdin ßó∩ºá¡ ß Σá⌐½«¼\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ πßΓα«⌐ßΓó« ∩ó½∩-
- ÑΓß∩ ΓÑନ¡á½«¼, ¬«¡ß«½∞ε ¿ Γ.ñ., ¿ 0, Ñß½¿ ß τѼ-Γ«
- »«ñ«í¡δ¼ ñ¿ß¬«ó«¼π Σá⌐½π.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ fstat.
-
-
- is package Åá¬ÑΓ ¬½áßß¿Σ¿¬áµ¿¿ ½¿ΓÑα
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <ctype.h>
- int isalnum(int c); /* ANSI */
- int isalpha(int c); /* ANSI */
- int isascii(int c);
- int iscntrl(int c); /* ANSI */
- int isdigit(int c); /* ANSI */
- int isgraph(int c); /* ANSI */
- int islower(int c); /* ANSI */
- int isprint(int c); /* ANSI */
- int ispunct(int c); /* ANSI */
- int isspace(int c); /* ANSI */
- int isupper(int c); /* ANSI */
- int isxdigit(int c); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ ¼á¬α«ßδ ¬½áßß¿Σ¿µ¿απεΓ ½¿ΓÑαδ »« ºáñá¡¡«¼π »α¿º-
- ¡á¬π. èáªñδ⌐ ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ó ¬áτÑßΓóÑ
- ¿ßΓ¿¡¡«ßΓ¿ πΓóÑαªñÑ¡¿∩ ¿ ¡«½∞ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
- isascii ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ñ½∩ óßÑσ ASCII
- º¡áτÑ¡¿⌐ 0...127. éßÑ ñαπú¿Ñ ¼á¬α«ßδ ¿ß»«½∞ºπεΓ µÑ½«Ñ,
- ½ÑªáΘÑÑ ó ñ¿á»áº«¡Ñ - 1...255. éßÑ º¡áτÑ¡¿∩, ½ÑªáΘ¿Ñ
- ó¡Ñ φΓ«ú« ñ¿á»áº«¡á, »α¿ó«ñ∩Γ ¬ «Φ¿í«τ¡δ¼ «ΓóÑΓá¼. ¥Γ¿
- ¼á¬α«ßδ αÑ὿º«óá¡δ Γá¬ªÑ ¿ ¬á¬ í¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- #include <ctype.h>
- #include <stdio.h>
- main()
- {
- printf("Isalnum(%c)=%d\n", '$', isalnum('$'));
- printf("Isalpha(%c)=%d\n", 'f', isalpha('f'));
- printf("Isascii(%c)=%d\n", 0xe4, isascii(0xe4));
- printf("Iscntrl(%c)=%d\n", 0x09, iscntrl(0x09));
- printf("Isdigit(%c)=%d\n", 0x32, isdigit(0x32));
- printf("Isgraph(%c)=%d\n", 0x0ea, isgraph(0x0ea));
- printf("Islower(%c)=%d\n", 'A', islower('A'));
- printf("Isprint(%c)=%d\n", 0x40, isprint(0x40));
- printf("Ispunct(%c)=%d\n", ',', ispunct(','));
- printf("Isspace(%c)=%d\n", ' ', isspace(' '));
- printf("Isupper(%c)=%d\n", 'd', isupper('d'));
- printf("Isxdigit(%c)=%d\n", 0x0d, isxdigit(0x0d));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- isalnum ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ íπ¬óá ¿½¿
- µ¿Σαá.
-
- ialpha ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ íπ¬óá.
-
- isascii ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ó ñ¿á»áº«¡Ñ
- 0..127.
-
- iscntrl ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ π»αáó-
- ½∩εΘ¿¼ ß¿¼ó«½«¼ (¿º ñ¿á»áº«¡á (0, 0x1F) ¿½¿ c==0x7F).
-
- isdigit ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ µ¿Σαδ 0...9.
-
- isgraph ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ »ÑτáΓáÑ-
- ¼δ¼ ß¿¼ó«½«¼ (¿ß¬½ετá∩ »α«íѽ).
-
- islower ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ «ñ¿¡ ¿º ß¿¼-
- ó«½«ó ¡¿ª¡Ñú« αÑú¿ßΓαá.
-
- isprint ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ »ÑτáΓáÑ-
- ¼δ¼ ß¿¼ó«½«¼ (ó¬½ετá∩ »α«íѽ).
-
- ispunct ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ÑßΓ∞ ß¿¼ó«½ »π¡¬-
- Γπᵿ¿.
-
- isspace ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ ß¿¼ó«½á Γáíπ½∩µ¿¿,
- ¡«ó«⌐ ßΓ᫬¿, óÑαΓ¿¬á½∞¡«⌐ Γáíπ½∩µ¿¿, ó«ºóαáΓá ¬áαÑΓ¬¿,
- »α«íÑ½á ¿ »ÑαÑó«ñá Σ«α¼áΓá (form feed).
-
- isupper ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ «ñ¡¿¼ ¿º
- ß¿¼ó«½«ó óÑασ¡Ñú« αÑú¿ßΓαá.
-
- isxdigit ó«ºóαáΘáÑΓ ¡Ñ ¡«½∞, Ñß½¿ 'c' ∩ó½∩ÑΓß∩ «ñ¡¿¼
- ¿º ß¿¼ó«½«ó 0..9, A..F ¿½¿ a..f.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ toascii.
-
-
- itoa ÅÉà俯Çéïàìêà ûàïÄâÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- char * itoa(int value, char * str, int radix);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ value ó ßΓ᫬π, ºá¬á¡τ¿óáεΘπεß∩ ¡π½Ñ¼,
- ¿ß»«½∞ºπ∩ radix. Radix ºáñáÑΓ «ß¡«óá¡¿Ñ ß¿ßΓÑ¼δ ¿ßτ¿ß-
- ½Ñ¡¿∩ ¿ ñ«½ªÑ¡ íδΓ∞ ó ñ¿á»áº«¡Ñ 2...36. àß½¿ value «Γ-
- α¿µáΓѽ∞¡« ¿ radix αáóÑ¡ 10, »Ñαó«⌐ ½¿ΓÑα«⌐ str íπñÑΓ
- '-'. ÉѺπ½∞ΓáΓ ºá»¿ßδóáÑΓß∩ ó ßΓ᫬π str, ¬«Γ«αá∩ ñ«½ª-
- ¡á íδΓ∞ ñ«ßΓáΓ«τ¡« óѽ¿¬á, τΓ«íδ αѺπ½∞ΓáΓ »«¼ÑßΓ¿½ß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ str. ÄΦ¿í¬¿ ¡Ñ ó«ºóαáΘáεΓß∩.
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #include <stdio.h>
- main()
- {
- char buffer[10];
- int value = 67;
- char *ptr;
- ptr = itoa(value, buffer, 2);
- printf("ù¿ß½« %d ¬á¬ ñó«¿τ¡«Ñ=\"%s\"\n",value,
- buffer);
- ptr=itoa(value, buffer, 8);
- printf("ù¿ß½« %d ¬á¬ ó«ß∞¼Ñα¿τ¡«Ñ=\"%s\"\n",value,
- buffer);
- ptr=itoa(value, buffer, 16);
- printf("ù¿ß½« %d ¬á¬ 16-α¿τ¡«Ñ=\"%s\"\n",value,
- buffer);
- }
-
-
- kbhit ÅÉÄéàÉèÇ ééÄäÇ æ èïÇéêÇÆôÉ¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <conio.h>
- int kbhit(void);
-
- Ä»¿ßá¡¿Ñ:
-
- Åα«óÑα∩ÑΓ ¡á½¿τ¿Ñ óó«ñá ß ¬½áó¿áΓπαδ (¡áªáΓ¿Ñ ¬½áó¿Φ¿).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <conio.h>
- main()
- {
- printf("Åα¿ú«Γ«ó¿óΦ¿ß∞, ¡áª¼¿ΓÑ ½εíπε ¬½áó¿Φπ\n");
- while(!kbhit());
- printf("\n üδ½á ¡áªáΓá ¬½áó¿Φá (%c)\n", getch());
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¡Ñ ¡«½∞ ó ß½πτáÑ ¡áªáΓ¿∩ ¬½áó¿Φ¿ ¬½áó¿áΓπαδ
- ¿ ¡«½∞ ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
-
-
- labs ÇüæÄï₧ÆìÄà çìÇùàìêà äïêììÄâÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- long labs(long i); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú«.
-
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #include <stdio.h>
- main()
- {
- long lng, result;
- lng = -314159L;
- result = labs(lng);
- printf("Çíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ «Γ (%ld) αáó¡« (%ld)\n",
- lng, result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú«.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ abs.
-
-
- ldexp ¥èæÅÄìàìÆÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double ldexp(double x, int exp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ x*(2**exp).
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main()
- {
- double x,y;
- int exp;
- x = 1.5;
- exp = 5;
- y = ldexp(x,exp);
- printf("The ldexp(%f exp %d)=\n", x, exp, y);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ x*(2**exp).
-
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ exp, frexp, log, log10, modf.
-
-
-
- ldiv äàïàìêà ùêæàï ÆêÅÇ long
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h> /* ANSI */
- ldiv_t ldiv(long int numerator, long int denominator);
-
- Ä»¿ßá¡¿Ñ:
-
- äѽ¿Γ numerator ¡á denominator, ó«ºóαáΘá∩ τáßΓ¡«Ñ ¿
- «ßΓáΓ«¬. àß½¿ ñѽ¿Γѽ∞ ¡«½∞, »α«úαá¼¼á ºáóÑαΦáÑΓß∩ ß
- ß««íΘÑ¡¿Ñ¼ «í «Φ¿í¬Ñ. Çαúπ¼Ñ¡Γδ ¿ ó«ºóαáΘáѼδÑ º¡áτÑ-
- ¡¿∩ ¿¼ÑεΓ Γ¿» long.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ßΓαπ¬Γπαπ ldiv_t, ß«ñÑαªáΘπε τáßΓ¡«Ñ ¿ «ß-
- ΓáΓ«¬.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ div.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- long numer, denom;
- ldiv_t result;
- numer = 3;
- denom = 2;
- printf("äѽ¿¼«Ñ = %ld ¿ ñѽ¿Γѽ∞ = is %ld\n", numer,
- denom);
- result = ldiv(numer, denom);
- printf("ùáßΓ¡«Ñ = %ld\n", result.quot);
- printf("ÄßΓáΓ«¬ = %ld\n", result.rem);
- }
-
-
-
- localtime äÇÆ£ îàæÆìÄà éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- struct tm *localtime(time_t *time); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ óαѼ∩, ºá»¿ßá¡¡«Ñ ó Σ«α¼áΓÑ time_t, ó
- ßΓαπ¬Γπαπ tm. time_t óδαáªáÑΓß∩ ó ßѬπ¡ñáσ ß 1 ∩¡óáα∩
- 1970 ú«ñá. Ä¡« ¼«ªÑΓ íδΓ∞ »«½πτÑ¡« ß »«¼«Θ∞ε Σπ¡¬µ¿¿
- time. Localtime »α«¿ºó«ñ¿Γ ¬«ααѬµ¿ε, πτ¿ΓδóáεΘπε óαÑ-
- ¼Ñ¡¡«⌐ »«∩ß ¿, 󫺼«ª¡«, »«»αáó¬π ¡á ßñó¿ú, ßó∩ºá¡¡πε
- ß φ¬«¡«¼¿Ñ⌐ ñ¡Ñó¡«ú« óαѼѡ¿. Å«½∩ ßΓαπ¬Γπαδ tm:
-
- struct tm {
- tm_sec, /* ßѬπ¡ñδ 0..59 */
- tm_min, /* ¼¿¡πΓδ 0..59 */
- tm_hour, /* τáß ñ¡∩ 0..23 */
- tm_mday, /* ñÑ¡∞ ¼Ñß∩µá 1..31 */
- tm_mon, /* ¼Ñß∩µ 0..11 */
- tm_year, /* ú«ñ »«ß½Ñ 1900 */
- tm_wday, /* ñÑ¡∞ ¡Ññѽ¿, 0..6 (Sun..Sat) */
- tm_yday, /* ñÑ¡∞ ú«ñá, 0..365 */
- tm_isdst; /* >0, Ñß½¿ ÑßΓ∞ »«»αáó¬á ¡á ßñó¿ú,
- =0, Ñß½¿ ¡ÑΓ »«»αáó¬¿,
- <0, Ñß½¿ ¡Ñ¿ºóÑßΓ¡« */
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓáΓ¿τÑ߬πε ßΓαπ¬Γπαπ tm,
- ¬«Γ«αá∩ «í¡«ó½∩ÑΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- main()
- {
- struct tm *t;
- time_t ltime;
- time(<ime);
- t = localtime(<ime);
- printf("äáΓá: %d-%d-%d\n", t-> tm_mday,
- t->tm_mon+1, t->tm_year);
- }
-
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ time, asctime, ctime, mktime.
-
-
- log, log10 ïÄâÇÉêöî
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double log(double x); /* ANSI */
- double log10(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- Log óδτ¿ß½∩ÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ x. ç¡áτÑ¡¿Ñ x ñ«½-
- ª¡« íδΓ∞ í«½∞ΦÑ 0. Log10 óδτ¿ß½∩ÑΓ ñÑß∩Γ¿τ¡δ⌐ ½«úáα¿Σ¼
- x (x ñ«½ªÑ¡ íδΓ∞ í«½∞ΦÑ 0).
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main(int argc, char **argv)
- {
- double d, result;
- d = atof(argv[1]);
- result = log(d);
- printf("The log of %.2f is %f\n", d, result);
- result = log10(d);
- printf("The log10 of %.2f is %f\n", d, result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáεΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ¿½¿ «Φ¿í¬π, ßó∩ºá¡¡πε
- ß «í½áßΓ∞ε «»αÑñѽѡ¿∩, Ñß½¿ x <= 0.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ exp, pow, sqrt.
-
-
- longjmp äïêìì¢ë ÅàÉàòÄä
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <setjmp.h>
- void longjmp (jmp_buf env, int value); /* ANSI */
- int setjmp (jmp_buf env); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ »«ºó«½∩εΓ «ßπΘÑßΓó½∩Γ∞ »ÑαÑσ«ñδ ¼Ñªñπ
- Σπ¡¬µ¿∩¼¿. Ä¡¿ ¼«úπΓ íδΓ∞ »«½Ñº¡δ »α¿ «íαáí«Γ¬Ñ «Φ¿í«¬
- ¿½¿ »αÑαδóá¡¿⌐, »α«¿ßΦÑñΦ¿σ ó ¡¿º¬«πα«ó¡Ñóδσ »α«µÑñπ-
- αáσ »α«úαá¼¼δ.
- setjmp ß«σαá¡∩ÑΓ «¬απªÑ¡¿Ñ ßΓѬá ó »ÑαѼѡ¡«⌐ env ñ½∩
- ñá½∞¡Ñ⌐ΦÑú« ¿ß»«½∞º«óá¡¿∩ ó longjmp.
- longjmp ó«ßßΓá¡áó½¿óáÑΓ «¬απªÑ¡¿Ñ, ß«σαá¡Ñ¡¡«Ñ αá¡ÑÑ
- »«ßαÑñßΓó«¼ setjmp ó íπΣÑαÑ env. value, ó«ºóαáΘáѼ«Ñ ó
- «¬απªÑ¡¿Ñ, ¬á¬ íδ »«ßΓáó½∩ÑΓ setjmp.
-
- çÇîàùÇìêà: ĬαπªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ºáΣ¿¬ß¿α«óá¡« ß ¿ß-
- »«½∞º«ó᡿Ѽ setjmp, óδºδóáѼ«⌐ ¿º Γ«⌐ ªÑ
- Σπ¡¬µ¿¿, ¬«Γ«αá∩ ß«ñÑαª¿Γ «íαáΘÑ¡¿Ñ ¬ Σπ-
- ¡¬µ¿¿ longjmp, ¿½¿ ¿º "α«ñ¿Γѽ∞߬«⌐", Γ.Ñ.
- Σπ¡¬µ¿¿, ß«ñÑαªáΘÑ⌐ «íαáΘÑ¡¿Ñ ¬ Γ«⌐, τΓ«
- óδºδóáÑΓ longjmp.
-
- Å«ß½Ñ ºáóÑαΦÑ¡¿∩ longjmp óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ »α«ñ«½-
- ªáÑΓß∩, ¬á¬ Ñß½¿ íδ ß««ΓóÑΓßΓóπεΘÑÑ «íαáΘÑ¡¿Ñ ¬ setjmp
- ó«ºóαáΓ¿½« value. value ¡¿¬«úñá ¡Ñ íπñÑΓ 0. àß½¿ value
- »ÑαÑñá¡« ¬á¬ 0, íπñÑΓ ó«ºóαáΘÑ¡« º¡áτÑ¡¿Ñ 1.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- setjmp ó«ºóαáΘáÑΓ 0. longjmp ¡Ñ ¿¼ÑÑΓ ó«ºóαáΘáѼ«ú«
- º¡áτÑ¡¿∩.
-
- Åα¿¼Ñα:
-
- #include <setjmp.h>
- #include <stdio.h>
- void doscall(void);
- jmp_buf environment;
- int error_val = -1;
- main()
- {
- int error code;
- error_code = setjmp(environment);
- if (error_code !=0)
- {
- printf("éδºóá¡ longjmp\n");
- exit(1);
- }
- printf("éδºóá¡ setjmp\n");
- doscall();
- }
- doscall()
- {
- longjmp(environment, error_val);
- }
-
-
- lseek êçîàìêÆ£ ÅÄçêûê₧ é öÇëïà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- long lseek(int fd, long offset, int mode);
-
-
- Ä»¿ßá¡¿Ñ:
-
- 꺼ѡ∩ÑΓ ΓѬπΘπε »«º¿µ¿ε τΓÑ¡¿∩/ºá»¿ß¿ ó Σá⌐½Ñ, ºáñá¡-
- ¡«¼ ñÑß¬α¿»Γ«α«¼ fd. Åáαá¼ÑΓα mode ¼«ªÑΓ »α¿¡¿¼áΓ∞ «ñ¡«
- ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- SEEK_SET - ô¬áºáΓѽ∞ ßñó¿úáÑΓß∩ ¡á offset íá⌐Γ«ó «Γ
- ¡áτá½á Σá⌐½á.
-
- SEEK_CUR - æñó¿ú ¡á offset íá⌐Γ«ó «Γ¡«ß¿Γѽ∞¡« ΓѬπ-
- ΘÑ⌐ »«º¿µ¿¿.
-
- SEEK_END - æñó¿ú ¡á offset íá⌐Γ«ó «Γ ¬«¡µá Σá⌐½á.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ ¡«ó«⌐ »«º¿µ¿¿ «Γ¡«ß¿Γѽ∞-
- ¡« ¡áτá½á Σá⌐½á. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓ -1 ¿ πßΓá-
- ¡áó½¿óáÑΓ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fseek.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- #include <dos.h>
- main()
- {
- int fp;
- long offset, lpos;
- fp = open("file.dat", O_RDWR);
- if (fp<0)
- return;
- offset = 0L;
- lpos = lseek(fp, offset, SEEK_SET)
- printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
- offset = 10L;
- lpos = lseek(fp, offset, SEEK_CUR);
- printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
- offset = 50L;
- lpos = lseek(fp, offset, SEEK_END);
- printf("ÆÑ¬πΘá∩ »«º¿µ¿∩=%ld\n", lpos);
- close(fp);
- }
-
-
-
- malloc ÄÆéàæÆê ÅÇîƒÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void *malloc(unsigned numbytes); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÉẼÑΘáÑΓ í½«¬ »á¼∩Γ¿ «íΩѼ«¼ numbytes íá⌐Γ«ó. àß½¿
- numbytes αáóÑ¡ 0, Γ« ó«ºóαáΘáÑΓ NULL.
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #include <stdio.h>
- #define NUM_INTS 7623
- int *memblock;
- main()
- {
- memblock = malloc(NUM_INTS*sizeof(int));
- if (memblock==NULL)
- printf("ìÑσóáΓ¬á »á¼∩Γ¿\n");
- else
- printf("Åá¼∩Γ∞ «ΓóÑñÑ¡á\n");
- free(memblock);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á αẼÑΘÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿. ï¿í«
- ó«ºóαáΘáÑΓ NULL »α¿ ¡Ññ«ßΓá⪥ »á¼∩Γ¿ ¿½¿ ó ß½πτáÑ
- numbytes==0.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ calloc, free, realloc, farmalloc.
-
-
-
- matherr ÄüÉÇüÄÆèÇ Äÿêüèê îÇÆàîÇÆêùàæèÄë öôìèûêê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- int matherr(struct exception *e);
-
- Ä»¿ßá¡¿Ñ:
-
- matherr óδºδóáÑΓß∩ »α¿ «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ Σπ¡¬µ¿∩¼¿
- math í¿í½¿«ΓѬ¿. Å«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ í¿í-
- ½¿«ΓÑτ¡δ⌐ óáα¿á¡Γ φΓ«⌐ Σπ¡¬µ¿¿ ¿½¿ «»αÑñѽ¿Γ∞ ß«íßΓóÑ-
- ¡¡πε «ñ¡«¿¼Ñ¡¡πε »α«µÑñπαπ ó ßó«Ñ⌐ »α«úαá¼¼Ñ. ô¬áºá-
- Γѽ∞ ¡á ßΓαπ¬Γπαπ exception ñ«½ªÑ¡ »«ßΓπ»áΓ∞ ó »α«µÑ-
- ñπαπ »«½∞º«óáΓѽ∩, íÑαπΘπε «íαáí«Γ¬π «Φ¿í¬¿ ¡á ßÑí∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘÑ¡¿Ñ 0 «º¡áτáÑΓ, τΓ« «Φ¿í¬á «íαáí«Γá¡á »αáó¿½∞-
- ¡«, 1 «º¡áτáÑΓ, τΓ« «Φ¿í¬á ¡Ñ ¼«ªÑΓ íδΓ∞ «íαáí«Γá¡á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- #include <string.h>
- main()
- {
- printf("log(-1) = %e\n", log(-1));
- }
- int matherr(x)
- struct exception *x;
- {
- if (x -> type == DOMAIN)
- {
- if (strcmp(x -> name, "log")==0)
- {
- x -> retval = log(-(x -> arg1));
- return(1);
- }
- }
- return(0);
- }
-
- memchr - memset ÉÇüÄÆÇ æ üÇëÆÇîê é îÇææêéÇò
-
- êß»«½∞º«óá¡¿Ñ: /* óßÑ ANSI */
-
- #include <string.h>
- void *memchr(void *buf, int c, unsigned count);
- int memcmp(void *buf1, void *buf2, unsigned count);
- void *memcpy(void *buf1, void *buf2, unsigned count);
- void *memmove(void *buf1, void *buf2, unsigned count);
- void *memset(void *buf, int val, unsigned count);
-
- Ä»¿ßá¡¿Ñ:
-
- memchr «Γδ߬¿óáÑΓ ó íπΣÑαÑ buf íá⌐Γ ß« º¡áτÑ¡¿Ñ¼ 'c'.
- Å«¿ß¬ »α«ñ«½ªáÑΓß∩ ßαÑñ¿ count ¬«½¿τÑßΓóá íá⌐Γ«ó ¿½¿
- ñ« óßΓαÑτ¿ º¡áτÑ¡¿∩ 'c'.
-
- memcmp »«ß½Ññ«óáΓѽ∞¡« ßαáó¡¿óáÑΓ íá⌐Γδ íπΣÑα«ó buf1 ¿
- buf2 ¿ »α«ñ«½ªáÑΓ φΓ«, »«¬á «¡¿ ß«ó»áñáεΓ, ½¿í« »«¬á
- ¡Ñ óδ»«½¡¿Γ ºáñá¡¡«Ñ ¬«½¿τÑßΓó« ßαáó¡Ñ¡¿⌐ count. memcmp
- ó«ºóαáΘáÑΓ µÑ½«Ñ, ¼Ñ¡∞ΦÑÑ, αáó¡«Ñ ¿½¿ í«½∞ΦÑÑ 0 ó ºáó¿-
- ß¿¼«ßΓ¿ «Γ αѺπ½∞ΓáΓá ßαáó¡Ñ¡¿∩ »«ß½Ññ¡Ñ⌐ »áαδ íá⌐Γ«ó.
-
- memcpy ¿ memmove ¬«»¿απεΓ count íá⌐Γ«ó ¿º buf2 ó buf1.
- memcpy αáí«ΓáÑΓ íδßΓαÑÑ, ¡« ¡Ñ αáí«ΓáÑΓ, Ñß½¿ buf1 ¿
- buf2 »ÑαѬαδóáεΓß∩ (¿¼ÑεΓ «íΘπε τáßΓ∞).髺óαáΘáεΓ buf1.
-
- memset πßΓá¡áó½¿óáÑΓ »ÑαóδÑ count íá⌐Γ«ó ó buf αáó¡δ¼¿
- val. 髺óαáΘáÑΓ buf.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- memchr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε ¡á⌐ñÑ¡¡«⌐ ½¿ΓÑαδ
- 'c' ó íπΣÑαÑ, ½¿í« NULL.
-
- memcpy ¿ memmove ó«ºóαáΘáεΓ buf1.
- memset ó«ºóαáΘáÑΓ buf.
- memcmp ó«ºóαáΘáÑΓ º¡áτÑ¡¿∩:
-
- <0 buf1 < buf2
- =0 buf1 = buf2
- >0 buf1 > buf2
-
- Åα¿¼Ñα:
-
- #include <string.h>
- #include <stdio.h>
- char buffer[50];
- char buffer2[50]="Åα¿¼Ñα ßΓ᫬¿\n";
- char srccpy[]="Åα¿¼Ñα 2 ßΓ᫬¿\n";
- char * result;
- int reslt;
- main()
- {
- printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memcpy\n");
- memcpy(buffer, buffer2, 15);
- printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memchr\n");
- result = memchr(buffer, 'Γ', 50);
- if (result != NULL)
- printf("ï¿ΓÑαá(Γ) ¡á⌐ñÑ¡á ó (%d)\n",
- result-buffer+1);
- else
- printf("ÄΦ¿í¬á-(Γ) ¡Ñ ¡á⌐ñÑ¡á\n");
- printf("Éáí«ΓáÑΓ Σπ¡¬µ¿∩ memcmp\n");
- reslt = memcmp(buffer, buffer2, 50);
- printf("ÉѺπ½∞ΓáΓ memcmp: %s\n", reslt;
- printf("Buffer before memmove : %s", buffer);
- result = memmove(buffer, srccpy, sizeof(srccpy));
- printf("üπΣÑα »«ß½Ñ memmove : %s", buffer);
- printf("üπΣÑα ñ« memset : %s", buffer);
- result = memset(buffer, 'x', 6);
- printf("üπΣÑα »«ß½Ñ memset : %s", buffer);
- }
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ strcmp, strcat, strset, strchr.
-
-
- mkdir æÄçäÇÆ£ èÇÆÇïÄâ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <direct.h>
- int mkdir(char * pathname);
-
- Ä»¿ßá¡¿Ñ:
-
- 櫺ñáÑΓ ¡«óδ⌐ ¬áΓὫú, ºáñá¡¡δ⌐ »áαá¼ÑΓα«¼ pathname.
- àß½¿ pathname ß«ñÑαª¿Γ í«½ÑÑ «ñ¡«⌐ ¬«¼»«¡Ñ¡Γδ, Γ«½∞¬«
- »«ß½Ññ¡∩∩ ¬«¼»«¡Ñ¡Γá ñ«½ª¡á íδΓ∞ ¡«ó«⌐, á óßÑ »αÑñ-
- ΦÑßΓóπεΘ¿Ñ ñ«½ª¡δ íδΓ∞ ßπΘÑßΓóπεΘ¿¼¿ ¬áΓὫúἿ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <direct.h>
- main()
- {
- int result;
- result = mkdir("\\temp");
- if (result==0)
- printf("èáΓὫú \\temp ß«ºñá¡\n");
- else
- printf("ìÑ ¼«úπ ß«ºñáΓ∞ ¬áΓὫú \\temp\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ó ß½πτáÑ πß»Ñσá ¿ -1 ó ß½πτáÑ ¡Ñπñáτ¿ ß
- πßΓá¡áó¬«⌐ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ rmdir, chdir.
-
-
- MK_FP æÄçäÇÆ£ äÇï£ìêë ôèÇçÇÆàï£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- void far *MK_FP(unsigned seg, unsigned off);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá (segment) ¿ ß¼ÑΘÑ¡¿∩
- (offset) ó ñá½∞¡¿⌐ π¬áºáΓѽ∞.
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- #include <stdio.h>
- main()
- {
- char far *p;
- unsigned int segment=0xb800, offset=0;
- p = MK_FP(segment, offset);
- printf("The CGA ó¿ñÑ« íπΣÑα ó %lp\n", p);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ñá½∞¡¿⌐ π¬áºáΓѽ∞.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ FP_SEG, FP_OFF.
-
-
- mktime ÅÉàÄüÉÇçÄéÇÆ£ éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- time_t mktime(struct tm *ntime); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ ßΓαπ¬Γπαπ tm ó time_t.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- main()
- {
- struct tm ntime;
- time_t set;
- time(&set);
- ntime = *localtime(&set);
- printf("æÑ¬π¡ñ ß 1 ∩¡óáα∩ 1970 »α«Φ½« %ld",
- mktime(&ntime));
- printf("éαѼ∩: %s", asctime(&ntime));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- éαѼ∩ ó ßѬπ¡ñáσ »«ß½Ñ 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »«
- âα¿¡ó¿τπ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ asctime, ctime, localtime, time.
-
-
- modf äÉÄüìǃ ê ûàïǃ ùÇæÆ£ ùêæïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h> /* ANSI */
- double modf(double x, double *ptr);
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ ñα«í¡πε ¿ µÑ½πε τáßΓ¿ º¡áτÑ¡¿∩ áαúπ¼Ñ¡Γá x
- ß« º¡á¬«¼.ûѽá∩ τáßΓ∞ 'x'ß« º¡á¬«¼ ºá»«¼¿¡áÑΓß∩ ó ptr.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- #include <stdio.h>
- main()
- {
- double x, y, n;
- x = -41.56789;
- y = modf(x, &n);
- printf("modf(%f)=fractional %f and integer : %f",
- x, y, n);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá x ß« º¡á¬«¼.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ frexp, ldexp.
-
-
- Mouse Package Åá¬ÑΓ αáí«Γδ ß ¼δΦ∞ε
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <msmouse.h>
- int msm_init(void);
- void msm_term(void);
- void msm_hidecursor(void);
- void msm_showcursor(void);
- int msm_getstatus(unsigned *curposx,unsigned *curposy);
- void msm_setcurpos(unsigned curposx,unsigned curposy);
- int msm_getpress(unsigned *count, unsigned *curposx,
- unsigned *curposy);
- int msm_getrelease(unsigned *count, unsigned *curposx,
- unsigned *curposy);
- void msm_setgraphcur(int hotx, int hoty, int *pmasks);
- void msm_setareax(unsigned minx, unsigned maxx);
- void msm_setareay(unsigned miny, unsigned maxy);
- void msm_settextcur(int select, int scanstart,
- int scanstop);
- void msm_readcounter(int *countx, int *county);
- void msm_signal(unsigned mask,void(*func)(unsigned mask,
- unsigned state,unsigned curposx,unsigned curposy),
- void *stack);
- void msm_lightpenon(void);
- void msm_lightpenoff(void);
- void msm_setratio(unsigned ratiox, unsigned ratioy);
- void msm_condoff(unsigned upperx, unsigned uppery,
- unsigned lowerx, unsigned lowery);
- void msm_setthreshhold(unsigned speed);
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ«Γ »á¬ÑΓ ∩ó½∩ÑΓß∩ ¿¡ΓÑαΣÑ⌐ß«¼ ¬ Microsoft ¼δΦ¿ ¿
- ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ó¼ÑßΓÑ ß απ¬«ó«ñßΓó«¼ »« »α«ú-
- αá¼¼¿α«óá¡¿ε ¼δΦ¿. ä½∩ ñá½∞¡Ñ⌐ΦÑú« º¡á¬«¼ßΓóá «Γßδ½áѼ
- éáß ¬ Mouse Programming Manual.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <msmouse.h>
- main()
- { if (msm_init()==-1)
- { printf("îδΦ∞ ¿¡¿µ¿á½¿º¿α«óá¡á πß»ÑΦ¡«\n");
- msm_showcursor();
- while(1)
- {
- int status;
- unsigned x, y;
- status = msm_getstatus(&x, &y);
- if (status & LEFT_BUTTON)
- {
- msm_hidecursor();
- printf("x=%n,y=%n\n",x,y);
- msm_showcursor();
- }
- if (status & RIGHT_BUTTON)
- break;
- }
- msm_term();
- }
- else
- printf("ê¡¿µ¿á½¿ºáµ¿∩ ¼δΦ¿ ¡Ñ »α«Φ½á\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 漫Γα¿ΓÑ Mouse Manual Programming.
-
-
- open ÄÆèɢƣ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int open (char *pathname, int rwmode);
-
- Ä»¿ßá¡¿Ñ:
-
- ÄΓ¬αδóáÑΓ Σá⌐½, ºáñá¡¡δ⌐ »áαá¼ÑΓα«¼ pathname. Rwmode
- ߻ѵ¿Σ¿µ¿απÑΓ αѪ¿¼ ñ«ßΓπ»á ¬ Σá⌐½π »«ßαÑñßΓó«¼ «ñ¡«ú«
- ¿º º¡áτÑ¡¿⌐:
-
- O_RDONLY - »« τΓÑ¡¿ε
- O_WRONLY - »« ºá»¿ß¿
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ó ß½πτáÑ πß»Ñσá ¿ -1 ó
- ß½πτáÑ ¡Ñπñáτ¿, πßΓá¡áó½¿óá∩ »α¿ φΓ«¼ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ close, creat, dos_creat, fopen.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <dos.h>
- #include <io.h>
- #include <sys/stat.h>
- main()
- {
- char *fname;
- unsigned int mode;
- int fd;
- mode = O_RDONLY;
- fname = "file.dat";
- fd = open(fname, mode);
- if (fd==-1)
- perror("ÄΦ¿í¬á «Γ¬αδΓ¿∩ Σá⌐½á");
- else
- {
- printf"\n Σá⌐½ : %s «Γ¬αδΓ ñ½∩ τΓÑ¡¿∩\n",
- fname);
- close(fd);
- }
- mode = O_WRONLY;
- fname = "CON";
- fd = open(fname, mode);
- if (fd<0)
- printf("\n ÄΦ¿í¬á «Γ¬αδΓ¿∩ ¬«¡ß«½¿ ¡á ºá»¿ß∞: %s\n",
- fname);
- else
- {
- printf("\n öá⌐½ %s «Γ¬αδΓ ¡á ºá»¿ß∞\n",
- fname);
- close(fd);
- }
- mode = O_WRONLY | O_CREAT;
- fname = "file.dat";
- fd = open(fname, mode);
- if (fd==-1)
- perror("ÄΦ¿í¬á «Γ¬αδΓ¿∩ Σá⌐½á");
- else
- {
- printf("\n öá⌐½ %s «Γ¬αδΓ ¡á óδó«ñ\n", fname);
- close(fd);
- }
- }
-
-
- outp, outpw é¢éÄä é ÅÄÉÆ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h>
- void outp(int port_address, int value);
- void outpw(int port_address, int value);
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ «íÑß»Ñτ¿óáεΓ ¿¡ΓÑαΣÑ⌐ß ß á»»áαáΓ¡δ¼¿ »«α-
- ΓἿ óó«ñá/óδó«ñá 8086, ¿ß»«½∞ºπ∩ ¬«¼á¡ñδ 'in' ¿ 'out'
- »α«µÑßß«αá 8086.
-
- outp - »¿ΦÑΓ ¼½áñΦ¿⌐ íá⌐Γ value ó π¬áºá¡¡δ⌐ »«αΓ.
- outpw - ºá»¿ßδóáÑΓ º¡áτÑ¡¿Ñ ß½«óá ó π¬áºá¡¡δ⌐ »«αΓ.
-
- àß½¿ ó¬½ετÑ¡ Σá⌐½ dos.h, ¬«¼»¿½∩Γ«α "«Γ¬αδΓ« »«ñßΓáó-
- ½∩ÑΓ ¬«ñ ñ½∩ outp ¿ outpw.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ inp, inpw.
-
- Åα¿¼Ñα;
-
- /* ¥Γá Σπ¡¬µ¿∩ ó䬽ετáÑΓ ¬παß«α IBM MDA. */
- #include <dos.h>
- int porta, portb, bytea, byteb;
- main()
- {
- char result;
- porta = Ox3B4;
- portb = Ox3B5;
- bytea = 10;
- byteb = 32;
- result = inpw(porta);
- printf("ç¡áτÑ¡¿Ñ ¿º »«αΓá %x αáó¡« %x hex\n",
- porta, result);
- outp(porta,bytea);
- outp(portb,byteb);
- }
- /* ¥Γá Σπ¡¬µ¿∩ ó¬½ετáÑΓ ¬παß«α IBM MDA. */
- #include <dos.h>
- int porta, portb, bytea, byteb;
- main()
- {
- porta = Ox3B4;
- portb = Ox3B5;
- bytea = 10;
- byteb = 11;
- outp(porta,bytea);
- outp(portb,byteb);
- }
-
- ¥Γ¿ Σπ¡¬µ¿¿ ¡Ñ ó«ºóαáΘáεΓ º¡áτÑ¡¿∩.
-
-
- peek ÅàÉàæïÇÆ£ üôöàÉ êçäÇïàèÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- void peek(unsigned seg, unsigned offset, void *buf,
- int numbytes);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅÑαÑßδ½áÑΓ numbytes íá⌐Γ«ó ¿º »á¼∩Γ¿, »« áñαÑßπ
- seg:offset, ó íπΣÑα »« π¬áºáΓѽε buf.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ poke.
-
- Åα¿¼Ñα:
-
- /* ¥Γá »α«úαá¼¼á ó«ß»α¿¼ÑΓ ¬á¬ áαúπ¼Ñ¡Γ ¬«¼á¡ñ¡«⌐ ßΓα«-
- ¬¿ on ¿½¿ off, τΓ«íδ ó¬½ετ¿Γ∞/ó䬽ετ¿Γ∞ numlock. */
- #include <stdio.h>
- #include <string.h>
- main(int argc, char *argv[])
- {
- char state1, state2;
- int i;
- for (i=0; i<argc; i++)
- {
- strupr(argv[i]);
- }
- if ((strncmp(argv[1], "ON", 2)==0))
- {
- printf("鬽ετáε numlock \n");
- peek(0,0x417,&state1,1);
- state1 |= 0x20;
- poke(0,0x417, &state1, 1);
- }
- else
- if ((strncmp(argv[1],"OFF",3)==0))
- {
- printf("é䬽ετáε numlock \n");
- peek(0,0x417, &state1,1);
- state1 &= ~0x20;
- poke(0,0x417, &state1, 1);
- }
- else
- {
- printf("\n éóÑñ¿ΓÑ ON ¿½¿ OFF ¬á¬ áαúπ¼Ñ¡Γ
- ¬«¼á¡ñ¡«⌐ ßΓ᫬¿\n");
- exit(1);
- }
- }
-
-
- perror é¢äÇÆ£ æÄÄüÖàìêà Äü Äÿêüèà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void perror(char *msg); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- é«ß»α«¿ºó«ñ¿Γ ß««íΘÑ¡¿Ñ « »«ß½Ññ¡Ñ⌐ «Φ¿í¬Ñ, ¿¼ÑóΦÑ⌐
- ¼ÑßΓ« »α¿ ß¿ßΓѼ¡«¼ ó맮óÑ ¿½¿ «íαáΘÑ¡¿¿ ¬ í¿í½¿«ΓÑτ-
- ¡«⌐ Σπ¡¬µ¿¿, ¡á ßΓá¡ñáαΓ¡«Ñ πßΓα«⌐ßΓó« óδó«ñá. ÅÑτáΓá-
- ÑΓß∩ áαúπ¼Ñ¡Γ msg, ºáΓѼ ñó«ÑΓ«τ¿Ñ, ºáΓѼ ß««íΘÑ¡¿Ñ «í
- «Φ¿í¬Ñ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- FILE * fp;
- char *string = "æ««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ";
- if ((fp=fopen("file.dat","r"))==NULL)
- perror(string);
- else
- printf("öá⌐½ «Γ¬αδΓ ¡á τΓÑ¡¿Ñ\n");
- fclose(fp);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ strerror.
-
-
-
- poke ÅàÉàæïÇÆ£ üôöàÉ äÇïàèÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- void poke(unsigned seg, unsigned offset, void *buf,
- int numbytes);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅÑαÑßδ½áÑΓ numbytes íá⌐Γ«ó ¿º íπΣÑαá buf ó »á¼∩Γ∞, ºá-
- ñá¡¡πε »«½¡δ¼ áñαÑß«¼ seg:offset.
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ peek.
-
- Åα¿¼Ñα:
-
- /* ß¼«Γα¿ΓÑ »α¿¼Ñα ñ½∩ αÑѬ */
- #include <stdio.h>
- #include <string.h>
- main(int argc, char *argv[])
- {
- char state1, state2;
- int i;
- for (i=o; i<argc; i++)
- {
- strupr(argv[i]);
- }
- if ((strncmp(argv[1], "ON",2)==0))
- { printf("Numlock ó¬½ετÑ¡\n");
- peek(0,0x417, &state1,1);
- state1 |= 0x20;
- poke(0,0x417,&state1,1);
- }
- else
- if((strncmp(argv[1], "OFF",3)==0))
- { printf("Numblock ó䬽ετÑ¡\n");
- peek(0,0x417, & state1,1);
- state1 &= ~0x20;
- poke(0,0x417,&state1,1);
- }
- else
- { printf("\n éóÑñ¿ΓÑ ON ¿½¿ OFF ¬á¬ áαúπ¼Ñ¡Γ
- ¬«¼á¡ñ¡«⌐ ßΓ᫬¿\n");
- exit(1);
- }
- }
-
-
- poly ÅÄïêìÄî
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double poly(double x, int deg, double coeff[]);
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ óδαáªÑ¡¿Ñ ó¿ñá:
-
- (...(x*coeff[deg]+coeff[deg-1])*x...)*x+coef[0].
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- double coeff[4];
- main()
- {
- double x=1.2, y;
- coeff[0]=0.0;
- coeff[1]=1.0;
- coeff[2]=2.0;
- coeff[3]=3.0;
- y = poly(x,3,coeff);
- printf("Å«½¿¡«¼ «Γ %f αáóÑ¡ %f\n", x, y);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.
-
-
-
- pow æÆàÅàì£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double pow(double x, double y); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδτ¿ß½∩ÑΓ º¡áτÑ¡¿Ñ x ó ßΓѻѡ¿ y. ÄΦ¿í¬á «í½áßΓ¿ «»αÑ-
- ñѽѡ¿∩ ¿¼ÑÑΓ ¼ÑßΓ« ó ß½πτáÑ, Ñß½¿ x = 0 ¿ y<=0 ½¿í«
- x<=0 ¿ y ¡Ñ µÑ½«Ñ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double x=3,y=2, result;
- result=pow(x,y);
- printf("%.2f ó ßΓѻѡ¿ %.2f αáó¡« : %.2f\n",
- x,y,result);
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ óδτ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ exp, log, sqrt.
-
-
- printf, fprintf, sprintf öÄÉîÇÆì¢ë é¢éÄä
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int fprintf(FILE *fp,char *format,...); /* ANSI */
- int printf(char *format,...); /* ANSI */
- int sprintf(char *buffer,char *format,...); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÄßπΘÑßΓó½∩εΓ Σ«α¼áΓ¡πε »ÑτáΓ∞.
-
- fprintf - »¿ΦÑΓ ½¿ΓÑαδ ó »«Γ«¬ fp.
- printf - »¿ΦÑΓ ½¿ΓÑαδ ó »«Γ«¬ stdout.
- sprintf - »¿ΦÑΓ ½¿ΓÑαδ ó »á¼∩Γ∞ buffer.
-
- Çαúπ¼Ñ¡Γδ ¿¡ΓÑα»αÑΓ¿απεΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐
- Σ«α¼áΓá, «¬á¡τ¿óáεΘÑ⌐ß∩ 0. æΓ᫬á Σ«α¼áΓá ∩ó½∩ÑΓß∩
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε ½¿ΓÑα ß« óßΓα«Ñ¡¡δ¼¿ ¬«¼á¡ñἿ
- »αÑ«íαẫóá¡¿∩. ï¿ΓÑαδ, ¡Ñ ∩ó½∩εΘ¿Ñß∩ τáßΓ∞ε ¬«¼á¡ñ,
- »«ñ½ÑªáΓ óδó«ñπ. 諼á¡ñδ »αÑ«íαẫóá¡¿∩ ß«ßΓ«∩Γ ¿º :
-
- ┌────────────────────────────────────────────────────────────┐
- │'%'{flag}[field_width]['.'precision][l ¿½¿ L]conversion_char│
- └────────────────────────────────────────────────────────────┘
-
- úñÑ :
-
- % ĺ¡áτáÑΓ ¡áτὫ ¬«¼á¡ñδ »αÑ«íαẫóá¡¿∩.
- ùΓ«íδ ¡á»ÑτáΓáΓ∞ '%', ¡áñ« ¿ß»«½∞º«óáΓ∞ '%%'.
-
- flag characters ï¿ΓÑαδ αѪ¿¼«ó
-
- - - ĺ¡áτáÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ óδαáó¡¿óá¡¿∩
- ¿¡Σ«α¼áµ¿¿ »« ½Ñó«¼π ¬αáε »«½∩ óδó«ñá.
- + - ĺ¡áτáÑΓ, τΓ« »αÑ«íαẫóá¡¿Ñ, ó¬½ετáεΘÑÑ
- º¡á¬, ñ«½ª¡« ¡áτ¿¡áΓ∞ß∩ ß + ¿½¿ -.
- »α«íѽ
- (space) - ĺ¡áτáÑΓ, τΓ« ó ß½πτáÑ »αÑ«íαẫóá¡¿∩ »«½«-
- ª¿Γѽ∞¡«ú« αѺπ½∞ΓáΓ ¡áτ¿¡áÑΓß∩ ß »α«íѽá.
- ÉѪ¿¼ + »ÑαѬαδóáÑΓ αѪ¿¼ space.
-
- # - ê¼ÑÑΓ ß¼δß½ ñ½∩ »αÑ«íαẫóá¡¿∩ 'x' ¿½¿ 'X'
- ¿ »α¿ó«ñ¿Γ ¬ ñ«íáó½Ñ¡¿ε »ÑαÑñ óδó«ñ«¼ ß¿¼-
- 󫽫ó 0x ¿½¿ 0X.
- ä½∩ »αÑ«íαẫóá¡¿∩ '«' ó óδó«ñ ñ«íáó½∩ÑΓß∩
- ½¿ñ¿απεΘ¿⌐ ¡«½∞.
- é ß½πτáÑ »αÑ«íαẫóá¡¿⌐ e, E, f, g, G óßÑú-
- ñá »«∩ó½∩ÑΓß∩ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á. àß½¿ φΓ«
- »αÑ«íαẫóá¡¿Ñ g ¿½¿ G, ºá¼δ¬áεΘ¿Ñ 0 ¡Ñ
- íπñπΓ «»π߬áΓ∞ß∩.
-
- Field_width ÿ¿α¿¡á »«½∩
-
- äÑß∩Γ¿τ¡«Ñ µÑ½«Ñ, π»αáó½∩εΘÑÑ ¼¿¡¿¼á½∞¡δ¼ ¬«½¿τÑßΓ-
- ó«¼ »ÑτáΓáѼδσ ½¿ΓÑα. àß½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«
- ½¿ΓÑα ¼Ñ¡∞ΦÑ, τѼ field_width, φΓ« τ¿ß½« ñ«»«½-
- ¡∩ÑΓß∩ »α«íѽἿ. àß½¿ ßΓα«¬á µ¿Σα field_width ¡á-
- τ¿¡áÑΓß∩ ß 0, ñ½∩ ñ«»«½¡Ñ¡¿∩ ¿ß»«½∞ºπÑΓß∩ 0.
-
- àß½¿ field_width ÑßΓ∞ ½¿ΓÑαá *, ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡á-
- τÑ¡¿Ñ ñ½¿¡δ »«½∩ óδó«ñá íÑαÑΓß∩ ¿º ß½ÑñπεΘÑú« µÑ½«-
- ú« áαúπ¼Ñ¡Γá. àß½¿ field_width «Γα¿µáΓѽ∞¡«, ßτ¿Γá-
- ÑΓß∩, τΓ« ºáñá¡ Σ½áú '-', á ó ¬áτÑßΓóÑ field_width
- íÑαÑΓß∩ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. àß½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ
- τ¿ß½« ½¿ΓÑα »αÑó«ßσ«ñ¿Γ field_width, φΓ« »«½Ñ ß««Γ-
- óÑΓßΓóÑ¡¡« πóѽ¿τ¿óáÑΓß∩.
-
- Precision Æ«τ¡«ßΓ∞
-
- ¥Γá ßΓα«¬á µ¿Σα, ß½ÑñπεΘá∩ ºá '.', «»αÑñѽ∩ÑΓ Γ«τ-
- ¡«ßΓ∞ »αÑ«íαẫóá¡¿∩. àß½¿ µ¿Σαδ ºá Γ«τ¬«⌐ «ΓßπΓßΓ-
- óπεΓ, Γ«τ¡«ßΓ∞ αáó¡á 0. ä½∩ »αÑ«íαẫóá¡¿∩ µÑ½δσ
- Γ«τ¡«ßΓ∞ ÑßΓ∞ ¼¿¡¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« óδó«ñ¿¼δσ µ¿Σα.
- ä½∩ 'g' ¿ 'G'- φΓ« ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« º¡áτáΘ¿σ
- µ¿Σα. ä½∩ 'e', 'E' ¿ 'f'- φΓ« ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ
- ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿. ä½∩ 's' - φΓ« ¼á¬ß¿¼á½∞¡«Ñ ¬«½¿-
- τÑßΓó« ½¿ΓÑα ó ßΓ᫬Ñ. àß½¿ Γ«τ¡«ßΓ∞ ó¬½ετáÑΓ ½¿ñ¿-
- απεΘ¿⌐ 0, Γ«úñá ßó«í«ñ¡«Ñ »«½Ñ óδó«ñá ºá»«½¡∩ÑΓß∩ 0.
-
- l
-
- é ß½πτáÑ ß»Ñµ¿Σ¿¬áµ¿⌐ »αÑ«íαẫóá¡¿∩ o, b, u, x, X,
- i, d ¿ß»«½∞ºπѼδ⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ Γ¿»á long,
- ¿ß¬½ετÑ¡¿Ñ ß«ßΓáó½∩ÑΓ »αÑ«íαẫóá¡¿Ñ p, ¬«úñá áαúπ-
- ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ ñá½∞¡¿¼ π¬áºáΓѽѼ. ä½∩ ñαπú¿σ
- »αÑ«íαẫóá¡¿⌐ φëà ӽáú ¿ú¡«α¿απÑΓß∩.
-
- L
-
- ¥Γ«Γ Σ½áú ¿ú¡«α¿απÑΓß∩.
-
- Conversion_char ÅαÑ«íαáºπεΘá∩ ½¿ΓÑαá
-
- ¥Γ« «ñ¡á ¿º ½¿ΓÑα d, i, o, b, u, x, X, f, e, E, g,
- G, c, s, p, n, %. äÑ⌐ßΓó¿Ñ ñαπú¿σ ½¿ΓÑα ¡Ñ«»αÑ-
- ñѽѡ«.
-
- d,i,o,b,u,x,X
-
- æ««ΓóÑΓßóπεΘ¿⌐ µÑ½δ⌐ áαúπ¼Ñ¡Γ »αÑ«íαáºπÑΓß∩ ó ßΓα«-
- ¬π µ¿Σα, »α¿τѼ, 'o' »α«¿ºó«ñ¿Γ íѺº¡á¬«ó«Ñ ó«ß∞¼Ñ-
- α¿τ¡«Ñ, `b' - íѺº¡á¬«ó«Ñ ñó«¿τ¡«Ñ, 'u' - íѺº¡á¬«-
- ó«Ñ ñÑß∩Γ¿τ¡«Ñ, 'x' ¿ 'X' - íѺº¡á¬«ó«Ñ ΦÑßΓ¡áñµá-
- Γ¿α¿τ¡«Ñ, 'i' ¿ 'd' - ñÑß∩Γ¿τ¡«Ñ ß« º¡á¬«¼. é ß½π-
- τáÑ 'x' ¿ß»«½∞ºπεΓß∩ ßΓα«τ¡δÑ µ¿Σαδ, ó ß½πτáÑ
- 'X' - ºáú½áó¡δÑ. àß½¿ ¡Ñ ߻ѵ¿Σ¿µ¿α«óá¡á Γ«τ¡«ßΓ∞,
- ¿ß»«½∞ºπÑΓß∩ π¼«½τá¡¿Ñ 1. àß½¿ αÑá½∞¡« óδó«ñ¿Γß∩
- ¼Ñ¡∞ΦÑ µ¿Σα, τѼ «»αÑñѽѡ« Γ«τ¡«ßΓ∞ε, óδó«ñ ñ«-
- »«½¡∩ÑΓß∩ ½¿ñ¿απεΘ¿¼¿ »α«íѽἿ. àß½¿ áαúπ¼Ñ¡Γ ¿
- Γ«τ¡«ßΓ∞ αáó¡δ 0, ¡¿τÑú« ¡Ñ »ÑτáΓáεΓß∩.
-
- c
-
- î½áñΦ¿⌐ º¡áτáΘ¿⌐ íá⌐Γ µÑ½«ú« áαúπ¼Ñ¡Γá »ÑτáΓáÑΓß∩
- ¬á¬ ½¿ΓÑαá.
-
- e,E
-
- Çαúπ¼Ñ¡Γ Γ¿»á double »ÑτáΓáÑΓß∩, ¿ß»«½∞ºπ∩ »αÑñ-
- ßΓáó½Ñ¡¿Ñ ([-]d.dddddd+-dd). çñÑß∞ »ÑαÑñ ñÑß∩Γ¿τ¡«⌐
- Γ«τ¬«⌐ «ñ¡á µ¿Σαá ¿ precision µ¿Σα »«ß½Ñ. ô¼«½τá¡¿Ñ
- ñ½∩ precision αáó¡« 6. àß½¿ precision 0, ñÑß∩Γ¿τ¡á∩
- Γ«τ¬á ¡Ñ »ÑτáΓáÑΓß∩. é φ¬ß»«¡Ñ¡ΓÑ ó¼ÑßΓ« 'e' íπñÑΓ
- ¿ß»«½∞º«óá¡« 'E', Ñß½¿ ºáñá¡á ½¿ΓÑαá 'E'. é φ¬ß»«-
- ¡Ñ¡ΓÑ »α¿ßπΓßΓóπεΓ ¬á¬ ¼¿¡¿¼π¼ ñóÑ µ¿Σαδ.
-
- f
-
- Çαúπ¼Ñ¡Γ Γ¿»á double »ÑτáΓáÑΓß∩ ó ó¿ñÑ ßΓ᫬¿
- [-]dd.dddd. 諽¿τÑßΓó« µ¿Σα »«ß½Ñ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿
- ºáñáÑΓß∩ precision, ¬«Γ«α«Ñ »« π¼«½τá¡¿ε αáó¡« 6.
- àß½¿ precision 0, ñα«í¡á∩ τáßΓ∞ ¿ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á
- ¡Ñ »ÑτáΓáεΓß∩.
-
- g,G
-
- Çαúπ¼Ñ¡Γ Γ¿»á double »ÑτáΓáÑΓß∩ c »«¼«Θ∞ε Σ«α¼áΓá
- 'f' ¿½¿ 'e' (¿½¿ 'E', Ñß½¿ ºáñá¡ 'G' Σ«α¼áΓ) ó
- ºáó¿ß¿¼«ßΓ¿ «Γ óѽ¿τ¿¡δ áαúπ¼Ñ¡Γá. 'e' ¿ß»«½∞ºπÑΓß∩,
- Ñß½¿ φ¬ß»«¡Ñ¡Γá < 3 ¿½¿ φ¬ß»«¡Ñ¡Γá > precision.
- Precision ºáñáÑΓ ¬«½¿τÑßΓó« º¡áτáΘ¿σ µ¿Σα; π¼«½τá-
- ¡¿Ñ αáó¡« 6. äÑß∩Γ¿τ¡á∩ Γ«τ¬á »«∩ó½∩ÑΓß∩, Ñß½¿
- »αÑñΦÑßΓóπÑΓ µ¿ΣαÑ. çá¼δ¬áεΘ¿Ñ 0 «»π߬áεΓß∩.
-
- n
-
- Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á µÑ½«Ñ, ó ¬«Γ«α«Ñ
- ºá»¿ßδóáÑΓß∩ ¬«½¿τÑßΓó« µ¿Σα, ¡á»ÑτáΓá¡¡δσ ¬ φΓ«¼π
- ¼«¼Ñ¡Γπ. ì¿¬á¬¿Ñ ½¿ΓÑαδ ¡Ñ »ÑτáΓáεΓß∩ ¿ ¡Ñ »αÑ«íαá-
- ºπεΓß∩.
-
- p
-
- Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ, º¡áτÑ¡¿Ñ ¬«Γ«α«ú«
- (áñαÑß) »ÑτáΓáÑΓß∩ ó ó¿ñÑ segment:offset ñ½∩ ñá½∞-
- ¡Ñú« π¬áºáΓѽ∩ ¿½¿ ó ó¿ñÑ XXXX ñ½∩ í½¿ª¡Ñú« π¬áºá-
- Γѽ∩.
-
- s
-
- Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ßΓ᫬π. ï¿ΓÑαδ »Ñτá-
- ΓáεΓß∩ ñ« ºá¼δ¬áεΘÑú« 0, ¿½¿ ñ« ¿ßτÑα»á¡¿∩ ½¿ΓÑα, ¬«-
- ½¿τÑßΓó« ¬«Γ«αδσ ºáñá¡« precision. ô¼«½τá¡¿Ñ precision
- αáó¡« 32767. çá¼δ¬áεΘ¿⌐ 0 ¡Ñ »ÑτáΓáÑΓß∩.
-
- %
-
- ÅÑτáΓáÑΓß∩ ½¿ΓÑαá '%'.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- char * msg="ûÑ½δ¼¿ Σ«α¼áΓἿ ∩ó½∩εΓß∩:";
- int number=10;
- double num=345.2356;
- printf("%s Hex: 0%x, Decimal:%d, Octal: %o\n",
- msg, number, number, number);
- printf("\n Æ«τ¡«ßΓ∞ »½áóáεΘÑ⌐ Γ«τ¬¿
- ñ½∩ PI: %.2f, %.4f, %.8f\n", PI,PI,PI);
- printf("\n %.4f ¥¬ß»«¡Ñ¡µ¿á½∞¡δ⌐ Σ«α¼áΓ : %E\n",
- num,num);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ¬«½¿τÑßΓó« ¡á»ÑτáΓá¡¡δσ ½¿ΓÑα. àß½¿ ¿¼Ñ-
- ½á ¼ÑßΓ« «Φ¿í¬á, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ «Γα¿µáΓѽ∞¡«.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ scanf, vprintf, vsprintf, vfprintf.
-
-
- putc, putchar é¢éÄä ïêÆàÉ¢ é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int putc(int c, FILE *fp); /* ANSI */
- int putchar(int c); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çỿßδóáÑΓ ½¿ΓÑαπ 'c' ó »«Γ«¬ fp (putc) ¿½¿ ó stdout
- (putchar).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- char *string = "¥Γ« »α¿¼Ñα ñ½∩ putc()";
- int i, ch;
- for (i=0; (i<strlen(string))&&((ch=putc(string[i],
- stdout)) !=EOF); i++);
- putchar('.');
- putchar('\n');
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ ºá»¿ßá¡¡πε ½¿ΓÑαπ ¿½¿ EOF ó ß½πτáÑ «Φ¿í¬¿
- ºá»¿ß¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fputc, getc, getchar.
-
-
- puts é¢éÄä æÆÉÄèê é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int puts(char *s); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çỿßδóáÑΓ ßΓ᫬π s ó »«Γ«¬ stdout ( íѺ ºáóÑαΦáεΘÑ-
- ú« 0 ), ºáΓѼ ºá»¿ßδóáÑΓ newline.
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- char *string="éδó«ñ¿¼ φΓπ ßΓ᫬𠻫ßαÑñßΓó«¼ puts(),";
- char *string2="Puts óßΓáó½∩ÑΓ ½¿ΓÑαπ newline.";
- puts(string);
- puts(string2);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ½¿í« EOF ó ß½πτáÑ
- «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fputs, gets.
-
-
-
- qsort ü¢æÆÉǃ æÄÉÆêÉÄéèÇ ÆÇüïêû¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- void qsort(void *base, unsigned nel, unsigned size,
- int (*compar)(void *, void *)); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÉÑ὿ºπÑΓ íδßΓαπε ß«αΓ¿α«ó¬π Γáí½¿µδ ñá¡¡δσ.
-
- base - π¬áºáΓѽ∞ ¡á Γáí½¿µπ.
- nel - ¬«½¿τÑßΓó« φ½Ñ¼Ñ¡Γ«ó Γáí½¿µδ.
- size - αẼÑα ó íá⌐Γáσ φ½Ñ¼Ñ¡Γá Γáí½¿µδ.
- compar - ¿¼∩ Σπ¡¬µ¿¿, αÑ὿ºπεΘÑ⌐ á½ú«α¿Γ¼ ßαáó¡Ñ-
- ¡¿∩ ñóπσ áαúπ¼Ñ¡Γ«ó, ºáñá¡¡δσ π¬áºáΓѽ∩¼¿.
- öπ¡¬µ¿∩ »«ßΓáó½∩ÑΓß∩ »α«úαá¼¼¿ßΓ«¼ ¿ ñ«½ª-
- ¡á ó«ºóαáΘáΓ∞ µÑ½«Ñ, ¬«Γ«α«Ñ ¼Ñ¡∞ΦÑ, αáó-
- ¡« ¿½¿ í«½∞ΦÑ 0 ó ß««ΓóÑΓßΓó¿¿ ß αѺπ½∞-
- ΓáΓ«¼ ßαáó¡Ñ¡¿∩ ñóπσ áαúπ¼Ñ¡Γ«ó.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAXL 10
- unsigned char *line[MAXL];
- comp(unsigned char **a, unsigned char **b);
- {
- return strcmp(*a, *b);
- }
- main()
- {
- int j,k;
- unsigned char buffer[82];
- printf("éóÑñ¿ΓÑ 10 ßΓ᫬ ñá¡¡δσ\n");
- for (j=0; j<MAXL; ++j)
- {
- printf("æΓ᫬á: %d\n", j+1);
- if (!fgets(buffer,80,stdin))
- break;
- line[j]=malloc(strlen(buffer)+1);
- strcpy(line[j],buffer);
- }
- printf("\n\n æ«αΓ¿απѼ 10 ßΓ᫬ ¿º stdin:\n");
- qsort(line, j, sizeof(unsigned char *), comp);
- for (k=0; k<j; ++k)
- printf("æΓ᫬á: %d%s\n", k+1,line[k]);
- }
-
-
- raise éÄçüôäêÆ£ æêâìÇï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <signal.h>
- int raise(int sig); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- éδαáíáΓδóáÑΓ ß¿ú¡á½ ó óδ»«½¡∩Ѽ«⌐ »α«úαá¼¼Ñ. Æ¿» sig
- ß¿ú¡á½á «íßπªñáÑΓß∩ ó «»¿ßá¡¿¿ Σπ¡¬µ¿¿ signal(). Å«
- ß¿ú¡á½π óδºδóáÑΓß∩ ΓѬπΘá∩ »α«µÑñπαá «íαáí«Γ¬¿ ß¿ú¡á-
- ½«ó. Å«½¡«Ñ «»¿ßá¡¿Ñ ñá¡« ñ½∩ Σπ¡¬µ¿¿ signal().
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ 0 ¿½¿ º¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ «Γ 0, ó ß½πτáÑ ¡Ñ-
- πñáτ¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ signal.
-
- Åα¿¼Ñα:
-
- #include <signal.h>
- #include <stdio.h>
- void div_zero(int val);
- {
- printf("髺¡¿¬½« ñѽѡ¿Ñ ¡á 0\n");
- exit(0);
- }
- main()
- {
- float numerator = 3.0;
- float denominator = 0.0;
- if (signal(SIGFPE,&div_zero)==SIG_ERR)
- {
- printf("ìÑ ¼«úπ πßΓá¡«ó¿Γ∞ SIGFPE!\n");
- abort();
- }
- if (denominator==0)
- raise(SIGFPE);
- else
- printf("ÉѺπ½∞ΓáΓ ñѽѡ¿∩ αáóÑ¡ %f\n",
- numerator/denominator);
- }
-
-
- rand æïôùÇëìǃ éàïêùêìÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- int rand(void); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- rand ó«ºóαáΘáÑΓ ß½πτá⌐¡«Ñ τ¿ß½« ó ñ¿á»áº«¡Ñ «Γ 0 ñ«
- 32767. 漫Γα¿ΓÑ ñá½ÑÑ «»¿ßá¡¿Ñ srand.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ µÑ½δ⌐ (int) αѺπ½∞ΓáΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ srand.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- int i;
- for(i=0; i<20; i++);
- printf("i: %d rand(): %d\n", i, rand());
- }
-
- read ùêÆÇÆ£ üïÄè êç öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int read (unsigned fd, void *buffer, unsigned length);
-
- Ä»¿ßá¡¿Ñ:
-
- æ¿ßΓѼ¡δ⌐ ó맮ó read íÑαÑΓ (τ¿ΓáÑΓ) «τÑαÑñ¡«⌐ í½«¬
- ½¿ΓÑα ¿º Σá⌐½á, ßó∩ºá¡¡«ú« ß ñÑß¬α¿»Γ«α«¼ Σá⌐½á fd.
- ù¿ß½« íá⌐Γ«ó, ßτ¿ΓδóáѼδσ ó íπΣÑα buffer «»αÑñѽ∩ÑΓß∩
- »áαá¼ÑΓα«¼ length. ÅÑαÑßδ½¬á »α«¿ºó«ñ¿Γß∩ íѺ »αÑ«íαá-
- º«óá¡¿⌐ (φΓ« «íαáΘÑ¡¿Ñ ¬ MS DOS).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓ τ¿ß½« αÑá½∞¡« ßτ¿Γá¡¡δσ ½¿ΓÑα, ¬«Γ«α«Ñ ¼«-
- ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ length, Ñß½¿ óßΓαÑΓ¿½ß∩ ¬«¡Ñµ
- Σá⌐½á. àß½¿ »α«¿º«Φ½á «Φ¿í¬á τΓÑ¡¿∩, ó«ºóαáΘáÑΓß∩ º¡á-
- τÑ¡¿Ñ -1 ¿ πßΓá¡áó½¿óáÑΓß∩ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fread, open, write.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <dos.h>
- #include <io.h>
- #define BYTECOUNT 255
- main()
- {
- char *buffer;
- int fd, numread, count;
- if (( fd = open("file.dat", O_RDONLY))== -1)
- {
- perror("open failed on file file.dat");
- exit(1);
- }
- buffer = malloc(BYTECOUNT+1);
- for (count = 0; count < BYTECOUNT; count++)
- buffer[count]=`\0';
- numread = read(fd, buffer, BYTECOUNT);
- printf("/n ù¿ß½« ßτ¿Γá¡¡δσ ½¿ΓÑα %d\n",numread);
- close(fd);
- free(buffer);
- }
-
-
- realloc ÅàÉàÉÇçîàæÆêÆ£ üïÄè ÅÇîƒÆê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void *realloc(void *ptr, unsigned size); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- realloc ¿º¼Ñ¡∩ÑΓ αẼÑα αá¡ÑÑ óδñѽѡ¡«ú« í½«¬á »á¼∩-
- Γ¿, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ ptr. ÉẼÑα φΓ«ú« í½«¬á »«ß½Ñ
- «íαáΘÑ¡¿∩ ¬ realloc «»αÑñѽ∩ÑΓß∩ »áαá¼ÑΓα«¼ size. àß½¿
- size αáóÑ¡ 0, í½«¬ «ßó«í«ªñáÑΓß∩ ¿ ó«ºóαáΘáÑΓß∩ NULL.
- àß½¿ ptr αáóÑ¡ NULL, Γ« «Γó«ñ¿Γß∩ (»« malloc) size
- íá⌐Γ«ó »á¼∩Γ¿ ¿ ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á φëà ¼áßß¿ó
- »á¼∩Γ¿. àß½¿ ñ½∩ αáßΦ¿αÑ¡¿∩ ΓѬπΘÑú« í½«¬á ¼ÑßΓá ¡Ñ
- σóáΓáÑΓ, íπñÑΓ αẼÑΘÑ¡ ¡«óδ⌐ í½«¬, á ΓѬπΘ¿⌐ í½«¬ «ß-
- ó«í«ñ¿Γß∩. ÆÑ¬πΘ¿Ñ ñá¡¡δÑ »ÑαÑ»¿ΦπΓß∩ ó ¡«óδ⌐ í½«¬.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á »ÑαÑαẼÑΘÑ¡¡δ⌐ í½«¬ »á¼∩-
- Γ¿. àß½¿ ¡ÑΓ »«ñσ«ñ∩ΘÑ⌐ »á¼∩Γ¿ ñ½∩ óδ»«½¡Ñ¡¿∩ realloc,
- ó«ºóαáΘáÑΓß∩ NULL (¡« »á¼∩Γ∞ »« ptr ¡Ñ «ßó«í«ªñáÑΓß∩).
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ calloc, free, malloc.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- main()
- {
- char *ptr;
- ptr = realloc(NULL, 20*sizeof(char));
- strcpy(ptr, "¥Γ« »Ñαóá∩ τáßΓ∞, ");
- ptr = realloc(ptr, 100*sizeof(char));
- strcat(ptr, "¥Γ« óΓ«αá∩ τáßΓ∞);
- printf("%s\n", ptr);
- realloc(ptr, 0);
- }
-
-
- rename ÅàÉàêîàìÄéÇÆ£ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- rename (char *oldname, char *newname); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- çá¼Ñ¡∩ÑΓ π Σá⌐½á oldname φΓ« ¿¼∩ ¡á newname. èá¬
- oldname, Γᬠ¿ newname ¼«úπΓ ß«ñÑαªáΓ∞ ¿¼∩ πßΓα«⌐ßΓóá
- ¿ ¼áαΦαπΓδ, ¡« «íá ¿¼Ñ¡¿ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á «ñ¡« ¿ Γ«
- ªÑ πßΓα«⌐ßΓó«.
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- main()
- {
- int return_code;
- char *oldname, *newname;
- oldname = "data.fil";
- newname = "file.dat";
- return_code = rename(oldname, newname);
- printf("\n%s %s renamed to %s\n", oldname,
- return_code == 0 ? "was": "was not", newname);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- rename ó«ºóαáΘáÑΓ 0, Ñß½¿ ¿¼∩ Σá⌐½á í佫 πß»ÑΦ¡« ¿º¼Ñ-
- ¡Ñ¡«, ¿ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ ºá¼Ñ¡á ¡Ñ »α«¿º«Φ½á,
- πßΓá¡áó½¿óá∩ »α¿ φΓ«¼ errno.
-
-
- rewind ôæÆÇìÄéêÆ£ ôèÇçÇÆàï£ öÇëïÇ é ìÇùÇïÄ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- void rewind(FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- rewind πßΓá¡áó½¿óáÑΓ π¬áºáΓѽ∞ Σá⌐½á, ßó∩ºá¡¡δ⌐ ß »«-
- Γ«¬«¼, ó Ñú« ¡áτὫ. ¥Γ« φ¬ó¿óá½Ñ¡Γ¡« ¿ß»«½∞º«óá¡¿ε
- fseek(fp, 0L, SEEK_SET) ß «τ¿ΘÑ¡¡δ¼ Σ½áú«¼ «Φ¿í«¬
- ñ½∩ fp.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- FILE *fp;
- char *string = "String one, example string";
- char *string2 = "xxxxxxxxxxxxxx";
- fp = fopen("file.dat", "w+");
- fprintf(fp, "%s, &string);
- rewind(fp);
- fscanf(fp, "%s", &string2);
- printf("êº Σá⌐½á ¡áºáñ »α«τ½¿: %s\n", string2);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- rewind ¡¿τÑú« ¡Ñ ó«ºóαáΘáÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fseek.
-
-
- rmdir ôäÇïêÆ£ èÇÆÇïÄâ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <direct.h>
- int rmdir(char *pathname);
-
- Ä»¿ßá¡¿Ñ:
-
- rmdir πñá½∩ÑΓ ¬áΓὫú, «»αÑñѽѡ¡δ⌐ áαúπ¼Ñ¡Γ«¼
- pathname. èáΓὫú ñ«½ªÑ¡ íδΓ∞ »πßΓδ¼ ¿ ¡Ñ ¼«ªÑΓ íδΓ∞
- ¬«α¡Ñóδ¼ ¬áΓὫú«¼ ¿½¿ ΓѬπΘ¿¼ αáí«τ¿¼ ¬áΓὫú«¼. éßÑ
- »α«¼ÑªπΓ«τ¡δÑ ¬áΓὫú¿ Γá¬ªÑ ñ«½ª¡δ ßπΘÑßΓó«óáΓ∞.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <direct.h>
- main()
- {
- int result;
- result = rmdir("\\temp");
- if (result == 0)
- printf("èáΓὫú \\temp πñá½Ñ¡\n");
- else
- printf("ìÑ ß¼«ú½¿ πñ὿Γ∞ ¬áΓὫú \\temp \n")];
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ rmdir ó«ºóαáΘáÑΓ 0, Ñß½¿ ¬áΓὫú íδ½ πñá½Ñ¡.
- 髺óαáΘÑ¡¡«Ñ º¡áτÑ¡¿Ñ -1 «º¡áτáÑΓ «Φ¿í¬π, »α¿ φΓ«¼ πß-
- Γá¡áó½¿óáÑΓß∩ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ mkdir, chdir.
-
-
-
- sbrk ôéàïêùêÆ£ æàâîàìÆ äÇìì¢ò
-
- êß»«½∞º«óá¡¿Ñ:
-
- void *sbrk(unsigned count);
-
- Ä»¿ßá¡¿Ñ:
-
- sbrk »δΓáÑΓß∩ αáßΦ¿α¿Γ∞ ßÑú¼Ñ¡Γ ñá¡¡δσ ¡á τ¿ß½« íá⌐Γ«ó,
- π¬áºá¡¡δσ ó count. Åα¿ πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿ ó«ºóαáΘáÑΓ-
- ß∩ π¬áºáΓѽ∞ ¡á ñ«íáó½Ñ¡¡πε »á¼∩Γ∞, ó »α«Γ¿ó¡«¼ ß½πτáÑ
- ó«ºóαáΘáÑΓß∩ -1. ä½∩ T,S ¿ M ¼«ñѽÑ⌐ »á¼∩Γ¿, Ñß½¿ ¡Ñ
- íδ½á «íΩ∩ó½Ñ¡á »ÑαѼѡ¡á∩ _okbigbuf, Γ« óß∩ ñ«ßΓπ»¡á∩
- »á¼∩Γ∞, αẼÑα«¼ ñ« 64 èí, »α¿ß«Ññ¿¡∩ÑΓß∩ »α¿ ºá»π߬Ñ
- »α«úαá¼¼δ ¿ sbrk íπñÑΓ óßÑúñá ßí«¿Γ∞ (Γ.Ñ. ó«ºóαáΘáΓ∞
- -1). àß½¿ »ÑαѼѡ¡á∩ _okbigbuf «íΩ∩ó½Ñ¡á ó »α«úαá¼¼Ñ ¿
- ¿¡¿µ¿á½¿º¿α«óá¡á 0, Γ« ó '¬πτÑ' αẼÑΘáÑΓß∩Γ Γ«½∞¬«
- ΓαÑíπѼá∩ »α«úαá¼¼Ñ »á¼∩Γ∞ ¿ ºñÑß∞ »«½Ñº¡á sbrk.
-
- ä½∩ C ¿ L ¼«ñѽÑ⌐ »á¼∩Γ¿, Ñß½¿ sbrk() ¡Ñ ¼«ªÑΓ αáßΦ¿-
- α¿Γ∞ ßÑú¼Ñ¡Γ ñá¡¡δσ, «¡á íπñÑΓ »δΓáΓ∞ß∩ »α¿ß«Ññ¿¡¿Γ∞
- ¡«óδ⌐ ßÑú¼Ñ¡Γ.
-
- sbrk() ∩ó½∩ÑΓß∩ «íΘÑ⌐ τáßΓ∞ε Σπ¡¬µ¿⌐ calloc(),
- malloc() ¿ realloc().
- Åα¿½«ªÑ¡¿∩¼ ß½ÑñπÑΓ ¿ºíÑúáΓ∞ ¿ß»«½∞º«óáΓ∞ φΓπ
- Σπ¡¬µ¿ε.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- àß½¿ ¡Ñ σóáΓ¿½« »á¼∩Γ¿ ñ½∩ πñ«ó½ÑΓó«αÑ¡¿∩ ºá»α«ßá,
- sbrk ó«ºóαáΘáÑΓ -1 ¿ πßΓá¡áó½¿óáÑΓ errno. é »α«-
- Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á í½«¬ »á¼∩Γ¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ calloc, free, malloc, realloc.
-
-
- Åα¿¼Ñα:
-
- #include <string.h>
- #include <stdio.h>
- void *sbrk(int);
- main()
- {
- unsigned int count = 100;
- char *ptr;
- ptr = sbrk(count);
- if (ptr == (char *)-1)
- {
- perror("No available space for sbrk\n");
- return;
- }
- strcpy(ptr, "String of data:");
- strcat(ptr, "another string added\n");
- fputs(ptr, stdout);
- }
-
-
- scanf öÄÉîÇÆì¢ë ééÄä
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int scanf(char *format,...); /* ANSI */
- int fscanf(FILE *fp, char *format,...); /* ANSI */
- int sscanf(char *buffer, char *format,...); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ« »α«µÑñπαδ Σ«α¼áΓ¡«ú« óó«ñá. î¡«ú«Γ«τ¿∩ «í«º¡áτáεΓ
- áαúπ¼Ñ¡Γδ («Γ 0 ¿ í«½ÑÑ), ¬«Γ«αδÑ ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿
- ¡á »ÑαѼѡ¡δÑ ñ½∩ óó«ñá ¿¡Σ«α¼áµ¿¿;
-
- fscanf τ¿ΓáÑΓ ¿º óσ«ñ¡«ú« »«Γ«¬á fp.
- scanf τ¿ΓáÑΓ ¿º stdin.
- sscanf τ¿ΓáÑΓ ¿º π¬áºá¡¡«ú« íπΣÑαá buffer. æτ¿ΓδóáÑ-
- ¼δÑ ½¿ΓÑαδ »αÑ«íαáºπεΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß
- Σ«α¼áΓ¡«⌐ ßΓ᫬«⌐, ¿ φΓ¿ »αÑ«íαẫóá¡¡δÑ º¡á-
- τÑ¡¿∩ αẼÑΘáεΓß∩ »« áαúπ¼Ñ¡Γá¼-π¬áºáΓѽ∩¼.
-
- Çαúπ¼Ñ¡Γδ ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩¼¿ ¡á Γ«, ¬πñá íπñπΓ
- ºá»¿ßδóáΓ∞ß∩ º¡áτÑ¡¿∩.
-
- ö«α¼áΓ¡á∩ ßΓ᫬á ß«ßΓ«¿Γ ¿º:
-
- 1. Åα«íѽ«ó, ½¿ΓÑα Γáíπ½∩µ¿¿ ¿ ¡«ó«⌐ ßΓ᫬¿, ¬«-
- Γ«αδÑ óδºδóáεΓ »α«»π߬ óó«ñá ñ« ß½ÑñπεΘÑ⌐, ¡Ñ
- 'íѽ«⌐' (whitespace) ½¿ΓÑαδ.
- 2. äαπú¿σ ½¿ΓÑα, ¬α«¼Ñ ½¿ΓÑαδ %, ¬«Γ«αδÑ "«ñ¿¡ ó
- «ñ¿¡" »ÑαÑ»αáó½∩εΓß∩ ó« óó«ñ.
- 3. æ»Ñµ¿Σ¿¬áµ¿⌐ »αÑ«íαẫóá¡¿∩, ¬«Γ«αδÑ óδú½∩ñ∩Γ
- ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- ┌──────────────────────────────────────────────────────┐
- │ '%'['*'][Φ¿α¿¡á »«½∩][Γ«τ¡«ßΓ∞]½¿ΓÑαá »αÑ«íαẫóá¡¿∩ │
- └──────────────────────────────────────────────────────┘
-
- ¥Γá ßΓα«¬á «»αÑñѽ∩ÑΓ, ¬á¬¿¼ «íαẫ¼ óó«ñ¿¼δÑ ß¿¼ó«½δ
- ñ«½ª¡δ »αÑ«íαẫóδóáΓ∞ß∩ ¿ ºá»¿ßδóáΓ∞ß∩ »« ß««ΓóÑΓ-
- ßΓóπεΘ¿¼ áαúπ¼Ñ¡Γá¼-π¬áºáΓѽ∩¼. ÅαÑ«íαẫóá¡¿Ñ »α«ñ«½-
- ªáÑΓß∩ ñ« »Ñαó«⌐ ¡Ñ»«ñσ«ñ∩ΘÑ⌐ óσ«ñ¡«⌐ ½¿ΓÑαδ ¿½¿ ¿ß-
- τÑα»á¡¿∩ Φ¿α¿¡δ »«½∩.
- æ¿¼ó«½ '*' ∩ó½∩ÑΓß∩ Σ½áú«¼ »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿∩. Ä¡
- óδºδóáÑΓ óδ»«½¡Ñ¡¿Ñ »αÑ«íαẫóá¡¿∩, ¡« αѺπ½∞ΓáΓ ¿ú¡«-
- α¿απÑΓß∩ ¿ ñ½∩ ¡Ñú« ¡Ñ ¡πªÑ¡ ß««ΓóÑΓßΓóπεΘ¿⌐ áαúπ¼Ñ¡Γ-
- -π¬áºáΓѽ∞.
- àß½¿ τ¿ß½« áαúπ¼Ñ¡Γ«ó-π¬áºáΓѽÑ⌐ ¼Ñ¡∞ΦÑ ß»Ñµ¿Σ¿¬áµ¿⌐
- »αÑ«íαẫóá¡¿∩, αѺπ½∞ΓáΓ ¡Ñ»αÑñ߬áºπѼ. àß½¿ ªÑ τ¿ß½«
- áαúπ¼Ñ¡Γ«ó-π¬áºáΓѽÑ⌐ í«½∞ΦÑ, ½¿Φ¡¿Ñ π¬áºáΓѽ¿ ¿ú¡«α¿-
- απεΓß∩.
-
- ÿ¿α¿¡á »«½∩ (field_width)
- ────────────────────────
- ¥Γ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑß∩Γ¿τ¡δσ µ¿Σα, «»αÑñѽ∩ε-
- Θá∩ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« ½¿ΓÑα ó »«½Ñ óó«ñá.
-
- Æ«τ¡«ßΓ∞ (precision)
- ────────────────────
- L ¿½¿ l (쿪¡¿⌐ αÑú¿ßΓα L)
- àß½¿ 'l' ¿ß»«½∞ºπÑΓß∩ ß «ñ¡«⌐ ¿º (d, i, o, u, x)
- ½¿ΓÑα »αÑ«íαẫóá¡¿∩, Γ« «¡á «º¡áτáÑΓ, τΓ« áαúπ-
- ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á long, á ¡Ñ ¡á int. l
- ¿½¿ L Σ½áú, »α¿ ¿ß»«½∞º«óá¡¿¿ (e) ¿½¿ (f) ½¿ΓÑα
- »αÑ«íαẫóá¡¿∩, «º¡áτáÑΓ, τΓ« áαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩
- π¬áºáΓѽѼ ¡á double, á ¡Ñ ¡á float.
-
- h Çαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á short.
-
- ï¿ΓÑαá »αÑ«íαẫóá¡¿∩ (conv_char)
- ─────────────────────────────────
- è ½¿ΓÑαá¼ »αÑ«íαẫóá¡¿∩ «Γ¡«ß∩Γß∩:
-
- d Ī¿ñáÑΓß∩ óó«ñ µÑ½«ú« τ¿ß½á, áαúπ¼Ñ¡Γ-
- -π¬áºáΓѽ∞ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á int.
-
- e,f,g,E,G Ī¿ñáÑΓß∩ óó«ñ τ¿ß½á ß »½áóáεΘÑ⌐ ºá »∩Γ«⌐.
- ö«α¼áΓ τ¿ß½á Γᬫ⌐ ªÑ, ¬á¬ ¿ ó C¿.
- Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á float
- (¿½¿ double, Ñß½¿ ¿ß»«½∞ºπÑΓß∩ 'l' ¿½¿ 'L').
-
- i Ī¿ñáÑΓß∩ óó«ñ µÑ½«ú« τ¿ß½á. àß½¿ τ¿ß½« ¡á-
- τ¿¡áÑΓß∩ ß 0, «¡« ó«ß»α¿¡¿¼áÑΓß∩ ¬á¬ ó«ß∞¼Ñ-
- α¿τ¡«Ñ. àß½¿ τ¿ß½« ¡áτ¿¡áÑΓß∩ ß 0x ¿½¿ 0X,
- «¡« ΦÑßΓ¡áñµáΓ¿α¿τ¡«Ñ. Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
- π¬áºáΓѽѼ ¡á int.
-
- b Ī¿ñáÑΓß∩ óó«ñ ñó«¿τ¡«ú« τ¿ß½á. Çαúπ¼Ñ¡Γ
- ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á µÑ½«Ñ.
-
- o Ī¿ñáÑΓß∩ óó«ñ ó«ß∞¼Ñα¿τ¡«ú« τ¿ß½á. Çαúπ-
- ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á int.
-
- x,X Ī¿ñáÑΓß∩ óó«ñ ΦÑßΓ¡áñµáΓ¿α¿τ¡«ú« τ¿ß½á
- (áñαÑßá). Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ
- ¡á int.
-
- p Ī¿ñáÑΓß∩ óó«ñ ΦÑßΓ¡áñµáΓ¿α¿τ¡«ú« τ¿ß½á.
- Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á π¬áºá-
- Γѽ∞.
-
- u Ī¿ñáÑΓß∩ óó«ñ íѺº¡á¬«ó«ú« µÑ½«ú« τ¿ß½á.
- Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á unsigned.
-
- n Å« π¬áºáΓѽε, ºáñá¡¡«¼π áαúπ¼Ñ¡Γ«¼, ºá»¿ßδ-
- óáÑΓß∩ τ¿ß½« ½¿ΓÑα, ßτ¿Γá¡¡δσ ¬ φΓ«¼π ¼«-
- ¼Ñ¡Γπ »α¿ φΓ«¼ «íαáΘÑ¡¿¿ ¬ scanf().
-
- [ Ī¿ñáÑΓß∩ óó«ñ ßΓ᫬¿ ½¿ΓÑα. îѪñπ [ ¿
- ºá¬αδóáεΘÑ⌐ ] ñ«½ª¡δ íδΓ∞ ½¿ΓÑαδ, ñ«»πßΓ¿-
- ¼δÑ ó φΓ«⌐ ßΓ᫬Ñ. àß½¿ ºá ߬«í¬«⌐ [ ßαáºπ
- ß½ÑñπÑΓ ½¿ΓÑαá^, ñ«»πßΓ¿¼δ¼¿ ½¿ΓÑαἿ óó«-
- ñ¿¼«⌐ ßΓ᫬¿ ∩ó½∩εΓß∩ óßÑ ºá ¿ß¬½ετÑ¡¿Ñ¼
- »ÑαÑτ¿ß½Ñ¡¡δσ ¼Ñªñπ ^ ¿ ]. Çαúπ¼Ñ¡Γ ñ«½ªÑ¡
- íδΓ∞ π¬áºáΓѽѼ ¡á ßΓ᫬π. é ¬«¡µÑ ßΓ᫬¿
- ñ«íáó½∩ÑΓß∩ 0.
-
- s Ī¿ñáÑΓß∩ óó«ñ ßΓ᫬¿ ½¿ΓÑα. Çαúπ¼Ñ¡Γ ñ«½-
- ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á ßΓ᫬π. Å«½Ñ óó«-
- ñá ºá»«½¡∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á ¡Ñ ßτ¿ΓáÑΓ-
- ß∩ »α«íѽ ¿½¿ ½¿ΓÑαá ¡«ó«⌐ ßΓ᫬¿, ¬«Γ«αδÑ
- ¡Ñ ∩ó½∩εΓß∩ τáßΓ∞ε »«½∩ óó«ñá. è ¬«¡µπ
- ßΓ᫬¿ ñ«íáó½∩ÑΓß∩ 0.
-
- c Ī¿ñáÑΓß∩ óó«ñ ½¿ΓÑαδ. Çαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞
- π¬áºáΓѽѼ ¡á ½¿ΓÑαπ. àß½¿ «»αÑñѽѡá Φ¿α¿-
- ¡á »«½∩ (field_width), Γ« ßτ¿ΓδóáÑΓß∩ «»αÑ-
- ñѽѡ¡«Ñ Φ¿α¿¡«⌐ »«½∩ τ¿ß½« ½¿ΓÑα ¿ áαúπ-
- ¼Ñ¡Γ ó φΓ«¼ ß½πτáÑ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ
- ¡á ¼áßß¿ó ½¿ΓÑα, ñ«ßΓáΓ«τ¡δ⌐ ñ½∩ αẼÑΘÑ¡¿∩
- αѺπ½∞ΓáΓá.
-
- % æ««ΓóÑΓßΓóπÑΓ óó«ñπ ½¿ΓÑαδ %.
-
- 濼ó«½δ »αÑ«íαẫóá¡¿∩ e, g ¿ x ¼«úπΓ íδΓ∞ ºáú½áó-
- ¡δ¼¿. äαπú¿Ñ ªÑ ß¿¼ó«½δ íπñπΓ ñáóáΓ∞ ¡Ñ»αÑñ߬áºπÑ-
- ¼δÑ αѺπ½∞ΓáΓδ. ìÑ»«ñσ«ñ∩Θ¿Ñ ½¿ΓÑαδ «ßΓáεΓß∩ ¡Ñ»α«-
- τ¿Γá¡¡δ¼¿ ¿º óσ«ñ¡«ú« »«Γ«¬á. ìÑΓ »α∩¼«ú« »πΓ¿ «»-
- αÑñѽѡ¿∩ Γ«ú«, ñ«ßΓ¿ú¡πΓδ ½¿ Γ«τ¡δÑ ß««ΓóÑΓßΓó¿∩
- ¿½¿ í뫨 »«ñáó½Ñ¡¿∩ »α¿ßóá¿óá¡¿⌐, ¬α«¼Ñ ¿ß»«½∞º«óá-
- ¡¿∩ ß¿¼ó«½á »αÑ«íαẫóá¡¿∩ %n.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- unsigned int result, val;
- printf("éóÑñ¿ΓÑ ñÑß∩Γ¿τ¡«Ñ τ¿ß½«:");
- result = scanf("%i", &val);
- printf("The decimal number [%d] is [%4x]
- hexadecimal", val, val);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓß∩ τ¿ß½« »α¿ßó«Ñ¡¡δσ φ½Ñ¼Ñ¡Γ«ó óó«ñá, ¿ß¬½ε-
- τá∩ »αÑ«íαẫóá¡¿∩ ß »«ñáó½Ñ¡¡δ¼ »α¿ßóá¿ó᡿Ѽ. àß½¿
- óßΓαÑτáÑΓß∩ ¬«¡Ñµ Σá⌐½á ñ« Γ«ú«, ¬á¬ í뫨 óδ»«½¡Ñ¡δ
- ¬á¬¿Ñ-½¿í« »α¿ßóá¿óá¡¿∩ ¿ 󫺡¿¬½¿ ¬á¬¿Ñ-½¿í« ¬«¡Σ½¿¬-
- Γδ (Σ«α¼áΓá ¿ óó«ñá), ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ EOF.
- Scanf() «íδτ¡« ºáóÑαΦáÑΓ αáí«Γπ, ¬«úñá ñ«ßΓ¿úáÑΓ ¬«¡µá
- ßΓ᫬¿ Σ«α¼áΓá.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ printf, fscanf, sscanf
-
-
-
- segread ùêÆÇÆ£ æàâîàìÆì¢à ÉàâêæÆÉ¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <dos.h> /* ßΓαπ¬Γπαδ αÑú¿ßΓα«ó*/
- void segread (struct SREGS *segregs);
-
- Ä»¿ßá¡¿Ñ:
-
- æτ¿ΓδóáÑΓ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γ¡δσ αÑú¿ßΓα«ó ¿ »«¼ÑΘáÑΓ ¿σ
- ó SREGS.
-
- Åα¿¼Ñα:
-
- #include <dos.h>
- #include <stdio.h>
- struct SREGS segregs;
- unsigned code_seg, data_seg, stack_seg, extra_seg;
- main()
- {
- segread(&segregs);
- code_seg = segregs.cs;
- stack_seg = segregs.ss;
- data_seg = segregs.ds;
- extra_seg = segregs.es;
- printf("\n ÉÑú¿ßΓαδ ßÑú¼Ñ¡Γ«ó ßÑ⌐τáß ß«ñÑαªáΓ:\n");
- printf("\n CS: %4x\nDS: %4x\nSS: %4X\nES: %4x\n",
- code_seg, data_seg, stack_seg, extra_seg);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ intdosx, int86x, getDS.
-
-
- setbuf ôæÆÇìÄéêÆ£ üôöàÉ é/é
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- void setbuf(FILE *stream, char *buffer); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ setbuf ºáñáÑΓ íπΣÑα ñ½∩ ßτ¿Γδóá¡¿∩ ¿½¿ ºá»¿ß¿
- íá⌐Γ«ó ó »«Γ«¬. àß½¿ áαúπ¼Ñ¡Γ buffer αáóÑ¡ NULL, »«Γ«¬
- ¡Ñ íπΣÑਧ«óá¡. àß½¿ ªÑ buffer ¡Ñ αáóÑ¡ NULL, Γ« «¡
- ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á íπΣÑα, ¬«Γ«αδ⌐ íπñÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ ó맮óáσ read ¿ write. buffer ñ«½-
- ªÑ¡ π¬áºδóáΓ∞ ¡á ½¿ΓÑα¡δ⌐ ¼áßß¿ó αẼÑα«¼ BUFSIZ
- (BUFSIZ «»αÑñѽѡ ó stdio.h). Ä»αÑñѽѡ¡δ⌐ »«½∞º«óáΓÑ-
- ½Ñ¼ íπΣÑα ¿ß»«½∞ºπÑΓß∩ »«Γ«¼ ó¼ÑßΓ« αẼÑΘÑ¡¡«ú« ß¿ß-
- ΓѼ«⌐ »« π¼«½τá¡¿ε íπΣÑαá óó«ñá/óδó«ñá.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- char buffer [BUFSIZ];
- FILE *fp;
- main()
- {
- fp = fopen("file.dat", "r");
- setbuf(fp, buffer);
- printf("ÆÑ»Ñα∞ »«Γ«¬ »α¬αÑ»½Ñ¡ ¬ íπΣÑαπ \n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ setvbuf.
-
-
- setjmp ôæÆÇìÄéêÆ£ ÆÄùèô äïêììÄâÄ ÅàÉàòÄäÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <setjmp.h>
- int setjmp(jmp_buf env); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 漫Γα¿ΓÑ «»¿ßá¡¿Ñ longjmp.
-
-
- setvbuf ôæÆÇìÄéêÆ£ üôöàÉ é/é
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h> /* ANSI */
- int setvbuf(FILE *fp, char *buf,int mode,size_t size);
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ setvbuf «»αÑñѽ∩ÑΓ Γ¿» ¿ αẼÑα íπΣÑαá, ¿ß»«½∞-
- ºπѼ«ú« ñ½∩ »«Γ«¬á. é ñ«»«½¡Ñ¡¿Ñ ¬ »áαá¼ÑΓαá¼ Σπ¡¬µ¿¿,
- ß½ÑñπεΘá∩ ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩ ó«ºñÑ⌐ßΓóπÑΓ ¡á »«óÑ-
- ñÑ¡¿Ñ φΓ«⌐ Σπ¡¬µ¿¿:
-
- _okbigbuf
-
- ¥Γá »ÑαѼѡ¡á∩ ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬« ó T, S ¿ M ¼«ñѽ∩σ
- »á¼∩Γ¿ ¿ π»αáó½∩ÑΓ αẼÑΘÑ¡¿Ñ¼ íπΣÑα«ó, ¬«úñá buf αá-
- óÑ¡ NULL. ¥Γá »ÑαѼ¡¡á∩ ßΓáΓ¿τÑ߬¿ ¿¡¿µ¿á½¿º¿απÑΓß∩
- ó 0 ¿½¿ 1 »α«úαá¼¼¿ßΓ«¼ (»« π¼«½τá¡¿ε ó í¿í½¿«ΓÑ¬Ñ πß-
- Γá¡áó½¿óáÑΓß∩ º¡áτÑ¡¿Ñ 1). àß½¿ _okbigbuf αáó¡á 1 ¿
- ¼«ñѽ∞ »á¼∩Γ¿ T, S ¿½¿ M, Γ« setvbuf() »δΓáÑΓß∩ αáß-
- »«½«ª¿Γ∞ íπΣÑα ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ. àß½¿ φΓ« ¡Ñ óδ»«½-
- ¡∩ÑΓß∩ ¿ size <= BUFSIZ, setvbuf() »δΓáÑΓß∩ αẼÑßΓ¿Γ∞
- íπΣÑα ó¡πΓα¿ ßÑú¼Ñ¡Γá ñá¡¡δσ.
- üπΣÑα, ¬«Γ«αδ⌐ ¡áσ«ñ¿Γß∩ ó¡Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ, »«¼Ñτá-
- ÑΓß∩ πßΓá¡«ó¬«⌐ Σ½áúá _IOBIGBUF ó fp─>_flags. àß½¿
- _okbigbuf αáó¡á 0 ¿½¿ ¼«ñѽ∞ »á¼∩Γ¿ C ¿½¿ L, Γ«
- setvbuf() »δΓáÑΓß∩ αẼÑßΓ¿Γ∞ íπΣÑα ó¡πΓα¿ ßÑú¼Ñ¡Γá
- ñá¡¡δσ. üπΣÑα, αẼÑΘÑ¡¡δ⌐ »«ßαÑñßΓó«¼ setvbuf(), »«-
- ¼ÑτáÑΓß∩ πßΓá¡«ó¬«⌐ Σ½áúá _IOMYBUF ó fp─>flags. 漫Γ-
- α¿ΓÑ »áαáúαáΣ »«ñ ¡áºó᡿Ѽ ⽫íá½∞¡δÑ ÅÑαѼѡ¡δÑ ñ½∩
- í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿ »« _okbigbuf.
-
- Åáαá¼ÑΓαδ Σπ¡¬µ¿¿ ß½ÑñπεΘ¿Ñ:
-
- fp ô¬áºáΓѽ∞ ¡á »«Γ«¬, ¬«Γ«αδ⌐ πªÑ «Γ¬αδΓ, ¡« ó
- ¬«Γ«α«¼ ÑΘÑ ¡Ñ í佫 ¡¿¬á¬¿σ «»Ñαᵿ⌐ τΓÑ¡¿∩
- ¿½¿ ºá»¿ß¿.
-
- buf ô¬áºáΓѽ∞ ¡á íπΣÑα ¿½¿ NULL. àß½¿ NULL, Γ«
- setvbuf() ¿ß»«½∞ºπÑΓ malloc() ¿½¿ farmalloc(),
- τΓ«íδ »«»δΓáΓ∞ß∩ αẼÑßΓ¿Γ∞ íπΣÑα αẼÑα«¼
- size íá⌐Γ. àß½¿ buf ¡Ñ αáóÑ¡ NULL, «¡ π¬áºδóá-
- ÑΓ ¡á íπΣÑα, ¬«Γ«αδ⌐ setvbuf() íπñÑΓ ßó∩ºδóáΓ∞
- ß »«Γ«¬«¼ fp.
-
- mode ÉѪ¿¼; ñ«½ªÑ¡ íδΓ∞ «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- _IONBF ìÑΓ íπΣÑα¿ºáµ¿¿. Åáαá¼ÑΓαδ buf ¿ size
- ¿ú¡«α¿απεΓß∩. ìÑíπΣÑਧ«óá¡¡δ⌐ óó«ñ/óδ-
- ó«ñ «º¡áτáÑΓ, τΓ« ºá»¿ßá¡¡δÑ ñá¡¡δÑ
- ¡Ñ¼Ññ½Ñ¡¡« »ÑαÑñáεΓß∩ ó DOS. è«úñá ñá¡-
- ¡δÑ τ¿ΓáεΓß∩, ßτ¿ΓδóáÑΓß∩ ßΓ«½∞¬«,
- ߬«½∞¬« ΓαÑíπÑΓß∩.
-
- _IOLBF éδ»«½¡∩ÑΓß∩ ßΓα«τ¡á∩ íπΣÑα¿ºáµ¿∩. ÉÑ-
- á½∞¡« óó«ñ/óδó«ñ óδ»«½¡∩ÑΓß∩, ¬«úñá
- τ¿ΓáÑΓß∩ ¿½¿ ºá»¿ßδóáÑΓß∩ ¡«óá∩ ßΓ᫬á.
-
- _IOFBF Å«½¡á∩ íπΣÑα¿ºáµ¿∩. äá¡¡δÑ ßτ¿ΓδóáεΓß∩
- ßαáºπ µÑ½δ¼ íπΣÑα«¼. äá¡¡δÑ ºá»¿ßδóá-
- εΓß∩ Γ«½∞¬« »« ºá»«½¡Ñ¡¿ε íπΣÑαá.
-
- size àß½¿ buf αáóÑ¡ NULL, Γ« size - φΓ« τ¿ß½« íá⌐-
- Γ«ó αẼÑΘáѼ«ú« íπΣÑαá. àß½¿ buf ¡Ñ αáóÑ¡
- NULL, Γ« size ñ«½ªÑ¡ íδΓ∞ τ¿ß½«¼ íá⌐Γ«ó ó íπ-
- ΣÑαÑ, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ buf.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- Åα¿ πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿ αẽ¿τ¡δÑ »«½∩, ¡á ¬«Γ«αδÑ
- ßßδ½áÑΓß∩ fp, ¼«ñÑα¡¿º¿απεΓß∩, τΓ«íδ π¬áºδóáΓ∞ ¡á íπ-
- ΣÑα ¿ ó«ºóαáΘáÑΓß∩ 0. àß½¿ ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ »«ñ íπ-
- ΣÑα ¿½¿ »áαá¼ÑΓα mode ¡Ññ«»πßΓ¿¼, ó«ºóαáΘáÑΓß∩ ¡Ñ¡π½Ñ-
- ó«Ñ º¡áτÑ¡¿Ñ.
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main(argc, argv)
- int argc;
- char *argv[];
- {
- FILE *fp;
- static char buf [100];
- /* ßñѽáѼ stdprn ¡ÑíπΣÑਧ«óá¡¡δ¼ */
- setvbuf(srdprn, NULL, _IONBF, 0);
- fprintf(stdprn, "unbuffered\n");
- if (argc == 2) /* ÑßΓ∞ «ñ¿¡ áαúπ¼Ñ¡Γ */
- fp = fopen(argv[1], "w");
- else
- fp = stdout; /* ¿ß»«½∞ºπѼ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ */
- if (setvbuf(fp,buf,_IOLBF,sizeof(buf)))
- printf("setvbuf ßαáí«Γá½ ¡Ñπñáτ¡«\n");
- else
- {
- fprintf(fp, "¥Γ« »ÑαÑñáÑΓß∩ ó fp\n");
- fclose(fp);
- }
- }
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ setbuf.
-
-
- signal ôæÆÇìÄéêÆ£ ÉàÇèûê₧ ìÇ æêâìÇï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <signal.h>
- void (*signal(int sig, void (*func)(int)))(int);
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ signal »«ºó«½∩ÑΓ »α«úαá¼¼Ñ «»αÑñѽ¿Γ∞, ¬á¬
- ß½ÑñπÑΓ «íαáíáΓδóáΓ∞ ß¿ú¡á½δ «Γ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ.
- Çαúπ¼Ñ¡Γ sig ñ«½ªÑ¡ íδΓ∞ «ñ¡«⌐ ¿º ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ :
-
- SIGABRT ìÑ¡«α¼á½∞¡«Ñ ºáóÑαΦÑ¡¿Ñ
-
- SIGFPE ÄΦ¿í¬á áα¿Σ¼ÑΓ¿¬¿ ß »½áóáεΦÑ⌐ Γ«τ¬«⌐
-
- SIGILL ìÑóÑα¡á∩ ¿¡ßΓαπ¬µ¿∩ (¬«¼á¡ñá ûÅ)
-
- SIGINT ÅαÑαδóá¡¿Ñ CTRL+C
-
- SIGSEGV ìáαπΦÑ¡¿Ñ úαá¡¿µ ßÑú¼Ñ¡Γá
-
- SIGTERM çáóÑαΦÑ¡¿Ñ »« CTRL+break
-
- 쿪ѫ»¿ßá¡¡δÑ ¼á¬α«ßδ «»αÑñѽ∩εΓ º¡áτÑ¡¿∩ ñ½∩ func:
-
- SIG_DFL Äíαáí«Γ¬á ß¿ú¡á½á »« π¼«½τá¡¿ε
-
- SIG_IGN êú¡«α¿α«óá¡¿Ñ ß¿ú¡á½á
-
- öπ¡¬µ¿∩ signal πßΓá¡áó½¿óáÑΓ «ΓóÑΓ ¡á ß¿ú¡á½. è«úñá
- 󫺡¿¬áÑΓ ß¿ú¡á½, ó¡áτá½Ñ αѪ¿¼ «íαáí«Γ¬¿ φΓ«ú« ß¿ú¡á-
- ½á πßΓá¡áó½¿óáÑΓß∩ ó SIG_DFL, á ºáΓѼ óδºδóáÑΓß∩ Σπ¡¬-
- µ¿∩ «íαáí«Γ¬¿ ß¿ú¡á½á func ¿ Ñ⌐ »ÑαÑñáÑΓß∩ »áαá-
- ¼ÑΓα sig.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <signal.h>
- /* ¡¿ªÑ ¡áΦá Σπ¡¬µ¿∩ «íαáí«Γ¬¿ ß¿ú¡á½á */
- void ctrl_break(int val)
- {
- signal (SIGINT, SIG_IGN);
- printf("ä½∩ ºáóÑαΦÑ¡ : ");
- getch();
- exit(0);
- }
- main()
- {
- if (signal(SIGINT,(&ctrl_break)) == SIG_ERR)
- {
- perror("ìÑ ß¼«ú πßΓá¡«ó¿Γ∞ SIGINT!");
- abort();
- }
- raise(SIGINT);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- signal ó«ºóαáΘáÑΓ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ func. 髺óαáΘáÑ-
- ¼«Ñ º¡áτÑ¡¿Ñ SIG_ERR π¬áºδóáÑΓ ¡á «Φ¿í¬π ¿ errno »α¿ß-
- óá¿óáÑΓß∩ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ raise.
-
-
- sin, sinh æêìôæ, æêìôæ âêÅàÉüÄïêùàæèêë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double sinh(double x); /* ANSI */
- double sin (double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿¿ sin ¿ sinh ó«ºóαáΘáεΓ ß¿¡πß ¿ ú¿»Ñαí«½¿τÑ߬¿⌐
- ß¿¡πß áαúπ¼Ñ¡Γá x. ä½∩ sin x ºáñáÑΓß∩ ó αáñ¿á¡áσ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double x = 4.3, d;
- d = sin (x);
- printf("The sine of (%d)is (%d)/\n", x, d);
- d = sinh(x);
- printf("The hyperbolic sine of (%d) is (%d)\n",x,d);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- sin ó«ºóαáΘáÑΓ ß¿¡πß áαúπ¼Ñ¡Γá x. sinh ó«ºóαáΘáÑΓ
- ú¿»Ñαí«½¿τÑ߬¿⌐ ß¿¡πß áαúπ¼Ñ¡Γá x.
-
-
- Sound Package Åá¬ÑΓ αáí«Γδ ß« ºóπ¬«¼
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <sound.h>
- void sound_tone(int cycles, int uptime, int dntime);
- void sound_beep(int freg);
- void sound_click();
-
- Ä»¿ßá¡¿Ñ:
-
- sound_tone úÑ¡Ñα¿απÑΓ Γ«¡á. çáñáεΓß∩ τ¿ß½« µ¿¬½«ó ¿
- óαѼѡ¡δÑ ¿¡ΓÑαóá½δ.
- sound_beep ºáßΓáó½∩ÑΓ ñ¿¡á¼¿¬ 'úπñÑΓ∞'.
- ùáßΓ«Γá 1000 Hz »α¿í½¿º¿Γѽ∞¡« ß««ΓóÑΓßΓóπÑΓ
- 1331 ñ½∩ »áαá¼ÑΓαá freg.
- sound_click ºáßΓáó½∩ÑΓ ñ¿¡á¼¿¬ 'Θѽ¬¡πΓ∞'.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <sound.h>
- main()
- {
- int cycles=5000, uptime=50, dntime=50, freg=1331;
- char ch;
- printf("Sound using sound_click\n");
- sound_click();
- printf("Press any key:");
- ch = getch();
- printf("\nSound using sound_tone\n");
- sound_tone(cycles, uptime, dntime);
- printf("Press any key:");
- ch = getch();
- printf("\nSound using sound_beep\n");
- sound_beep(freg);
- }
-
-
- spawn æÄçäÇÆ£ ÅÉÄûàææ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <process.h>
- int spawnl(int mode, char *pathname,
- char *arg0, *arg1, ... , *argn, NULL);
- int spawnlp(int mode, char *filename,
- char *arg0, *arg1, ... , *argn, NULL);
- int spawnv(int mode, char *pathname, char *argv[]);
- int spawnvp(int mode, char *filename, char *argv[]);
-
- Ä»¿ßá¡¿Ñ:
-
- æ¿ßΓѼ¡δ⌐ ó맮ó spawn ß«ºñáÑΓ ¿ ¿ß»«½¡∩ÑΓ ¡«óδ⌐ »α«-
- µÑßß - »«Γ«¼«¬. ü«½ÑÑ »α«ßΓ« - ºá»π߬áÑΓß∩ ¡«óá∩ »α«ú-
- αá¼¼á ¿ ºáΓѼ ßΓáαá∩ »α«úαá¼¼á »α«ñ«½ªáÑΓß∩. æ¿ßΓѼ¡δ⌐
- ó맮ó αáí«ΓáÑΓ »«ñ«í¡« ó맮óπ »«ñ»α«úαá¼¼δ.
- 櫺ñá¡¿Ñ ¡«ó«ú« »«ñ»α«µÑßßá ΓαÑíπÑΓ ¡á½¿τ¿∩ ßó«í«ñ¡«⌐
- »á¼∩Γ¿, ñ«ßΓπ»¡«⌐ ñ½∩ ¿ß»«½¡Ñ¡¿∩ »«α«ªñÑ¡¡«ú« »α«µÑßßá,
- ¡áα∩ñπ ß Γ«⌐, τΓ« ºá¡∩Γá ΓѬπΘÑ⌐ »α«úαá¼¼«⌐. 漫Γα¿ΓÑ
- óóÑñÑ¡¿Ñ ó φëà αáºñѽ απ¬«ó«ñßΓóá, úñÑ «»¿ßá¡á αáí«Γá
- ß »á¼∩Γ∞ε »α¿ ó맮óÑ spawn. ö½áú mode ¿ú¡«α¿απÑΓß∩. Ä¡,
- 󫺼«ª¡«, íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ óÑαß¿∩σ.
- ä½∩ mode ¿ß»«½∞ºπ⌐ΓÑ º¡áτÑ¡¿Ñ 0.
- Çαúπ¼Ñ¡Γ filename «»αÑñѽ∩ÑΓ ºá»π߬áѼπε »α«úαá¼¼π.
- Æ«½∞¬« ñ½∩ spawnlp ¿ spawnvp: Ñß½¿ filename ¡Ñ ß«ñÑα-
- ª¿Γ ¼áαΦαπΓá ¿ ¡Ñ ¡áσ«ñ¿Γß∩ ó ΓѬπΘѼ ¬áΓὫúÑ, Γ« ñ½∩
- »«¿ß¬á Σá⌐½á ¿ß»«½∞ºπÑΓß∩ »ÑαѼѡ¡á∩ «¬απªÑ¡¿∩ PATH.
- Argv[0] ¡Ñ »ÑαÑñáÑΓß∩ »«ñ»α«µÑßßπ ¿ ¿ß»«½∞ºπÑΓß∩ ½¿Φ∞
- ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿, ¡« ó µÑ½∩σ »ÑαÑ¡«ß¿¼«ßΓ¿ ñ«½ªÑ¡
- íδΓ∞ óßÑúñá ó¬½ετÑ¡. ¥Γ«Γ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞ ¿¼Ñ¡Ñ¼
- ºá»π߬áѼ«⌐ »α«úαá¼¼δ.
- 諼á¡ñ¡á∩ ßΓ᫬á, »ÑαÑñáóáѼá∩ »«α«ªñáѼ«⌐ »α«úαá¼¼Ñ,
- ß«ßΓáó½∩ÑΓß∩ ¿º ß¿¼ó«½∞¡δσ ßΓ᫬ ó spawn ó맮óÑ, »Ñα-
- óá∩ ßΓ᫬á - φΓ« arg1 ¿ Γ.ñ. ÄíΘá∩ ñ½¿¡á φΓ¿σ ßΓ᫬
- ¡Ñ ñ«½ª¡á »αÑóδΦáΓ∞ 128 ß¿¼ó«½«ó.
- Çαúπ¼Ñ¡Γ argv, ¿ß»«½∞ºπѼδ⌐ ó ó맮óáσ spawnv ¿ spawnp,
- ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ π¬áºáΓѽÑ⌐ ¡á char. ū߽Ññ¡¿⌐ π¬áºá-
- Γѽ∞ ó argv ñ«½ªÑ¡ íδΓ∞ NULL ñ½∩ ¿¡ñ¿¬áµ¿¿ ¬«¡µá ß»¿ß-
- ‡.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main()
- {
- char *args[4];
- args[0] = "ztc1.exe";
- args[1] = "stuff";
- args[2] = "morestuff";
- args[3] = NULL;
- if (spawnv(0, "C:ZTC1.EXE", args) == -1)
- fprintf(stderr, "exec failed!\n");
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ñáÑΓ ßΓáΓπß ºáóÑαΦÑ¡¿∩ »«α«ªñÑ¡-
- ¡«⌐ »α«úαá¼¼δ. ç¡áτÑ¡¿Ñ 0 ú«ó«α¿Γ « Γ«¼, τΓ« »«α«ªñÑ¡-
- ¡á∩ »α«úαá¼¼á óδ»«½¡¿½áß∞ πß»ÑΦ¡«. Å«½«ª¿Γѽ∞¡«Ñ º¡á-
- τÑ¡¿Ñ ú«ó«α¿Γ « Γ«¼, τΓ« »«α«ªñÑ¡¡á∩ »α«úαá¼¼á ¿ß»«½-
- ¡¿½áß∞, ¡« íδ½á ßíα«ΦÑ¡á ¿½¿ ºáóÑαΦ¿½áß∞ ¿º-ºá «Φ¿í¬¿
- ¿ß»«½¡Ñ¡¿∩; ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ ßΓáΓπß«¼
- ºáóÑαΦÑ¡¿∩ »«α«ªñÑ¡¡«ú« »α«µÑßßá. ÄΓα¿µáΓѽ∞¡«Ñ º¡áτÑ-
- ¡¿Ñ ú«ó«α¿Γ « Γ«¼, τΓ« »«α«ªñÑ¡¡δ⌐ »α«µÑßß ¡Ñ íδ½
- ¿ß»«½¡Ñ¡, ¿ πßΓá¡áó½¿óáÑΓß∩ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ abort, exit, exec, system.
-
-
- sprintf öÄÉîÇÆì¢ë é¢éÄä é üôöàÉ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h> /* ANSI */
- int sprintf(char *buffer, char *format, ...);
-
- Ä»¿ßá¡¿Ñ: 漫Γα¿ΓÑ printf.
-
-
- sqrt èéÇäÉÇÆì¢ë èÄÉàì£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double sqrt(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ sqrt ó«ºóαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá x.
- àß½¿ x «Γα¿µáΓѽ∞¡«Ñ τ¿ß½«, Γ« 󫺡¿¬áÑΓ «Φ¿í¬á «í-
- ½áßΓ¿ «»αÑñѽѡ¿∩ (domain error).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double x;
- for (x=1.0; x<=20.0; ++x)
- printf("The square root of %.4f is %.4f\n",
- x, sqrt(x));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- sqrt ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ Γ¿»á double.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ exp, log, pow.
-
-
- srand êìêûêÇïêçÇûêƒ æïôùÇëìÄë éàïêùêì¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- void srand(unsigned seed); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- srand ¿¡¿µ¿á½¿º¿απÑΓ ("ºáßÑóáÑΓ" ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼)
- úÑ¡ÑαáΓ«α ß½πτá⌐¡δσ τ¿ßѽ (rand()). àß½¿ srand() ¡¿¬«ú-
- ñá ¡Ñ óδºδóὫß∞, Γ« »«ñαáºπ¼ÑóáÑΓß∩, τΓ« óδºδóá½áß∞
- srand(1).
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- int i;
- srand(9);
- for (i=0; i<20; i++)
- printf("i: %d rand(): %d\n", i, rand());
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ìÑΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ rand.
-
-
- sscanf öÄÉîÇÆì¢ë é¢éÄä êç üôöàÉÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int sscanf(char *buffer, char *format,...); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 漫Γα¿ΓÑ Σπ¡¬µ¿ε scanf.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- char *string = "1.24...";
- char str[8];
- float fp;
- int i;
- main()
- {
- sscanf(string, "%s", str);
- sscanf(string, "%f", &fp);
- sscanf(string, "%d", &i);
- printf("String : %s\n", str);
- printf("Float : %f\n", fp);
- printf("Integer : %d\n", i);
- }
-
-
-
- stat ùêÆÇÆ£ æÆÇÆôæ öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <sys\stat.h>
- int stat(char *path, struct stat *buf);
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ stat íÑαÑΓ ¿¡Σ«α¼áµ¿ε « Σá⌐½Ñ ¿½¿ ¬áΓὫúÑ,
- «»αÑñѽѡ¡«¼ »áαá¼ÑΓα«¼ path, ¿ »«¼ÑΘáÑΓ ÑÑ ó ßΓαπ¬Γπ-
- απ, ¡á ¬«Γ«απε π¬áºδóáÑΓ buf. Ä»¿ßá¡¿Ñ ßΓαπ¬Γπαδ Γ¿»á
- stat ß¼«Γα¿ΓÑ ó Σπ¡¬µ¿¿ fstat.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- stat ó«ºóαáΘáÑΓ 0, Ñß½¿ ¿¡Σ«α¼áµ¿∩ « ß«ßΓ«∩¡¿¿ Σá⌐½á
- ¿½¿ ¬áΓὫúá ó«ßßΓá¡«ó½Ñ¡á. Åα¿ «Φ¿í¬Ñ Σπ¡¬µ¿∩ ó«ºóαá-
- ΘáÑΓ -1 ¿ πßΓá¡áó½¿óáÑΓ errno ó ENOENT, τΓ« π¬áºδóáÑΓ
- ¡á »½«σ«⌐ ¼áαΦαπΓ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ ΓᬪÑ: fstat, filesize.
-
- çÇîàùÇìêà: stat ¿ fstat ¡Ñ ¼«úπΓ íδΓ∞ óδºóá¡δ ¿º
- C++ Σá⌐½á, »«Γ«¼π τΓ« ÑßΓ∞ ¬«¡Σ½¿¬Γ
- ¿¼Ñ¡ ¼Ñªñπ Σπ¡¬µ¿Ñ⌐ int stat() ¿ ßΓαπ¬-
- Γπα«⌐ struct stat. àß½¿ éá¼ ¡Ñ«íσ«ñ¿¼δ
- φΓ¿ Σπ¡¬µ¿¿, ¿ß»«½∞º«óá¡¿Ñ stat.h,
- fstat() ¿ stat() ñ«½ª¡« íδΓ∞ óδñѽѡ«
- ó C Σá⌐½.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <time.h>
- #include <sys\stat.h>
- #include <string.h>
- #include <stdlib.h>
- main()
- {
- char *date;
- int ret;
- struct stat buf;
- if ((ret = stat("file.dat", &buf))!=0)
- {
- fprintf(stderr, "stat failure error .%d", ret);
- abort();
- }
- date = asctime(localtime(&buf.st_ctime));
- printf("\n %s\n", date);
- printf("\n %d mode\n", buf.st_mode);
- printf("\n %ld size\n", buf.st_size);
- }
-
-
- strcat - strdup Éáí«Γá ß« ßΓα«¬á¼¿
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strcat(char *string1, const char *string2);
- /* ANSI */
- char *strchr(const char *string, int ch); /* ANSI */
- int strcmp(const char *string1, const char *string2);
- /* ANSI */
- int strcmpl(const char *string1, const char *string2);
- int *strcpy(char *string1, const char *string2);
- /* ANSI */
- size_t strcspn(const char *string1,
- const char *string2);
- /* ANSI */
- char *strdup(const char *string);
-
- Ä»¿ßá¡¿Ñ:
-
- strcat ä«íáó½∩ÑΓ ¬«»¿ε string2 ó ¬«¡Ñµ ßΓ᫬¿
- string1. Åਪ½áñ¡á∩ »α«úαá¼¼á «ΓóÑΓßΓóÑ¡¡á
- ºá Γ«, τΓ« ó ßΓα«¬Ñ ¿¼ÑÑΓß∩ ñ«ßΓáΓ«τ¡« »α«ßΓ-
- αá¡ßΓóá ñ½∩ αẼÑΘÑ¡¿∩ αѺπ½∞ΓáΓá. öπ¡¬µ¿∩
- ó«ºóαáΘáÑΓ string1.
-
- strchr êΘÑΓ »Ñαó«Ñ »«∩ó½Ñ¡¿Ñ ½¿ΓÑαδ ch ó ßΓ᫬Ñ
- string. 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ½¿ΓÑαπ ch.
- 髺óαáΘáÑΓß∩ NULL, Ñß½¿ ½¿ΓÑαá ó ßΓα«¬Ñ ¡Ñ
- ¡á⌐ñÑ¡á. öπ¡¬µ¿∩ strchr ¿ñÑ¡Γ¿τ¡á Σπ¡¬µ¿¿
- index().
-
- strcmp ū߿¼ó«½∞¡« ßαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿, strcmp
- ó«ºóαáΘáÑΓ:
-
- <0, Ñß½¿ string1 ¼Ñ¡∞ΦÑ string2
- =0, Ñß½¿ string1 αáó¡« string2
- >0, Ñß½¿ string1 í«½∞ΦÑ string2
-
- strcmpl æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿, Γαá¬Γπ∩ ½¿ΓÑαδ ¡¿ª-
- ¡Ñú« ¿ óÑασ¡Ñú« αÑú¿ßΓαá ¬á¬ «ñ¿¡á¬«óδÑ.
-
- strcpy è«»¿απÑΓ ßΓ᫬π string2 ó string1, ó¬½ετá∩
- ºáóÑαΦáεΘπε ½¿ΓÑαπ '\0'. 髺óαáΘáÑΓ string1.
-
- strcspn êßß½ÑñπÑΓ ßΓ᫬π string1 ¡á »Ñαó«Ñ »«∩ó½Ñ¡¿Ñ
- ½¿ΓÑαδ ¿º ßΓ᫬¿ string2. 髺óαáΘáÑΓ ñ½¿¡π
- ¡áτá½∞¡«ú« ßÑú¼Ñ¡Γá ßΓ᫬¿ string1, ß«ßΓ«∩-
- ΘÑú« ¿º ½¿ΓÑα, ¡Ñ ¡á⌐ñÑ¡¡δσ ó ßΓα«¬Ñ string2.
- àß½¿ ¡¿ «ñ¡á ¿º ½¿ΓÑα ßΓ᫬¿ string1 ¡Ñ »«∩ó-
- ½∩ÑΓß∩ ó string2, ó«ºóαáΘáÑΓß∩ «íΘá∩ ñ½¿¡á
- ßΓ᫬¿ string1 íѺ ºáóÑαΦáεΘÑ⌐ ½¿ΓÑαδ '\0'.
-
- strdup Åα¿ß«Ññ¿¡∩ÑΓ »á¼∩Γ∞ »α¿ »«¼«Θ¿ ó맮óá malloc,
- ¬«»¿απÑΓ ó ¡ÑÑ ßΓ᫬π string ¿ ó«ºóαáΘáÑΓ
- π¬áºáΓѽ∞ ¡á »α¿ß«Ññ¿¡Ñ¡¡πε »á¼∩Γ∞. öπ¡¬µ¿∩
- ó«ºóαáΘáÑΓ NULL, Ñß½¿ »á¼∩Γ∞ ¡Ñ ¼«ªÑΓ íδΓ∞
- «ΓóÑñÑ¡á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char string1[50] = " 1 Example string ";
- char string2[50] = " 2 Example string ";
- char buffer[50] = " Rubbish - string ";
- main()
- {
- printf("strcat example [%s]\n",
- strcat(string1, string2));
- printf("strchr example [%s]\n",
- strchr(string1, '2'));
- printf("strcmp example [%d]\n",
- strcmp(string1, string2));
- printf("strcmpl example [%d]\n",
- strcmpl(string1, string2));
- printf("strcpy example [%s]\n",
- strcpy(buffer, string1));
- printf("strcspn example [%d]\n",
- strcspn(string1, "s"));
- printf("strdup example [%s]\n", strdup(string2));
- }
-
-
-
- strerror ÅÄïôùêÆ£ êìöÄÉîÇûê₧ Äü Äÿêüèà
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strerror(int errornum); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ÄΓ«íαáªáÑΓ errornum ó ßΓ᫬π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ ¿
- ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á φΓπ ßΓ᫬π.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <errno.h>
- #include <io.h>
- #include <dos.h>
- #include <string.h>
- int fp;
- main()
- {
- errno = 0;
- if ((fp = open("file", Ä_RDONLY)) == -1)
- {
- printf(strerror(errno));
- }
- close(fp);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- strerror ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π ß««íΘÑ¡¿∩ «í
- «Φ¿í¬Ñ.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ perror.
-
-
- strlen äÇÆ£ äïêìô æÆÉÄèê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- size_t strlen(char *string); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- 髺óαáΘáÑΓ ñ½¿¡π ßΓ᫬¿ íѺ ºáóÑαΦáεΘÑ⌐ ½¿ΓÑαδ '\0'.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char *string = "Example string ";
- size_t result;
- main()
- {
- result=strlen(string);
- printf("使¡á ßΓ᫬¿: [%s] αáó¡á [%d]\n",
- string, result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ: 髺óαáΘáÑΓ ñ½¿¡π ßΓ᫬¿.
-
-
- strlwr ÅÉêéàæÆê è ìêåìàîô ÉàâêæÆÉô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include<string.h>
- char *strlwr(char *string);
-
- Ä»¿ßá¡¿Ñ:
-
- ÅαÑ«íαáºπÑΓ óßÑ ½¿ΓÑαδ óÑασ¡Ñú« αÑú¿ßΓαá ó ßΓα«¬Ñ ó
- ½¿ΓÑαδ ¡¿ª¡Ñú« αÑú¿ßΓαá.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char *string = "Mixed Case String";
- main()
- {
- printf("strlwr Example:[%s]\n", strlwr(string));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáÑΓß∩ string.
-
- 漫Γα¿ΓÑ Γá¬ªÑ strupr.
-
-
- strncat - strpbrk Éáí«Γá ß« ßΓα«¬á¼¿
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strncat(char *string1, const char *string2,
- size_t n); /* ANSI */
- int strncmp(const char *string1, const char *string2,
- size_t n); /* ANSI */
- char *strncpy(char *string1, const char *string2,
- size_t n); /* ANSI */
- char *strnset(char *string, int ch, size_t n);
- char *strpbrk(const char *string1,
- const char *string2);
- /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- strncat ä«íáó½∩ÑΓ ¼¿¡¿¼π¼ ¿º n ¿ strlen(string2)
- ½¿ΓÑα ó ¬«¡Ñµ ßΓ᫬¿ string1 ¿ »α¿»¿ßδóáÑΓ
- ºáóÑαΦáεΘ¿⌐ '\0'. Å«½∞º«óáΓѽ∞ «ΓóÑτáÑΓ ºá
- «íÑß»ÑτÑ¡¿Ñ ñ«ßΓáΓ«τ¡«ú« ¼ÑßΓá ó string1
- ñ½∩ αẼÑΘÑ¡¿∩ αѺπ½∞ΓáΓá. öπ¡¬µ¿∩ ó«ºóαá-
- ΘáÑΓ string1.
-
- strncmp æαáó¡¿óáÑΓ n »Ñαóδσ ½¿ΓÑα string2 ¿ string1.
- æαáó¡Ñ¡¿Ñ ºáóÑαΦáÑΓß∩ »«ß½Ñ n ½¿ΓÑα ¿½¿ ñ«ß-
- Γ¿ªÑ¡¿∩ ¬«¡µá «ñ¡«⌐ ¿º ßΓ᫬. Strncmp ó«ºó-
- αáΘáÑΓ:
-
- <0, Ñß½¿ string1 ¼Ñ¡∞ΦÑ string2;
- =0, Ñß½¿ string1 αáó¡« string2;
- >0, Ñß½¿ string1 í«½∞ΦÑ string2.
-
- strncpy è«»¿απÑΓ »ÑαóδÑ n ½¿ΓÑα ßΓ᫬¿ string2 ó
- ßΓ᫬π string1. àß½¿ string2 ñ½¿¡¡ÑÑ
- string1, αѺπ½∞ΓáΓ ¿ß»«½¡Ñ¡¿∩ ¡Ñ íπñÑΓ ºá-
- óÑαΦáΓ∞ß∩ '\0'. àß½¿ ó string2 ¼Ñ¡∞ΦÑ n
- ½¿ΓÑα, ßΓ᫬á string1 íπñÑΓ ñ«»«½¡Ñ¡á ñ« n
- ½¿ΓÑαἿ '\0'. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ string1.
-
- strnset ê¡¿µ¿á½¿º¿απÑΓ ¡Ñ í«½ÑÑ n »Ñαóδσ ½¿ΓÑα ßΓα«-
- ¬¿ string ½¿ΓÑα«⌐ ch. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
- string.
-
- strpbrk 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ »«∩ó½Ñ¡¿Ñ ó
- ßΓα«¬Ñ string1 ½εí«⌐ ½¿ΓÑαδ ¿º ßΓ᫬¿
- string2 ½¿í« NULL, Ñß½¿ ¡¿ «ñ¡á ½¿ΓÑαá ßΓα«-
- ¬¿ string2 ¡Ñ óσ«ñ¿Γ ó ßΓ᫬π string1.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char string[50] = "Åα¿¼Ñα ßΓ᫬¿";
- char *string2 = "ä«íáó¿¼ φΓπ ßΓ᫬π";
- char buffer[50];
- main()
- {
- printf("Åα¿¼Ñα ß strncat [%s]\n",
- strncat(string, string2, 50));
- printf("\n Åα¿¼Ñα ß strncmp [%d]\n",
- strncmp(string, string2, 10));
- printf("\n Åα¿¼Ñα ß strncpy [%s]\n",
- strncpy(buffer, string2, 10));
- printf("\n Åα¿¼Ñα ß strnset [%s]\n",
- strnset(string2, 'x', 9));
- printf("\n Åα¿¼Ñα ß strpbrk [%s]\n",
- strpbrk(string2, "s"));
- }
-
-
- strrchr - strset Éáí«Γá ß« ßΓα«¬á¼¿
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strrchr(const char *string, int ch); /* ANSI */
- char *strrev(char *string);
- char *strset(char *string, int ch);
-
- Ä»¿ßá¡¿Ñ:
-
- strrchr() êΘÑΓ »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ ½¿ΓÑαδ ch ó ßΓα«-
- ¬Ñ string ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¡Ñú«
- ½¿í« NULL, Ñß½¿ φΓá ½¿ΓÑαá ó ßΓα«¬Ñ «Γ-
- ßπΓßΓóπÑΓ.
-
- strrev() îÑ¡∩ÑΓ »«α∩ñ«¬ (»«ß½Ññ«óáΓѽ∞¡«ßΓ∞) ½¿ΓÑα
- ó ßΓα«¬Ñ string ¡á «íαáΓ¡πε, «ßΓáó½∩∩ ó
- ¬«¡µÑ ßΓ᫬¿ ºáóÑαΦáεΘ¿⌐ '\0'. 髺óαáΘáÑΓ
- string.
-
- strset() ê¡¿µ¿á½¿º¿απÑΓ ßΓ᫬π string ½¿ΓÑα«⌐ ch,
- ¡Ñ ¿º¼Ñ¡∩∩ ºáóÑαΦáεΘ¿⌐ '\0'. 髺óαáΘáÑΓ
- string.
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char string[50] = "Åα¿¼Ñα ßΓ᫬¿;
- char *string2 = "ä«íáó½∩Ѽá∩ ßΓ᫬á;
- main()
- {
- printf("Åα¿¼Ñα »α« strrchr [%s]\n",
- strrchr(string, '¿'));
- printf("\n Åα¿¼Ñα »α« strrev [%s]\n",
- strrev(string));
- printf("\n Åα¿¼Ñα »α« strset [%s]\n",
- strset(string2, ' '));
- }
-
-
- strspn äÇÆ£ äïêìô æÄéÅÇäÇ₧Öàë ÅÄ俯ÉÄèê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- size_t strspn(const char *string1,
- const char *string2); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ñ½¿¡π ¡áτá½∞¡«ú« ßÑú¼Ñ¡Γá ßΓ᫬¿
- string1, ¬«Γ«αδ⌐ »«½¡«ßΓ∞ε ß«ßΓ«¿Γ ¿º ½¿ΓÑα, ¡á⌐-
- ñÑ¡¡δσ ó ßΓα«¬Ñ string2.
-
- Åα¿¼Ñα:
-
- #include <string.h>
- #include <stdio.h>
- char *string = "Example";
- char *cmp = "aEx";
- main()
- {
- int result;
- printf("使¡á ¡áτá½∞¡«⌐ »«ñßΓ᫬¿ ó ßΓα«¬Ñ [%s],
- ß«ñÑαªáΘÑ⌐ [%s] ½¿ΓÑαδ\n", string, cmp);
- printf("strspn αáó¡« [%d]\n", strspn(string, cmp));
- }
-
-
-
- strstr ìÇëÆê ÅÄ俯ÉÄèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strstr(const char *string1,
- const char *string2); /* ANSI */
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ßΓα«-
- ¬¿ string2 ó ßΓ᫬π string1.
-
- Åα¿¼Ñα:
-
- #include <string.h>
- #include <stdio.h>
- char *string = "Åα¿¼Ñα ßΓ᫬¿";
- char *cmp = "ßΓα";
- main()
- {
- printf("Åα¿¼Ñα ¡á strstr [%s]\n", strstr(string, cmp));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- strstr ó«ºóαáΘáÑΓ NULL, Ñß½¿ string2 ¡Ñ íδ½á ¡á⌐ñÑ¡á.
- àß½¿ ñ½¿¡á ßΓ᫬¿ string2 αáó¡á 0, ó«ºóαáΘáÑΓß∩
- string1.
-
-
- strtod - strtoul ÅÉàÄüÉÇçÄéÇÆ£ êç Ç/û éêäÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- double strtod(char *nptr, char **endptr); /* ANSI */
- long strtol(char *nptr, char **endptr, int base);
- /* ANSI */
- unsigned long strtoul(const char *nptr,char **endptr,
- int base); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- strtod ÅαÑ«íαáºπÑΓ ßΓ᫬π ASCII, ¡á ¬«Γ«απε π¬áºδ-
- óáÑΓ nptr, ó º¡áτÑ¡¿Ñ Γ¿»á double. öπ¡¬µ¿∩
- ó«ß»α¿¡¿¼áÑΓ óÑñπΘ¿Ñ Γáíπ½∩µ¿¿ ¿ »α«íѽδ,
- ºáΓѼ 󫺼«ª¡δ⌐ º¡á¬ ¿ ñá½ÑÑ ßΓα«¬π µ¿Σα ß
- ¡Ñ«í∩ºáΓѽ∞¡«⌐ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬«⌐. öπ¡¬µ¿∩
- strtod ºáóÑαΦáÑΓ ßτ¿Γδóá¡¿Ñ ßΓ᫬¿ ¡á »Ñα-
- ó«⌐ ½¿ΓÑαÑ, ¡Ñ ∩ó½∩εΘÑ⌐ß∩ τáßΓ∞ε τ¿ß½á.
- ô¬áºáΓѽ∞ ¡á φΓπ ½¿ΓÑαπ íπñÑΓ ºá»¿ßá¡ »«
- áñαÑßπ endptr, Ñß½¿ endptr ¡Ñ αáóÑ¡ NULL.
-
- strtol ÅαÑ«íαáºπÑΓ ASCII ßΓ᫬π, ¡á ¬«Γ«απε π¬áºδ-
- óáÑΓ nptr, ó ñ½¿¡¡«Ñ (long) µÑ½«Ñ τ¿ß½«.
- öπ¡¬µ¿∩ ó«ß»α¿¡¿¼áÑΓ óÑñπΘ¿Ñ "»α«íѽ∞¡δÑ"
- ½¿ΓÑαδ ¿ ñá½ÑÑ ßΓα«¬π µ¿Σα ß ó«º¼«ª¡δ¼ º¡á-
- ¬«¼. öπ¡¬µ¿∩ strtol »αѬαáΘáÑΓ τΓÑ¡¿Ñ ßΓα«-
- ¬¿ ¡á »Ñαó«⌐ ½¿ΓÑαÑ, ¡Ñ ∩ó½∩εΘÑ⌐ß∩ τáßΓ∞ε
- ºá»¿ß¿ τ¿ß½á. ô¬áºáΓѽ∞ ¡á φΓπ ½¿ΓÑαπ íπñÑΓ
- ºá»¿ßá¡ »« áñαÑßπ endptr, Ñß½¿ endptr ¡Ñ
- NULL.
-
- àß½¿ »áαá¼ÑΓα base («ß¡«óá¡¿Ñ) αáóÑ¡ 0,
- »Ñαóá∩ ½¿ΓÑαá »«ß½Ñ ¡Ñ«í∩ºáΓѽ∞¡«ú« º¡á¬á
- íπñÑΓ «»αÑñѽ∩Γ∞ «ß¡«óá¡¿Ñ »αÑ«íαẫóá¡¿∩.
- àß½¿ φΓá »Ñαóá∩ ½¿ΓÑαá '0', á óΓ«αá∩ - ¡Ñ
- 'x' ¿½¿ 'X', Γ« Γá¬á∩ ßΓ᫬á ßτ¿ΓáÑΓß∩ ºá-
- »¿ß∞ε ó«ß∞¼Ñα¿τ¡«ú« τ¿ß½á. àß½¿ ªÑ »Ñαóá∩
- ½¿ΓÑαá αáó¡á '0', á óΓ«αá∩ - 'x' ¿½¿ 'X',
- Γ« Γá¬á∩ ßΓ᫬á íπñÑΓ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ß∩
- ¬á¬ ºá»¿ß∞ ΦÑßΓ¡áñµáΓÑα¿τ¡«ú« τ¿ß½á. àß½¿
- »Ñαóá∩ ½¿ΓÑαá «Γ '1' ñ« '9', Γ« ßΓα«¬á ¿¡-
- ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ ºá»¿ß∞ ñÑß∩Γ¿τ¡«ú« µÑ½«-
- ú«. üπ¬óá¼ A-Z ¡¿ª¡Ñú« ¿½¿ óÑασ¡Ñú« αÑú¿ßΓ-
- αá (Γ.Ñ. »α«»¿ß¡δ¼ ¿½¿ ºáú½áó¡δ¼) »α¿ßóá¿-
- óáεΓß∩ º¡áτÑ¡¿∩ «Γ 10 ñ« 35. ÉáºαÑΦáεΓß∩
- Γ«½∞¬« ΓÑ ½¿ΓÑαδ, º¡áτÑ¡¿∩ ¬«Γ«αδσ ¼Ñ¡∞ΦÑ
- τѼ base. àß½¿ base ¡Ñ αáó¡« 0, Ñú« º¡áτÑ-
- ¡¿Ñ ñ«½ª¡« íδΓ∞ ¼Ñªñπ 2 ¿ 36.
-
- strtoul ÅαÑ«íαáºπÑΓ ASCII ßΓ᫬π, ¡á ¬«Γ«απε π¬áºδ-
- óáÑΓ nptr, ó ñÑß∩Γ¿τ¡«Ñ τ¿ß½« Γ¿»á unsigned
- long.
- Ä»¿ßá¡¿Ñ - á¡á½«ú¿τ¡« strtol().
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- strtod àß½¿ ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ óδºδóáÑΓ »ÑαÑ»«½-
- ¡Ñ¡¿Ñ, ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡á¬á ó«ºóαáΘáÑΓß∩
- »½εß ¿½¿ ¼¿¡πß HUGE_VAL ¿ errno πßΓá¡áó½¿-
- óáÑΓß∩ ó ERANGE. àß½¿ ¡Ññ«»πßΓ¿¼á∩ ½¿ΓÑαá
- óßΓαÑΓ¿½áß∞ ñ« αáºαÑΦÑ¡¡δσ, ó«ºóαáΘáÑΓß∩ 0.
- Åα¿ »«ΓÑαÑ º¡áτ¿¼«ßΓ¿ ó«ºóαáΘáÑΓß∩ 0 ¿
- errno πßΓá¡áó½¿óáÑΓß∩ ó ERANGE.
-
- strtol àß½¿ ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ óδºδóáÑΓ »ÑαÑ»«½-
- ¡Ñ¡¿Ñ, ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡á¬á ó«ºóαáΘáεΓß∩
- LONG_MAX ¿½¿ LONG_MIN ¿ errno πßΓá¡áó½¿óá-
- ÑΓß∩ ó ERANGE. àß½¿ ¡Ññ«»πßΓ¿¼á∩ ½¿ΓÑαá
- óßΓαÑτáÑΓß∩ ñ« αáºαÑΦÑ¡¡δσ, ó«ºóαáΘáÑΓß∩ 0.
-
- strtoul àß½¿ ¬«ααÑ¬Γ¡«Ñ º¡áτÑ¡¿Ñ óδºδóáÑΓ »ÑαÑ»«½-
- ¡Ñ¡¿Ñ, ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ ULONG_MAX ¿
- errno πßΓá¡áó½¿óáÑΓß∩ ó ERANGE. àß½¿ ¡Ññ«-
- »πßΓ¿¼δ⌐ ß¿¼ó«½ óßΓαÑτáÑΓß∩ ñ« αáºαÑΦÑ¡¡δσ,
- ó«ºóαáΘáÑΓß∩ 0.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ atof, atoi, atol.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <stdlib.h>
- char *string, *string2;
- main()
- {
- unsigned long result;
- long result1;
- double result2;
- int base;
- string = "3.1415926Stop here";
- result2 = strtod(string,&string2);
- printf("String [%s] strtod = [%f]\n",
- string, result2);
- base = 8;
- string = "1011013";
- result1 = strtol(string, &string2, base);
- printf("String [%s] strtol [%ld] (base 8)\n",
- string, result);
- base = 2;
- string = "1011013";
- result = strtoul(string, &string2, base);
- printf("String [%s] strtoul=[%ld] (base 2)\n",
- string, result);
- }
-
-
- strupr ÅÉêéàæÆê è éàÉòìàîô ÉàâêæÆÉô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- char *strupr(char *string);
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ »αÑ«íαáºπÑΓ óßÑ ½¿ΓÑαδ ¡¿ª¡Ñú« αÑú¿ßΓαá ßΓ᫬¿
- string ó ß««ΓóÑΓßΓóπεΘ¿Ñ ½¿ΓÑαδ óÑασ¡Ñú« αÑú¿ßΓαá.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char *string = "æΓ᫬á é Éạδσ ÉÑú¿ßΓαáσ";
- main()
- {
- printf("Åα¿¼Ñα ß« strupr [%s]\n", strupr(string));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ string.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ strlwr.
-
-
- swab ÅÄÅÇÉìÄ ÅÄîàìƒÆ£ üÇëÆ¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <string.h>
- void swab(char *source, char *destination, int n);
-
- Ä»¿ßá¡¿Ñ:
-
- è«»¿απÑΓ n íá⌐Γ«ó ßΓ᫬¿ source, ¼Ñ¡∩∩ ¼ÑßΓἿ ¬áªñπε
- »áαπ ߼Ѫ¡δσ íá⌐Γ. ÅαÑ«íαẫóá¡¡á∩ ßΓα«¬á »«¼ÑΘáÑΓß∩
- ó ßΓ᫬π destination (¡áº¡áτÑ¡¿Ñ). ûѽ«Ñ τ¿ß½« n ñ«½ª-
- ¡« íδΓ∞ τÑΓ¡δ¼, Γᬠ¬á¬ ß¿¼ó«½δ ¼Ñ¡∩εΓß∩ ¼ÑßΓἿ
- »«»áα¡«.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <string.h>
- char *string1 = "badefehgjilknm";
- char *string2 = "..............";
- main()
- {
- swab(string1, string2, 14);
- printf("string1 [%s] string2 [%s]\n",
- string1, string2);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ: ìÑΓ.
-
-
- system ÄüÉÇÖàìêà è DOS
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdlib.h>
- int system(char *string); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ system «íÑß»Ñτ¿óáÑΓ »ÑαÑñáτπ ßΓ᫬¿ string
- ¬«¼á¡ñ¡«¼π »α«µÑßß«απ DOS, ¬á¬ Ñß½¿ íδ φΓá ßΓ᫬á íδ½á
- ¡áíαá¡á ºá ΓÑନ¡á½«¼. ÆÑ¬πΘá∩ »α«úαá¼¼á «ª¿ñáÑΓ ¬«¡µá
- ¿ß»«½¡Ñ¡¿∩ ¬«¼á¡ñδ, á ºáΓѼ ó«º«í¡«ó½∩ÑΓ αáí«Γπ.
-
- ìÑ ßπΘÑßΓóπÑΓ ß»«ß«íá ñ½∩ «»αÑñѽѡ¿∩ ßΓáΓπßá ºáóÑαΦÑ-
- ¡¿∩ »α«úαá¼¼, ºá»π߬áѼδσ »« system. àß½¿ éá¼ ΓαÑíπÑΓ-
- ß∩ ßΓáΓπß ºáóÑαΦÑ¡¿∩, ¿ß»«½∞ºπ⌐ΓÑ «ñ¡π ¿º Σπ¡¬µ¿⌐ »«-
- ᫪ñÑ¡¿∩ (spawn).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- àß½¿ ¡Ññ«ßΓáΓ«τ¡« ßó«í«ñ¡«⌐ »á¼∩Γ¿ ñ½∩ ºáúαπº¬¿ ¿ ºá-
- »π߬á COMMAND.COM ¿½¿ COMMAND.COM ¡Ñ ¡á⌐ñÑ¡á, ó«ºóαá-
- ΘáÑΓß∩ -1, ó »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ 0.
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ exec, spawn.
-
- çá¼ÑΓ¿¼, τΓ« Γᬠ¬á¬ »α¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿¿
- system ºáúαπªáÑΓß∩ «Γñѽ∞¡á∩ ¬«»¿∩ COMMAND.COM,
- Σπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩ πßΓá¡«ó¬¿
- »ÑαѼѡ¡δσ «¬απªÑ¡¿∩ ΓѬπΘÑú« «¬απªÑ¡¿∩ (Γ.Ñ. «¬απ-
- ªÑ¡¿∩ ¡á ¼«¼Ñ¡Γ ¿ß»«½¡Ñ¡¿∩ »α«úαá¼¼δ) ß »«¼«Θ∞ε ¬«-
- ¼á¡ñδ SET. ìá»α¿¼Ñα, Σαáú¼Ñ¡Γ »α«úαá¼¼δ:
-
- system("SET ABC=DEF");
-
- ¡Ñ íπñÑΓ ¿¼ÑΓ∞ »«½Ñº¡«ú« ñÑ⌐ßΓó¿∩.
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- main()
- {
- system("set >>path.log");
- system("cls");
- system("type path.log");
- system("pause");
- system("erase path.log");
- system("cls");
- system("ver");
- system("pause");
- system("cls");
- system("dir /w");
- }
-
-
- tan, tanh ÆÇìâàìæ, ÆÇìâàìæ âêÅàÉüÄïêùàæèêë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <math.h>
- double tan(double x); /* ANSI */
- double tanh(double x); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ Γá¡úÑ¡ß (tan) ¿ ú¿»Ñαí«½¿τÑ߬¿⌐
- Γá¡úÑ¡ß (tanh) áαúπ¼Ñ¡Γá x, ¿º¼Ñα∩Ѽ«ú« ó αáñ¿á¡áσ.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <math.h>
- main()
- {
- double d = .45987;
- printf("The tangent of .45987 is [%f]\n", tan(d));
- d = .495287;
- printf("The hyperbolic tan of .495287 is [%f]\n",
- tanh(d));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Γá¡úÑ¡ß ½¿í« ú¿»Ñαí«½¿τÑ߬¿⌐ Γá¡-
- úÑ¡ß x.
-
-
- time äÇÆ£ éÉàîƒ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- time_t time(time_t *timeptr); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩ ó ßѬπ¡ñáσ, »α«-
- ΦÑñΦÑÑ ß 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá ¿ ºá»¿ßδóáÑΓ φΓ«
- º¡áτÑ¡¿Ñ ó *timeptr, Ñß½¿ timeptr ¡Ñ αáóÑ¡ NULL.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- main()
- {
- time_t ntime;
- time(&ntime);
- printf("éαѼ∩: %s\n", ctime(&ntime));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ τ¿ß½« ßѬπ¡ñ, »α«ΦÑñΦ¿σ ß
- 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá.
-
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ ctime, asctime, localtime, mktime.
-
-
- toascii, tolower, toupper B ASCII,
- B ìêåìêë,
- êß»«½∞º«óá¡¿Ñ: B éàÉòìêë
-
- #include <ctype.h>
- int toascii(int c);
- int tolower(int c); /* ANSI */
- int toupper(int c); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- toascii Åα¿¡¿¼áÑΓ ½εí«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ ¿ ßíαáßδóáÑΓ
- ó 0 óßÑ, ¬α«¼Ñ 7 ¼½áñΦ¿σ αáºα∩ñ«ó, «»αÑñÑ-
- ½∩εΘ¿σ ASCII ½¿ΓÑαπ.
-
- àß½¿ c πªÑ ¿¼ÑÑΓ »αáó¿½∞¡«Ñ º¡áτÑ¡¿Ñ, «¡«
- ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼.
-
- tolower ÅαÑ«íαáºπÑΓ ½εí«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ c ó ñ¿á»á-
- º«¡Ñ «Γ A ñ« Z ó »α«»¿ß¡πε ½¿ΓÑαπ.
-
- toupper ÅαÑ«íαáºπÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ c ó ñ¿á»áº«¡Ñ
- «Γ a ñ« z ó ºáú½áó¡πε ½¿ΓÑαπ.
-
- ¥Γ¿ Σπ¡¬µ¿¿ αÑ὿ºπεΓß∩ ¬á¬ ¼á¬α«ßδ, «»αÑñѽѡ¡δÑ ó
- ctype.h; «¡¿ ó¬½ετÑ¡δ ¿ ó í¿í½¿«ΓѬπ Σπ¡¬µ¿⌐, ¬á¬ Σπ¡¬-
- µ¿¿. àß½¿ φΓ¿ ¼á¬α«ßδ ¡Ñ «»αÑñÑ½Ñ¡δ ¿ Σá⌐½ ctype.h ¡Ñ
- ó¬½ετÑ¡ ó »α«úαá¼¼π, íπñπΓ ¿ß»«½∞º«óá¡δ í¿í½¿«ΓÑτ¡δÑ
- Σπ¡¬µ¿¿.
-
- Åα¿¼Ñα:
-
- #include <ctype.h>
- #include <stdio.h>
- main()
- {
- printf("çáú½áó¡á∩ ½¿ΓÑαá [%c]\n", toupper(0x6d));
- printf("Åα«»¿ß¡á∩ ½¿ΓÑαá [%c]\n", tolower(0x4d));
- printf("æñѽáѼ ascii ½¿ΓÑαπ [%c]\n",toascii(0x0e));
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- toascii 髺óαáΘáÑΓ 7 ¼½áñΦ¿σ αáºα∩ñ«ó c.
-
- tolower 髺óαáΘáÑΓ c, »αÑ«íαẫóá¡¡«Ñ ó »α«»¿ß¡πε
- ½¿ΓÑαπ, Ñß½¿ «¡« í佫 ºáú½áó¡«⌐ ½¿ΓÑα«⌐.
- é »α«Γ¿ó¡«¼ ß½πτáÑ c ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ-
- ¡Ñ¡¡δ¼.
-
- toupper 髺óαáΘáÑΓ c, »αÑ«íαẫóá¡¡«Ñ ó ºáú½áó¡πε
- ½¿ΓÑαπ, Ñß½¿ «¡« í佫 ßΓα«τ¡«⌐ ½¿ΓÑα«⌐.
- é »α«Γ¿ó¡«¼ ß½πτáÑ c ó«ºóαáΘáÑΓß∩ ¡Ñ¿º¼Ñ-
- ¡Ñ¡¡δ¼.
-
-
- ungetc éÄçéÉÇÆêÆ£ ïêÆàÉô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- int ungetc (int c, FILE *fp); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ungetc ó«ºóαáΘáÑΓ ½¿ΓÑαπ c ó« óσ«ñ¡«⌐ »«Γ«¬
- fp, «Γ¬πñá ßτ¿ΓδóáÑΓß∩ ß½ÑñπεΘÑ⌐ «»ÑαᵿÑ⌐ óó«ñá ¿º
- »«Γ«¬á. àß½¿ ¼Ñªñπ óδ»«½¡Ñ¡¿Ñ¼ Σπ¡¬µ¿¿ ungetc() ¿ »«ß-
- ½ÑñπεΘ¿¼ τΓÑ¡¿Ñ¼ óδ»«½¡∩½áß∞ Σπ¡¬µ¿∩ fseek(), ó«ºóαá-
- ΘÑ¡¡á∩ ½¿ΓÑαá ΓÑα∩ÑΓß∩. îѪñπ τΓÑ¡¿∩¼¿ ¼«ªÑΓ íδΓ∞
- ó«ºóαáΘÑ¡á Γ«½∞¬« «ñ¡á ½¿ΓÑαá. Åਧ¡á¬ ¬«¡µá Σá⌐½á
- EOF ¡Ñ ¼«ªÑΓ íδΓ∞ ó«ºóαáΘÑ¡ ó »«Γ«¬.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ungetc ó«ºóαáΘáÑΓ ß¿¼ó«½ c ó ß½πτáÑ πß»Ñσá, ¿ EOF,
- Ñß½¿ ß¿¼ó«½ ¡Ñ ¼«ªÑΓ íδΓ∞ ó«ºóαáΘÑ¡.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ getc, getchar, putc, putchar.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <ctype.h>
- main()
- {
- char ch;
- FILE *stream;
- stream = fopen("file.dat", "r");
- while ((ch = fgetc(stream)) !=EOF )
- if (isspace(ch))
- break;
- ungetc(ch, stream);
- ch = fgetc(stream);
- fclose(stream);
- }
-
-
- unlink ôäÇïêÆ£ öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int unlink(char *filename);
-
- Ä»¿ßá¡¿Ñ:
-
- unlink πñá½∩ÑΓ Σá⌐½, «»αÑñѽ∩Ѽδ⌐ ßΓ᫬«⌐ ¿¼Ñ¡¿ Σá⌐½á.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <io.h>
- #include <stdlib.h>
- main()
- {
- int value;
- char buffer[13];
- char *result;
- printf("ìẫó¿ΓÑ πñá½∩Ѽδ⌐ Σá⌐½: ");
- result = gets(buffer);
- value = unlink(result);
- if (value == 0)
- printf("æΓÑ૨ [% ] ß ñ¿ß¬á\n", result);
- else
- printf("ìÑ πñὫß∞ ßΓÑαÑΓ∞ [%s]\n", result);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- Unlink ó«ºóαáΘáÑΓ 0 ó ß½πτáÑ πß»ÑΦ¡«ú« πñá½Ñ¡¿∩ Σá⌐½á,
- ½¿í« -1 ó ß½πτáÑ ó«º¡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿; »α¿ φΓ«¼ πßΓá-
- ¡áó½¿óáÑΓß∩ errno.
-
-
-
- utime êçîàìêÆ£ éÉàîƒ îÄäêöêèÇûêê öÇëïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <time.h>
- int utime (char *path, time_t times[]);
-
- Ä»¿ßá¡¿Ñ:
-
- Utime ¿º¼Ñ¡∩ÑΓ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á, «»αÑñѽ∩Ѽ«ú«
- áαúπ¼Ñ¡Γ«¼ path. Çαúπ¼Ñ¡Γ times ºáñáÑΓ ¡«ó«Ñ óαѼ∩
- ¼«ñ¿Σ¿¬áµ¿¿ ñ½∩ φΓ«ú« Σá⌐½á.
- îáßß¿ó óαѼѡ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ »«ß½Ññ¡ÑÑ óαѼ∩ ñ«ßΓπ»á
- ¿ »«ß½Ññ¡ÑÑ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á ß««ΓóÑΓßΓóÑ¡¡«.Å«ß-
- ¬«½∞¬π ó MS DOS ¡ÑΓ »«¡∩Γ¿∩ óαѼѡ¿ »«ß½Ññ¡Ñú« ñ«ßΓπ»á,
- φëà φ½Ñ¼Ñ¡Γ ¿ú¡«α¿απÑΓß∩. àß½¿ áαúπ¼Ñ¡Γ times, «»αÑ-
- ñѽ∩εΘ¿⌐ óαѼ∩, αáóÑ¡ ¡π½ε, Γ« ¿ß»«½∞ºπÑΓß∩ ΓѬπΘÑÑ
- óαѼ∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- Utime ó«ºóαáΘáÑΓ 0 ó ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩, ¿ -1
- ó ß½πτáÑ ó«º¡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿; »α¿ φΓ«¼ πßΓá¡áó½¿óáÑΓ-
- ß∩ errno.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ time.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
- main(int argc, char *argv[])
- {
- if (argc ! = 2)
- {
- fprintf(stderr, "êß»«½∞º«óá¡¿Ñ:: utime [Σá⌐½.¿¼∩]\n");
- abort();
- }
- if (utime(argv[1], NULL) == -1)
- {
- fprintf(stderr, "ìÑ ¼«úπ «í¡«ó¿Γ∞ Σá⌐½ [%s]\n",
- argv[1]);
- abort();
- }
- }
-
-
- va_arg - va_start ÉÇüÄÆÇ æ ÅàÉàîàìì¢î ùêæïÄî ÅÇÉÇîàÆÉÄé
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdarg.h>
- type va_arg(va_list arg_ptr, type); /* ANSI */
- void va_end(va_list arg_ptr); /* ANSI */
- void va_start(va_list arg_ptr, prev_parm); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ ¼á¬α«ßδ ¿ß»«½∞ºπεΓß∩ ñ½∩ Γ«ú«, τΓ«íδ »«ññÑনóáΓ∞
- ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó, ¿ß»«½∞ºπѼδσ ó Σπ¡¬µ¿∩σ ß »ÑαѼѡ-
- ¡δ¼ τ¿ß½«¼ áαúπ¼Ñ¡Γ«ó (¡á»α¿¼Ñα, ó Σπ¡¬µ¿¿ vprintf).
-
- Æ¿» va_list »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß»¿ß«¬ »ÑαѼѡ¡«ú« τ¿ß-
- ½á áαúπ¼Ñ¡Γ«ó, «»αÑñѽ∩Ѽδ⌐ ó stdarg.h, ó¼ÑßΓÑ ß φΓ¿¼¿
- ΓαѼ∩ ¼á¬α«ßἿ; φΓ«Γ Γ¿» »«ºó«½∩ÑΓ «íαáíáΓδóáΓ∞ ß»¿ß-
- ¬¿ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿, ¬«úñá Ñ⌐ ÑΘÑ ¡Ñ¿ºóÑßΓ¡« τ¿ß½«
- »ÑαÑñáóáѼδσ áαúπ¼Ñ¡Γ«ó.
-
- îáßß¿ó va_list ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε, ¡Ñ«íσ«ñ¿¼πε ñ½∩
- va_arg ¿ va_end. è«úñá óδºóá¡¡á∩ Σπ¡¬µ¿∩ óó«ñ¿Γ ß»¿-
- ß«¬ áαúπ¼Ñ¡Γ«ó, «¡á «íΩ∩ó½∩ÑΓ »ÑαѼѡ¡πε Γ¿»á va_list.
-
- öπ¡¬µ¿∩ va_start óδºδóáÑΓß∩ »Ñαó«⌐ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿
- ß»¿ß¬á áαúπ¼Ñ¡Γ«ó, »α¿τѼ arg_ptr π¬áºδóáÑΓ ¡á »Ñαóδ⌐
- áαúπ¼Ñ¡Γ ó φΓ«¼ ß»¿ß¬Ñ va_list. Åáαá¼ÑΓα prev_parm -
- - »áαá¼ÑΓα, »αÑñΦÑßΓóπεΘ¿⌐ »Ñαó«¼π áαúπ¼Ñ¡Γπ. ū߽Ñ
- «íαáΘÑ¡¿∩ ¬ va_start ¬áªñδ⌐ ó맮ó va_arg íπñÑΓ íαáΓ∞
- ñá¡¡δÑ ¡áºóá¡¡«ú« Γ¿»á ¿º π¬áºá¡¡«ú« ¼ÑßΓá ¿ πóѽ¿τ¿-
- óáΓ∞ º¡áτÑ¡¿Ñ arg_ptr.
-
- va_end ßíαáßδóáÑΓ arg_ptr ó NULL.
-
- Åα¿¼Ñα:
-
- 漫Γα¿ΓÑ vprintf.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- va_arg ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ áαúπ¼Ñ¡Γ.
- va_start ¿ va_end αá󡫺¡áτ¡δ void.
-
-
- vprintf, vfprintf, vsprintf öÄÉîÇÆì¢ë é¢éÄä
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <stdio.h>
- #include <stdarg.h>
- int vfprintf(FILE *stream, const char *format,
- va_list arg_ptr); /* ANSI */
- int vprintf(const char *format, va_list arg_ptr);
- /* ANSI */
- int vsprintf(char *buffer, const char *format,
- va_list arg_ptr); /* ANSI */
-
- Ä»¿ßá¡¿Ñ:
-
- ¥Γ¿ Σπ¡¬µ¿¿ á¡á½«ú¿τ¡δ ß««ΓóÑΓßΓóÑ¡¡« printf(),
- fprintf() ¿ sprintf() ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ñá¡-
- ¡δÑ íÑαπΓß∩ ¿º va_list arg_ptr.
- 漫Γα¿ΓÑ á¡á½«ú¿ ñ½∩ Σ«α¼áΓá.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ τ¿ß½« óδóÑñÑ¡¡δσ ½¿ΓÑα »α¿ πß»ÑΦ¡«¼
- ºáóÑαΦÑ¡¿¿ ¿½¿ «Γα¿µáΓѽ∞¡«Ñ τ¿ß½« »α¿ 󫺡¿¬¡«óÑ¡¿¿
- «Φ¿í¬¿.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fprintf, printf, sprintf.
-
- Åα¿¼Ñα:
-
- #include <stdarg.h>
- #include <stdio.h>
- varprint(char *format, ...)
- {
- va_list arg_ptr;
- va_start(arg_ptr, format);
- vprintf(format, arg_ptr);
- va_end(arg_ptr);
- }
- main()
- {
- char *string = "STRING";
- int hnum = 0xb000;
- varprint("é맮ó c %s »áα-«¼ ¿ ß %x 16-¼ »áα-¼\n",
- string, hnum);
- varprint("꽿 íѺ »áαá¼ÑΓα«ó\n");
- }
-
-
- write ÅêæÇÆ£ é öÇëï
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <io.h>
- int write(int fd, void *buffer, unsigned length);
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ºá»¿ßδóáÑΓ length íá⌐Γ«ó ¿º íπΣÑαá buffer ó
- Σá⌐½, «»αÑñѽѡ¡δ⌐ ñÑß¬α¿»Γ«α«¼ Σá⌐½á fd. ¥Γá «»Ñαᵿ∩
- τ¿ßΓ« 'ñó«¿τ¡á∩' ¿ íѺ íπΣÑα¿ºáµ¿¿. ÉÑ὿ºπÑΓß∩ ¬á¬
- ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ó맮ó DOS.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ write ó«ºóαáΘáÑΓ τ¿ß½« ñÑ⌐ßΓó¿Γѽ∞¡« ºá»¿ßá¡-
- ¡δσ ó Σá⌐½ íá⌐Γ«ó ¿½¿ -1 »α¿ «Φ¿í¬Ñ, πßΓá¡áó½¿óá∩ »α¿
- φΓ«¼ errno.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- #include <stdio.h>
- #include <string.h>
- #include <dos.h>
- main()
- {
- unsigned int fd;
- char *buffer = "äá¡¡δÑ ñ½∩ ºá»¿ß¿ ó Σá⌐½";
- unsigned int count;
- int nwritten;
- count = strlen(buffer);
- fd = open("file.dat", O_WRONLY);
- if (fd == -1)
- {
- fputs("ìÑ ¼«úπ «Γ¬αδΓ∞ Σá⌐½", stdout);
- return;
- }
- nwritten = write(fd, buffer, count);
- printf("\n WRITE:\n%u íá⌐Γ«ó ºá»¿ßá¡« ó Σá⌐½\n",
- nwritten);
- close(fd);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ééàäàìêà é ü¢æÆÉô₧ âÉÇöêèô
- ─────────────────────────────
-
-
-
- üδßΓαá∩ úαáΣ¿¬á (FG) ∩ó½∩ÑΓß∩ ¡áí«α«¼ ¿¡ΓÑαΣÑ⌐ß¡δσ úαáΣ¿-
- τÑ߬¿σ »α«µÑñπα ñ½∩ IBM PC (¿ ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼ ¬«¼»∞εΓÑα«ó)
- ó ßαÑñÑ ZORTECH C ¬«¼»¿½∩Γ«α«ó. ¥Γ¿ »α«µÑñπαδ «»Γ¿¼á½∞¡δ »«
- ߬«α«ßΓ¿ ¿ »á¼∩Γ¿ ¿ í«½∞Φ¿¡ßΓó« ¡á»¿ßá¡« ¡á áßßѼí½ÑαÑ. Ä¡¿
- »«ññÑনóáεΓ áñá»ΓÑαδ Γ¿»á Hercules, EGA, CGA, VGA ¿ Toshiba
- 3100.
- Åα«µÑñπαá ¿¡¿µ¿á½¿ºáµ¿¿ áóΓ«¼áΓ¿τÑ߬¿ αáß»«º¡áÑΓ ¿ ¡áßΓ-
- αá¿óáÑΓß∩ ¡á í«½∞Φ¿¡ßΓó« ßπΘÑßΓóπεΘ¿σ úαáΣ¿τÑ߬¿σ »½áΓ. -
- ¡« óαπτ¡πε »«ñáó¿Γ∞ (Γ.Ñ. ¡áº¡áτ¿Γ∞ ñαπúπε) ¡áßΓα«⌐¬π »«ß-
- αÑñßΓó«¼ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩ ½¿í« ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
- ê¼ÑÑΓß∩ ñóá ¡áí«αá í¿í½¿«ΓѬ. Äñ¿¡ ∩ó½∩ÑΓß∩ «Γ½áñ«τ¡δ¼,
- «íÑß»Ñτ¿óáεΘ¿¼ ¬«¡Γα«½∞ ñ«»πßΓ¿¼«ßΓ¿ º¡áτÑ¡¿⌐ Σá¬Γ¿τÑ߬¿σ
- »áαá¼ÑΓα«ó Σπ¡¬µ¿⌐. Åα¿ «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ óδºδóáÑΓß∩
- _assert() ß ß««íΘÑ¡¿Ñ¼ «í «Φ¿í¬Ñ. ¥Γ« «íÑß»Ñτ¿óáÑΓ »«¼«Θ∞ ó
- »«¿ß¬Ñ Γαπñ¡δσ ñ½∩ ½«¬á½¿ºáµ¿¿ «Φ¿í«¬ ó »α«úαá¼¼Ñ. ÄΓ½áñ«τ-
- ¡δ⌐ óáα¿á¡Γ ΓαÑíπÑΓ ¡Ñ¬«Γ«αδσ ¡Ñí«½∞Φ¿σ ¿ºñÑαªÑ¬ »« ߬«α«ßΓ¿
- ¿ »á¼∩Γ¿, »«φΓ«¼π ñ½∩ »«½¡«ßΓ∞ε «Γ½áªÑ¡¡«ú« ¬«ñá ¿¼ÑÑΓß∩
- "í«Ñóá∩" óÑαß¿∩ í¿í½¿«ΓѬ¿.
- öá⌐½ "fg.h" ñ«½ªÑ¡ ó¬½ετáΓ∞ß∩ ó ¼«ñπ½¿, ¿ß»«½∞ºπεΘ¿Ñ φΓ¿
- Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ. ü«½∞Φ¿¡ßΓó« ¿º óδºδóáѼδσ Σπ¡¬µ¿⌐ ∩ó-
- ½∩εΓß∩ ¼á¬α«ßἿ, »«φΓ«¼π ¿ß»«½∞º«óá¡¿Ñ φΓ«ú« Σá⌐½á «í∩ºá-
- ⥫쭮.
-
-
- Ä»αÑñѽѡ¿Ñ íẫó«⌐ ¬««αñ¿¡áΓ¡«⌐ ß¿ßΓѼδ
-
- FG ¿ß»«½∞ºπÑΓ »αáó«ßΓ«α«¡¡εε ¬««αñ¿¡áΓ¡πε ß¿ßΓѼπ.
-
-
- y^
- │ çñÑß∞ x ¿ y ∩ó½∩εΓß∩ ¬««αñ¿-
- │ ¡áΓἿ »¿¬ßѽÑ⌐.
- │
- │
- 0 ┼─────────────────> x
- 0
-
- Æ¿»δ »ÑαѼѡ¡δσ
-
- fg_coord_t Æ¿» ñá¡¡δσ ñ½∩ ½εíδσ ¬««αñ¿¡áΓ.
-
- fg_box_t Æ¿» ñá¡¡δσ ñ½∩ ¬««αñ¿¡áΓ «úαá¡¿τ¿óáεΘÑú«
- »α∩¼«πú«½∞¡¿¬á (αἬ¿). ÉἬá ñ«½ª¡á íδΓ∞
- ¡«α¼á½¿º«óá¡á, Γ.Ñ. ¬««αñ¿¡áΓá FG_X1 ¼Ñ¡∞ΦÑ
- ¿½¿ αáó¡á ¬««αñ¿¡áΓÑ FG_X2, ¬««αñ¿¡áΓá FG_Y1
- ¼Ñ¡∞ΦÑ ¿½¿ αáó¡á ¬««αñ¿¡áΓÑ FG_Y2 (í«½ÑÑ
- »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε ¼«ª¡« ¡á⌐Γ¿ ó »áαáúαáΣÑ
- "è«¡ßΓá¡Γδ FG"). äαπú¿¼¿ c½«óἿ, »Ñαóá∩
- Γ«τ¬á αἬ¿ ∩ó½∩ÑΓß∩ óßÑúñá ¡¿ª¡¿¼ ½Ñóδ¼
- πú½«¼, á óΓ«αá∩ - óÑασ¡¿¼ »αáóδ¼ πú½«¼.
-
- fg_pbox_t ô¬áºáΓѽ∞ ¡á αἬπ.
-
- fg_line_t Æ¿» ñá¡¡δσ ñ½∩ ¬««αñ¿¡áΓ («ΓαѺ¬á) ½¿¡¿¿.
- ä½∩ óδí«α¬¿ ¬««αñ¿¡áΓ ½¿¡¿⌐ ¿ß»«½∞ºπεΓß∩ ΓÑ
- ªÑ ßá¼δÑ ¬«¡ßΓá¡Γδ, τΓ« ¿ ñ½∩ αἫ¬, ¡« ½¿-
- ¡¿¿ ¡Ñ ñ«½ª¡δ ߻ѵ¿á½∞¡« »«ñóÑαúáΓ∞ß∩ ¡«α¼á-
- ½¿ºáµ¿¿ »ÑαÑñ «íαáΘÑ¡¿Ñ¼ ¬ Σπ¡¬µ¿∩¼.
-
- fg_color_t Æ¿» ñ½∩ µóÑΓá.
-
- fg_pline_t ô¬áºáΓѽ∞ ¡á ½¿¡¿ε.
-
- fg_hangle_t äÑß¬α¿»Γ«α ß«σαá¡Ñ¡¡«⌐ «í½áßΓ¿ φ¬αá¡á. 漫Γ-
- α¿ΓÑ fg_save() ¿ fg_restore().
-
- è«¡ßΓá¡Γδ FG
-
- è«¡ßΓá¡Γδ ¿¼Ñ¡πεΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ß ºáú½áó¡δ¼¿ íπ¬óἿ.
- Ä¡¿ «»αÑñѽ∩εΓß∩ ó Σá⌐½Ñ "fg.h". Ä¡¿ ñ«½ª¡δ óßÑúñá ¿ß»«½∞º«-
- óáΓ∞ß∩ »« ¿¼Ñ¡á¼, á ¡Ñ »« º¡áτÑ¡¿∩¼, »«ñßΓáó½∩Ñ¼δ¼ ó αѺπ½∞-
- ΓáΓÑ «íαáΘÑ¡¿∩ ¬ ¼á¬α«ßá¼, »«ß¬«½∞¬π ó íπñπΘ¿σ óÑαß¿∩σ úαá-
- Σ¿τÑ߬«ú« »á¬ÑΓá φΓ¿ º¡áτÑ¡¿∩ ¼«úπΓ ¿º¼Ñ¡¿Γ∞ß∩.
-
-
- Çñá»ΓÑαδ úαáΣ¿τÑ߬«ú« ñ¿ß»½Ñ∩
-
- ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ º¡áτÑ¡¿∩, ó«ºóαáΘáѼδÑ fg_init_all()
- (ß¼«Γα¿ΓÑ «»αÑñѽѡ¿Ñ fg_init_all() ñ½∩ í«½ÑÑ ñÑΓá½∞¡«⌐
- ¿¡Σ«α¼áµ¿¿); ú½«íá½∞¡á∩ »ÑαѼѡ¡á∩ fg_display »«½πτáÑΓ Γ« ªÑ
- ßá¼«Ñ º¡áτÑ¡¿Ñ.
-
- çÇîàùÇìêà: fg_init_all() »δΓáÑΓß∩ «»αÑñѽ¿Γ∞ Γ¿»
- »«ñ¬½ετÑ¡¡«ú« úαáΣ¿τÑ߬«ú« πßΓα«⌐ßΓóá. 髺¼«ª¡« »Ñ-
- αÑ«»αÑñѽѡ¿Ñ φΓ«ú« Γ¿»á ó« óαѼ∩ ¿ß»«½¡Ñ¡¿∩ »«ß-
- αÑñßΓó«¼ πßΓá¡«ó¬¿ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩ FG_DISPLAY
- ó «ñ¡« ¿º ¡¿ª¡Ñ»α¿óÑñÑ¡¡δσ º¡áτÑ¡¿⌐. ìá»α¿¼Ñα,
- SET FG_DISPLAY=HERCFULL.
-
- FG_NULL éß∩ úαáΣ¿¬á ßó«ñ¿Γß∩ ¬ αáí«ΓÑ ß í¿Γ«ó«⌐
- ¬áαΓ«⌐.
-
- FG_HERCFULL Hercules "âÑα¬π½Ñß" ¼«¡«σα«¼¡δ⌐ ñ¿ß»½Ñ⌐ ß
- 2 ñ¿ß»½Ñ⌐¡δ¼¿ ßΓαá¡¿µá¼¿.
-
- FG_HERCHALF Hercules ¼«¡«σα«¼¡δ⌐ ñ¿ß»½Ñ⌐ ß 1 ñ¿ß»½Ñ⌐-
- ¡«⌐ ßΓαá¡¿µÑ⌐.
-
- FG_EGAECD IBM EGA ß αáßΦ¿αÑ¡¡δ¼ (enhanced) µóÑΓ¡δ¼
- ñ¿ß»½ÑѼ.
-
- FG_EGACOLOR IBM EGA ß «íδτ¡δ¼ µóÑΓ¡δ¼ ñ¿ß»½ÑѼ.
-
- FG_EGAMONO IBM EGA ß ¼«¡«σα«¼¡δ¼ ñ¿ß»½ÑѼ.
-
- FG_CGAHIRES IBM CGA ó αѪ¿¼Ñ 640*200 »¿¬ßѽÑ⌐.
-
- FG_CGAMEDRES IBM CGA ó αѪ¿¼Ñ 320*200.
-
- FG_TOSHIBA TOSHIBA 3100.
-
- FG_8514A IBM 8514A úαáΣ¿τÑ߬¿⌐ áñá»ΓÑα.
-
- FG_VGA11 IBM VGA ó αѪ¿¼Ñ 0σ11.
-
- FG_VGA12 IBM VGA ó αѪ¿¼Ñ 0σ12.
-
- FG_VGA13 IBM VGA ó αѪ¿¼Ñ 0σ13.
-
- äαπú¿Ñ º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ FG_DISPLAY:
-
- HERC HERCULES ¼«¡«σα«¼¡δ⌐ ñ¿ß»½Ñ⌐ ß 1 ¿½¿ 2
- ßΓαá¡¿µá¼¿, (τΓ« πΓ«τ¡∩ÑΓß∩ »α¿ ¿¡¿µ¿á½¿-
- ºáµ¿¿ Σπ¡¬µ¿Ñ⌐ fg_init_all().
-
-
- ä«ßΓπ» ¬ ¬««αñ¿¡áΓá¼ αἫ¬ ¿ ½¿¡¿⌐
-
- FG_X1 êß»«½∞ºπεΓß∩ ó ¬áτÑßΓóÑ ¿¡ñѬ߫ó αἫ¬ ¿ ½¿-
- FG_Y1 ¡¿⌐, ߬áªÑ¼, ¬«¡ßΓαπ¬µ¿∩ [FG_X1] «íÑß»Ñτ¿óá-
- FG_X2 ÑΓ ñ«ßΓπ» ¬ x ¬««αñ¿¡áΓÑ ½Ñó«⌐ ßΓ«α«¡δ αἬ¿.
- FG_Y2
-
- ┌───────────────────────────────────────────────────┐
- │ │
- │ ┌──────────┐ ─── y2 ┌─── y2 │
- │ │ │ /│ │
- │ │ │ / x2 │
- │ └──────────┘ ─── y1 / │
- │ │ │ y1 ───┐ │
- │ x1 x2 │ │
- │ x1 │
- │ │
- └───────────────────────────────────────────────────┘
- FG ¬««αñ¿¡áΓδ αἫ¬ ¿ ½¿¡¿⌐
-
- ¥Γ¿ ¬«¡ßΓá¡Γδ, á ¡Ñ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩, ß½ÑñπÑΓ ¿ß»«½∞-
- º«óáΓ∞ ñ½∩ ñ«ßΓπ»á ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿óá, τΓ« »«ºó«½∩ÑΓ ¿ºíÑ-
- ªáΓ∞ »α«í½Ñ¼ ß ñ¿ß»½Ñ⌐¡δ¼¿ áñá»ΓÑαἿ, ¿ß»«½∞ºπεΘ¿¼¿ αạδÑ
- ß¿ßΓÑ¼δ ¬««αñ¿¡áΓ.
-
-
- îá߬¿
-
- îáß«τ¡δÑ ¬«¡ßΓá¡Γδ »ÑαÑñáεΓß∩ (¬á¬ »áαá¼ÑΓαδ) »«τΓ¿ óßѼ
- Σπ¡¬µ¿∩¼ ñ½∩ ¿¡ñ¿¬áµ¿¿ í¿Γ«óδσ »½«ß¬«ßΓÑ⌐, ñ«ßΓπ»¡δσ ñ½∩ ¿º-
- ¼Ñ¡Ñ¡¿∩. îáß¬á ¿¼ÑÑΓ ß¼δß½ Γ«½∞¬« ñ½∩ »½áΓ, »«ññÑনóáεΘ¿σ
- í«½ÑÑ ñóπσ µóÑΓ«ó. ä½∩ »½áΓ Γ¿»á EGA, »«ññÑনóáεΘ¿σ ó αѪ¿-
- ¼Ñ óδß«¬«ú« αáºαÑΦÑ¡¿∩ 16 µóÑΓ«ó «ñ¡«óαѼѡ¡«, ñÑ⌐ßΓó¿Γѽ∞¡δ
- 4 í¿Γá ¼á߬¿, »á¬πѼδÑ ó ¼½áñΦ¿Ñ í¿Γδ.
- é í«½∞Φ¿¡ßΓóÑ »α¿½«ªÑ¡¿⌐ ¡Ñ«íσ«ñ¿¼ ñ«ßΓπ» ¬« óßѼ Γ«τ¬á¼.
- ¥Γ« «íÑß»Ñτ¿óáÑΓß∩ º¡áτÑ¡¿Ñ¼ ~0. ô»αáó½Ñ¡¿Ñ ñ«ßΓπ»¡«ßΓ∞ε í¿-
- Γ«óδσ »½«ß¬«ßΓÑ⌐ »«ßαÑñßΓó«¼ ¼áß«¬ »«½Ñº¡« ó ß½ÑñπεΘ¿σ ß½π-
- τá∩σ:
-
- * àß½¿ ¿¼ÑεΓß∩ 2 í¿Γ«óδσ »½«ß¬«ßΓ¿ (2 í¿Γá/»¿¬ßѽ∞),
- éδ ¼«ªÑΓÑ α¿ß«óáΓ∞ αẽ¿τ¡δÑ «íαáºδ ¡á ¬áªñ«⌐. êº-
- ¼Ñ¡∩∩ ºáΓѼ ¬áαΓπ µóÑΓ«ó, ¼«ª¡« ó¬½ετáΓ∞ ¿ ó䬽ε-
- τáΓ∞ »½«ß¬«ßΓ¿ ¡Ñºáó¿ß¿¼« ñαπú «Γ ñαπúá, ß«ºñáóá∩
- φΣΣÑ¬Γ ¼π½∞Γ¿»½¿¬áµ¿¿.
-
- * èπαß«α ¼«ªÑΓ íδΓ∞ ºá»¿ßá¡ ¡á ßó«ε ß«íßΓóÑ¡¡πε »½«ß-
- ¬«ßΓ∞, τΓ« ßñѽáÑΓ Ñú« ¡Ñºáó¿ß¿¼δ¼ «Γ «ßΓá½∞¡«⌐
- úαáΣ¿¬¿.
-
-
- çỿß∞ αѪ¿¼«ó
-
- Äñ¡á ¿º ß½ÑñπεΘ¿σ óѽ¿τ¿¡ »ÑαÑñáÑΓß∩ »«τΓ¿ óßѼ Σπ¡¬µ¿-
- ∩¼ ñ½∩ ¿¡ñ¿¬áµ¿¿ Γ¿»á óδ»«½¡Ñ¡∩Ѽ«⌐ «»Ñαᵿ¿ ¡á φ¬αá¡Ñ.
-
- FG_MODE_SET ÉѪ¿¼ πßΓá¡«ó¬¿ µóÑΓ«ó ó á¬Γ¿ó¡πε ßΓαá¡¿µπ
- ß πτÑΓ«¼ ñÑ⌐ßΓóπεΘÑ⌐ ¼á߬¿.
- FG_MODE_XOR ÉѪ¿¼ »α«óÑñÑ¡¿∩ «»Ñαᵿ¿ XOR (¿ß¬½ετáεΘÑÑ
- ¿½¿) ¡áñ ºá»¿ßá¡¡δ¼ ¿ ºá»¿ßδóáÑ¼δ¼ µóÑΓἿ
- ó á¬Γ¿ó¡«⌐ ßΓαá¡¿µÑ.
-
- Æ¿»δ ½¿¡¿⌐
-
- Äñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐ »«ßΓπ»áÑΓ ¬ Σπ¡¬µ¿∩¼ α¿ß«óá¡¿∩
- ½¿¡¿⌐ ñ½∩ ¿¡ñ¿¬áµ¿¿ Γ¿»á α¿ßπѼ«⌐ ½¿¡¿¿.
-
- FG_LINE_SOLID ß»½«Φ¡á∩
- FG_LINE_LONG_DASH ñ½¿¡¡δ⌐ ΦΓα¿σ
- FG_LINE_MEDIUM_DOTTED ßαÑñ¡¿⌐ »π¡¬Γ¿α
- FG_LINE_DASH_DOTTED ΦΓα¿σ - »π¡¬Γ¿α
- FG_LINE_MEDIUM_DASHED ßαÑñ¡¿⌐ ΦΓα¿σ
- FG_LINE_DASH_W_2_DOTS ΦΓα¿σ ¿ ñóá »π¡¬Γ¿αá
- FG_LINE_SHORT_DASH ¬«α«Γ¬¿⌐ ΦΓα¿σ
- FG_LINE_DENSE_DOTTED »½«Γ¡δ⌐ »π¡¬Γ¿α
- FG_LINE_SPARSE_DOTTED αÑñ¬¿⌐ »π¡¬Γ¿α
- FG_LINE_USER_DEFINED ¥Γ«Γ Γ¿» ½¿¡¿¿ «»αÑñѽ∩ÑΓß∩ »α¿¬-
- ½áñ¡«⌐ »α«úαá¼¼«⌐ »«ßαÑñßΓó«¼
- fg_setlinepattern().
- FG_LINE_MAX îá¬ß¿¼á½∞¡«Ñ ¬«½¿τÑßΓó« «ñ¡«óαÑ-
- ¼Ñ¡¡« «»αÑñѽѡ¡δσ Γ¿»«ó ½¿¡¿⌐.
-
- ä«ßΓπ»¡δÑ µóÑΓá
-
- ¥Γ¿ º¡áτÑ¡¿∩ »«ßΓπ»áεΓ ¬ Σπ¡¬µ¿∩¼ ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γ«ó,
- «»αÑñѽ∩∩ µóÑΓá ½¿¡¿⌐, Γ«τѬ, αἫ¬ ¿ Γ.ñ. êº óßÑú« αạ««í-
- αế∩ úαáΣ¿τÑ߬¿σ ¼«¡¿Γ«α«ó ¡¿ «ñ¿¡ ¡Ñ »«ññÑনóáÑΓ óßÑ
- ¡áºóá¡¡δÑ ¡¿ªÑ µóÑΓá. ìѬ«Γ«αδÑ »«ññÑনóáεΓ Γ«½∞¬« ñóá. FG
- «»αÑñѽ∩ÑΓß∩ Γá¬, τΓ« íπñÑΓ »αÑñ«ßΓáó½Ñ¡«, »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ,
- ñóá ¿º φΓ¿σ µóÑΓ«ó, ñ«ßΓπ»¡δσ ¡á óßÑσ »«ññÑনóáѼδσ »½áΓáσ.
- ¥Γ¿ º¡áτÑ¡¿∩ óδí¿αáεΓß∩ »« π¼«½τá¡¿ε. àß½¿ éδ ¿º¼Ñ¡¿ΓÑ µóÑ-
- Γ«óπε ¬áαΓπ, ß¼δß½ φΓ¿σ º¡áτÑ¡¿⌐ ß««ΓóÑΓßΓóÑ¡¡« ¿º¼Ñ¡¿Γß∩.
- éßÑ φΓ¿ º¡áτÑ¡¿∩ ¡Ñ ñÑ⌐ßΓó¿Γѽ∞¡δ ñ« «íαáΘÑ¡¿∩ ¬ fg_init ().
- àß½¿ µóÑΓ ¡Ññ«ßΓπ»Ñ¡, «¡ πßΓá¡«ó½Ñ¡ ó -1.
-
- FG_BLACK ùÑα¡δ⌐. éßÑúñá ñ«ßΓπ»Ñ¡.
- FG_BLUE ⫽πí«⌐.
- FG_GREEN çѽѡδ⌐.
- FG_CYAN û¿á¡ (ÆÑ¼¡«-ß¿¡¿⌐, ß¿¡Ñ-ºÑ½Ñ¡δ⌐).
- FG_BLUE_GREEN æ¿¡Ñ-ºÑ½Ñ¡δ⌐. Æ« ªÑ, τΓ« ¿ CYAN.
- FG_RED èαáß¡δ⌐.
- FG_MAGENTA ö¿«½ÑΓ«óδ⌐.
- FG_PURPLE Åπα»πα¡δ⌐. Æ« ªÑ, τΓ« ¿ MAGENTA.
- FG_WHITE üѽδ⌐. éßÑúñá ñ«ßΓπ»Ñ¡.
- FG_GRAY æÑαδ⌐.
- FG_LIGHT_BLUE æóÑΓ½«-ú«½πí«⌐.
- FG_LIGHT_GREEN æóÑΓ½«-ºÑ½Ñ¡δ⌐.
- FG_LIGHT_CYAN æóÑΓ½δ⌐ µ¿á¡.
- FG_LIGHT_BLUE_GREEN æóÑΓ½«-ß¿¡Ñ-ºÑ½Ñ¡δ⌐. Æ« ªÑ, τΓ« ¿
- LIGHT_CYAN.
- FG_LIGHT_RED æóÑΓ½«-¬αáß¡δ⌐.
- FG_LIGHT_MAGENTA æóÑΓ½«-Σ¿«½ÑΓ«óδ⌐.
- FG_BROWN è«α¿τ¡Ñóδ⌐.
- FG_LIGHT_WHITE æóÑΓ½«-íѽδ⌐.
- FG_HIGHLIGHT Äíδτ¡« ¿¡Γѡ߿ó¡δ⌐ íѽδ⌐.
- FG_COLOR_MAX îá¬ß¿¼á½∞¡«Ñ τ¿ß½« µóÑΓ«ó, »«ññÑন-
- óáѼ«Ñ ½εíδ¼ πßΓα«⌐ßΓó«¼. 漫Γα¿ΓÑ
- Γá¬ªÑ fg_ncolormap ¿ fg_nsimulcolor.
-
-
- ÄüÖêà ÅàÉàîàìì¢à
- ─────────────────
-
- ç¡áτÑ¡¿∩ φΓ¿σ »ÑαѼѡ¡δσ ¿¼ÑεΓ ß¼δß½ ó »α«¼Ñªπ⪥ ¼Ñªñπ
- «íαáΘÑ¡¿∩¼¿ ¬ fg_init() ¿ fg_term(). ¥Γ¿ º¡áτÑ¡¿∩ ¡Ñ ñ«½ª¡δ
- ó φΓ«¼ »α«¼Ñªπ⪥ ¼«ñ¿Σ¿µ¿α«óáΓ∞ß∩ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ
- (¿ß¬½ετÑ¡¿Ñ¼ ∩ó½∩εΓß∩ fg_activepage ¿ fg_displaypage).
-
-
- fg_displaybox (èÄÄÉäêìÇÆ¢ ÉÇîèê äêæÅïàƒ)
-
- Æ¿»:
- fg_box_t fg_displaybox;
- Ä»¿ßá¡¿Ñ:
- ÉἬá ñ¿ß»½Ñ∩.
-
- (fg_displaybox[FG_X1], fg_displaybox[FG_Y1])
- ∩ó½∩εΓß∩ ¬««αñ¿¡áΓἿ ¡¿ª¡Ñú« ½Ñó«ú« πú½á ñ¿ß-
- »½Ñ∩.
- (fg_displaybox[FG_X2], fg_displaybox[FG_Y2])
- ∩ó½∩εΓß∩ ¬««αñ¿¡áΓἿ óÑασ¡Ñú« »αáó«ú« πú½á
- ñ¿ß»½Ñ∩.
-
-
-
- fg_charbox (èÄÄÉäêìÇÆ¢ ÉÇîèê ïêÆàÉ¢)
-
- Æ¿»:
- fg_box_t fg_charbox;
- Ä»¿ßá¡¿Ñ:
- Éá¼¬á ½¿ΓÑαδ.
-
- (fg_charbox[FG_X1], fg_charbox[FG_Y1])=(0,0).
- (fg_charbox[FG_X2], fg_charbox[FG_Y2]) ∩ó½∩εΓ-
- ß∩ ¬««αñ¿¡áΓἿ »αáó«ú« óÑασ¡Ñú« πú½á αἬ¿
- ½¿ΓÑαδ.
-
-
-
- fg_ncolormap (ÉÇçîàÉ ÅÇïêÆÉ¢)
-
- Æ¿»:
- int fg_ncolormap;
- Ä»¿ßá¡¿Ñ:
- 諽¿τÑßΓó« φ½Ñ¼Ñ¡Γ«ó ó ¬áαΓÑ µóÑΓ«ó.
- Åα¿¼Ñα:
- ä½∩ »½áΓδ EGA ß αáßΦ¿αÑ¡¡δ¼ (Enhanced) µóÑΓ¡δ¼
- ñ¿ß»½ÑѼ φΓ« º¡áτÑ¡¿Ñ αáó¡« 64. ä½∩ »½áΓδ
- Hercules «¡« αáó¡« 2.
-
-
- fg_nsimulcolor (ùêæïÄ ûéàÆÄé)
-
- Æ¿»:
- int fg_nsimulcolor;
- Ä»¿ßá¡¿Ñ:
- ù¿ß½« «ñ¡«óαѼѡ¡« ñ«ßΓπ»¡δσ µóÑΓ«ó, αáó¡«Ñ 2
- ó ßΓѻѡ¿ n, úñÑ n - τ¿ß½« í¿Γ ¡á »¿¬ßѽ∞.
- Åα¿¼Ñα:
- ä½∩ »½áΓδ EGA ß αáßΦ¿αÑ¡¡δ¼ µóÑΓ¡δ¼ ñ¿ß»½ÑѼ
- φΓ« º¡áτÑ¡¿Ñ αáó¡« 16 (4 í¿Γá ¡á »¿¬ßѽ∞). ä½∩
- »½áΓδ Hercules «¡« αáó¡« 2 (1 í¿Γ ¡á »¿¬ßѽ∞).
- 諽¿τÑßΓó« í¿Γ ¡á »¿¬ßѽ∞ αáó¡« ¬«½¿τÑßΓóπ í¿-
- Γ«óδσ »½«ß¬«ßΓÑ⌐.
-
-
- fg_pixelx, fg_pixely (ÉÇçîàÉ¢ Åêèæàïƒ)
-
- Æ¿»:
- int fg_pixelx, fg_pixely;
- Ä»¿ßá¡¿Ñ:
- Æ¿»¿τ¡á∩ óδß«Γá ¿ Φ¿α¿¡á »¿¬ßѽ∩ ó ¼¿¬α«¼ÑΓαáσ.
- ū߬«½∞¬π ñ½∩ αÑá½∞¡«ú« ¼«¡¿Γ«αá φΓ¿ º¡áτÑ¡¿∩
- »α«úαá¼¼¡« «»αÑñѽ¿Γ∞ ¡Ñ󫺼«ª¡«, «¡¿ ß««ΓóÑΓ-
- ßΓóπεΓ Γ¿»¿τ¡«¼π¼«¡¿Γ«απ, ¿ß»«½∞ºπѼ«¼π ß φΓ«⌐
- úαáΣ¿¬«⌐.
-
-
- fg_numpages (ùêæïÄ æÆÉÇìêû)
-
- Æ¿»:
- int fg_numpages;
- Ä»¿ßá¡¿Ñ:
- 諽¿τÑßΓó« ñ¿ß»½Ñ⌐¡δσ ßΓαá¡¿µ, ¡π¼ÑαπѼδσ «Γ 0
- ñ« (fg_numpages-1).
- Åα¿¼Ñα:
- Çñá»ΓÑα EGA ß 256 èí «»ÑαáΓ¿ó¡«⌐ »á¼∩Γ¿ (RAM)
- íπñÑΓ ¿¼ÑΓ∞ 2 úαáΣ¿τÑ߬¿Ñ ßΓαá¡¿µδ ß ¡«¼ÑαἿ
- 0 ¿ 1.
-
-
- fg_display (ÆêÅ ÇäÇÅÆàÉÇ)
-
- Æ¿»:
- int fg_display;
- Ä»¿ßá¡¿Ñ:
- Æ¿» úαáΣ¿τÑ߬«⌐ »½áΓδ, πßΓá¡«ó½Ñ¡¡«⌐ ó ¬«¼»∞ε-
- ΓÑα. ¥Γá »ÑαѼѡ¡á∩ πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º
- º¡áτÑ¡¿⌐ FG_NULL, FG_EGAECD, FG_HERCULES, ¿
- Γ.ñ., «»¿ßá¡¡δσ ßαÑñ¿ ¬«¡ßΓá¡Γ FG.
-
-
- fg_activepage (ìÄîàÉ ÇèÆêéìÄë æÆÉÇìêû¢)
-
- Æ¿»:
- unsigned fg_activepage;
- Ä»¿ßá¡¿Ñ:
- ÆÑ¬πΘá∩ á¬Γ¿ó¡á∩ ßΓαá¡¿µá, ¬ ¬«Γ«α«⌐ «Γ-
- ¡«ß∩Γß∩ óßÑ úαáΣ¿τÑ߬¿Ñ ¬«¼á¡ñδ. öπ¡¬µ¿∩
- fg_setactivepage() πßΓá¡áó½¿óáÑΓ ¿ ¼Ñ¡∩ÑΓ ¡«-
- ¼Ñα ΓѬπΘÑ⌐ ßΓαá¡¿µδ.
-
-
- fg_displaypage (ìÄîàÉ ÄÆÄüÉÇåÇàîÄë æÆÉÇìêû¢)
-
- Æ¿»:
- unsigned fg_displaypage;
-
- Ä»¿ßá¡¿Ñ:
- ÆÑ¬πΘá∩ ßΓαá¡¿µá, «Γ«íαáªÑ¡¡á∩ ¡á ¼«¡¿Γ«αÑ.
- 쫼Ñα ñ¿ß»½Ñ⌐¡«⌐ ßΓαá¡¿µδ πßΓá¡áó½¿óáÑΓß∩ ¿
- ¿º¼Ñ¡∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐ fg_setdisplaypage().
-
-
-
-
- öôìèûêê, ÅÄæÆÇéïƒàî¢à ÅÄï£çÄéÇÆàïàî öÇèôï£ÆÇÆêéìÄ
- ────────────────────────────────────────────────────
-
- Å«½∞º«óáΓѽ∞ »á¬ÑΓá FG ¼«ªÑΓ «»αÑñѽ∩Γ∞ »ÑαÑτ¿ß½Ñ¡¡δÑ
- ¡¿ªÑ Σπ¡¬µ¿¿, ¬«Γ«αδÑ »« π¼«½τá¡¿ε »«ññÑনóáεΓß∩ í¿í½¿«ΓÑ-
- ¬«⌐.
-
- _assert ôÆéàÉåäàìêà
-
- Æ¿»:
- void _assert(char *string _p, char *file_p,
- unsigned int line);
- Ä»¿ßá¡¿Ñ:
- öπ¡¬µ¿∩ óδºδóáÑΓß∩ »α¿ «í¡áαπªÑ¡¿¿ Γᬿσ »α«-
- úαá¼¼¡δσ «Φ¿í«¬, ¬á¬ »α¿σ«ñ ¬««αñ¿¡áΓδ ó¡Ñ
- »αÑñѽ«ó ñ¿ß»½Ñ∩. Ä¡á ñ«½ª¡á »ÑτáΓáΓ∞ ß««íΘÑ-
- ¡¿Ñ, π¬áºá¡¡«Ñ 'string_p', ¿¼∩ ¿ßσ«ñ¡«ú« Σá⌐½á
- 'file_p' ¿ ¡«¼Ñα ßΓ᫬¿ 'line' ó φΓ«¼ Σá⌐½Ñ.
- Ä¡á ¡Ñ ñ«½ª¡á ó«ºóαáΘáΓ∞ π»αáó½Ñ¡¿Ñ; ¡áßΓ«∩-
- Γѽ∞¡« αѬ«¼Ñ¡ñπÑΓß∩ ºáóÑαΦ¿Γ∞ (exit) »α«úαá¼-
- ¼π ß ó«ºóαáΓ«¼ ó äÄæ; ¡áßΓ«∩Γѽ∞¡« αѬ«¼Ñ¡ñπ-
- ÑΓß∩ Γá¬ªÑ óδºóáΓ∞ fg_term »ÑαÑñ ó«ºóαáΓ«¼ ó
- DOS, ó«ßßΓá¡«ó¿ó ΓѬßΓ«óδ⌐ αѪ¿¼ «Γ«íαáªÑ¡¿∩.
-
-
- fg_lineclip èïêÅÅêÉÄéÇìêà ïêìêê
-
- Æ¿»:
- int fg_lineclip(fg_pbox_t clip,
- fg_pline_t line_in, fg_pline_t line_out);
-
- Ä»¿ßá¡¿Ñ:
-
- fg_pbox_t clip 轿»»¿απεΘá∩ αἬá ñ½∩
- ½¿¡¿¿ line_in.
-
- fg_pline_t line_in ï¿¡¿∩, ¬«Γ«αá∩ ñ«½ª¡á
- »α«⌐Γ¿ ¬½¿»»¿α«óá¡¿Ñ («í-
- αѺ᡿Ñ) «Γ¡«ß¿Γѽ∞¡«
- ¬½¿»»¿απεΘÑ⌐ αἬ¿.
-
- fg_pline_t line_out ÉѺπ½∞Γ¿απεΘá∩ ½¿¡¿∩. 髺-
- óαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ-
- ¡¿Ñ, Ñß½¿ «ñ¿¡ ¿½¿ í«½ÑÑ
- »¿¬ßѽÑ⌐ ½¿¡¿¿ `line_out'
- ¡áσ«ñ¿Γß∩ ó¡πΓα¿ ¬½¿»»¿-
- απεΘÑ⌐ αἬ¿. é »α«Γ¿ó¡«¼
- ß½πτáÑ ó«ºóαáΘáÑΓ ¡«½∞.
- àß½¿ »α«úαá¼¼¿ßΓ ¡Ñ πñ«ó-
- ½ÑΓó«αÑ¡ αáí«Γ«⌐ Σπ¡¬µ¿⌐,
- óδºδóáѼδσ φΓ«⌐ »α«µÑñπ-
- ன (fg_drawlineclip(),
- fg_drawbox(),
- fg_drawthickline()), «¡
- ¼«ªÑΓ «íÑß»Ñτ¿Γ∞ á½∞ΓÑα-
- ¡áΓ¿óπ.
-
-
- ÄüÖêà öôìèûêê ü¢æÆÉÄë âÉÇöêèê
- ────────────────────────────────
-
-
- fg_adjustxy æèÄÉÉàèÆêÉÄéÇÆ£ ÆàèôÖêà èÄÄÉäêìÇÆ¢
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_adjustxy(int rot, int n,
- fg_coord_t *px, fg_coord_t *py, fg_pbox_t box);
-
- Ä»¿ßá¡¿Ñ:
-
- int rot Äñ¡á ¿º ¬«¡ßΓá¡Γ FG_ROT0, FG_ROT90,
- FG_ROT180, FG_ROT270.
-
- int n 諽¿τÑßΓó« ½¿ΓÑα ¿½¿ «íΩÑ¬Γ«ó, πªÑ
- óδóÑñÑ¡¡δσ.
-
- fg_coord_t *px, *py ô¬áºáΓѽ¿ ¡á ¬««αñ¿¡áΓδ ¡áτá½á »Ñα-
- ó«⌐ ½¿ΓÑαδ ßΓ᫬¿.
-
- fg_pbox_t box Äúαá¡¿τ¿óáεΘá∩ αá¼¬á ½¿ΓÑαδ ¿½¿
- «íΩѬΓá.
-
-
- x ¿ y ¬««αñ¿¡áΓδ ñ½∩ óδó«ñá «τÑαÑñ¡«⌐ ½¿ΓÑαδ (¿½¿ «íΩѬΓá,
- «úαá¡¿τÑ¡¡«ú« αἬ«⌐), óδτ¿ß½∩εΓß∩ ß πτÑΓ«¼ ºáñá¡¡«ú«
- óαáΘÑ¡¿∩. *px ¿ *py πßΓá¡áó½¿óáεΓß∩ π¬áºδóáεΘ¿¼¿ ¡á «τÑ-
- αÑñ¡πε ½¿ΓÑαπ («íΩѬΓ). Åα«µÑñπαá ¡á¿í«½ÑÑ »«½Ñº¡á ó ¬«¼»-
- ½Ñ¬ΓÑ ß fg_drawmatrix() ¿ fg_puts().
-
- Åα¿¼Ñα:
-
- {
- static char test_string[]="¥Γ« ΓÑßΓ";
- fg_coord_t x,y;
- ...
- x=fg_displaybox[FG_X1] + displaybox[FG_X2];
- x-=sizeof(test_string)*(fg_charbox[FG_X2]+1);
- x /=2;
- y=(fg_displaybox[FG_Y1]+fg_displaybox[FG_Y2)/2;
- fg_puts(FG_WHITE, FG_MODE_SET, ~0, FG_ROT0, x,
- y, test_string, fg_displaybox);
- fg_adjustxy(FG_ROT0, sizeof(test_string)-1, &x,
- &y, fg_charbox);
- /* x ¿ y ßÑ⌐τáß πßΓá¡«ó½Ñ¡δ ó ¬«¡Ñµ ßΓ᫬¿
- `test string'*/
- }
-
-
- fg_blit ÅàÉàîàæÆêÆ£ ÉÇîèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_blit(fg_pbox_t src_box,
- fg_coord_t(x, fg_coord_t y, int dstpage, int srcpage);
-
- Ä»¿ßá¡¿Ñ:
-
- ÄßπΘÑßΓó½∩ÑΓ »ÑαѼÑΘÑ¡¿Ñ »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ »¿¬ßѽÑ⌐
- »« φ¬αá¡π.
-
- src_box Ä»αÑñѽ∩ÑΓ ¿ßσ«ñ¡δ⌐ »α∩¼«πú«½∞¡¿¬ »¿¬ßѽÑ⌐. Ä¡,
- ÑßΓÑßΓóÑ¡¡«, ¡Ñ ñ«½ªÑ¡ óδ½ÑºáΓ∞ ºá αἬπ óßÑú«
- φ¬αá¡á fg_displaybox ¬á¬ ñ«, Γᬠ¿ »«ß½Ñ Ñú«
- »ÑαѼÑΘÑ¡¿∩ ¬ ¡«óδ¼ ¬««αñ¿¡áΓá¼.
- x, y çáñáεΓ ¬««αñ¿¡áΓδ ¡¿ª¡Ñú« ½Ñó«ú« πú½á αѺπ½∞Γ¿-
- απεΘÑú« »α∩¼«πú«½∞¡¿¬á.
- dstpage é ¬á¬πε ñ¿ß»½Ñ⌐¡πε ßΓαá¡¿µπ »«¼ÑßΓ¿Γ∞ »ÑαѼÑΘÑ-
- ¡¡δ⌐ »α∩¼«πú«½∞¡¿¬ »¿¬ßѽÑ⌐.
- srcpage êº ¬á¬«⌐ ßΓαá¡¿µδ íαáΓ∞ ¿ßσ«ñ¡δ⌐ »α∩¼«πú«½∞¡¿¬
- »¿¬ßѽÑ⌐.
-
- 轿»»¿α«óá¡¿Ñ ¡Ñ »α«¿ºó«ñ¿Γß∩. ÅÑαѬαδΓ¿Ñ ¿ßσ«ñ¡«⌐ ¿ αÑ-
- ºπ½∞Γ¿απεΘÑ⌐ «í½áßΓÑ⌐ «íαáíáΓδóáÑΓß∩ Γá¬, τΓ« τ¿ΓáѼδÑ
- »¿¬ßѽ¿ ¡Ñ π¡¿τΓ«ªáεΓß∩ ºá»¿ßδóáÑ¼δ¼¿. ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ
- Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¬«»¿α«óá¡¿∩ ßΓαá¡¿µ ß »«½¡«⌐
- αἬ«⌐ src_box, αáó¡«⌐ fg_displaybox, ¿ αѺπ½∞Γ¿απεΘ¿¼¿
- ¬««αñ¿¡áΓἿ (0,0).
-
- Åα¿¼Ñα:
-
- /* ¬«»¿α«óá¡¿Ñ ßΓαá¡¿µδ ¿º `oldpage' ó `page' */
- fg_blit(fg_displaybox, 0, 0, page, oldpage);
-
-
- fg_box_cpy æèÄÅêÉÄéÇÆ£ ÉÇîèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- pbox_t fg_box_cpy(pbox_t to, pbox_t from);
-
- Ä»¿ßá¡¿Ñ:
-
- è«»¿απÑΓ αἬπ `from' ó αἬπ `to'. 髺óαáΘáÑΓ π¬áºáΓѽ∞
- ¡á αἬπ `to'.
-
- Åα¿¼Ñα:
-
- fg_box_cpy(destination_box, source_box);
-
-
-
- fg_drawarc ìÇÉêæÄéÇÆ£ äôâô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawarc(fg_color_t color, int mode,
- int mask, fg_coord_t x, fg_coord_t y,
- fg_coord_t radius, int startangle,
- int endangle, fg_pbox_t clipbox);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ ¬απú«óπε ñπúπ ó ¡á»αáó½Ñ¡¿¿ »α«Γ¿ó τáß«ó«⌐ ßΓαѽ¬¿
- «Γ ¡áτá½∞¡«ú« πú½«ó«ú« ß¼ÑΘÑ¡¿∩ αáñ¿πßá ñ« ¬«¡Ñτ¡«ú«.
-
- x, y ûÑ¡Γα «¬απª¡«ßΓ¿.
- radius Éáñ¿πß «¬απª¡«ßΓ¿.
- clipbox 轿»»¿απεΘá∩ αἬá ñ½∩ ñπú¿.
- startangle ç¡áτÑ¡¿Ñ «Γ 0 ñ« 3600 (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
- endangle ç¡áτÑ¡¿Ñ «Γ 0 ñ« 3600. ùΓ«íδ ¡áα¿ß«óáΓ∞ »«½-
- ¡πε «¬απª¡«ßΓ∞, ¿ß»«½∞ºπεΓß∩ º¡áτÑ¡¿∩ 0, 3600.
- çá¼ÑΓ¿¼, τΓ« ¡π½Ñó«⌐ αáñ¿πß ¿½¿ ¡π½Ñó«Ñ πú½«-
- ó«Ñ αáßßΓ«∩¡¿Ñ íπñπΓ «Γα¿ß«óá¡δ ¬á¬ «ñ¿¡ »¿¬-
- ßѽ∞.
-
- ò«Γ∩ Ññ¿¡¿µÑ⌐ πú½«óδσ αáßßΓ«∩¡¿⌐ ß½πª¿Γ ñÑß∩Γá∩ τáßΓ∞
- úαáñπßá, ¼á¬ß¿¼á½∞¡« 󫺼«ª¡á∩ «Φ¿í¬á ñ«ßΓ¿úáÑΓ ñ½∩
- ¡Ñ¬«Γ«αδσ πú½«ó 3 úαáñπß«ó. äπúá ∩ó½∩ÑΓß∩ ¬απú«ó«⌐ ó »¿¬-
- ßѽ∩σ, ¡« óó¿ñπ αạ¿µδ αáßßΓ«∩¡¿⌐ ¼Ñªñπ »¿¬ßѽ∩¼¿ ó
- ¡á»αáó½Ñ¡¿∩σ »« x ¿ y ¡á í«½∞Φ¿¡ßΓóÑ ñ¿ß»½ÑÑó ñπúá óδú½∩-
- ñ¿Γ φ½½¿»ß«¼. ä½∩ ¿ß»αáó½Ñ¡¿∩ ¡Ññ«ßΓáΓ¬á ¼«ª¡« ¿ß»«½∞º«-
- óáΓ∞ fg_drawellipse() ß ß««ΓóÑΓßΓóπεΘ¿¼ ¼áßΦΓáí¿α«ó᡿Ѽ
- x ¿ y αáñ¿πß«ó, óδτ¿ß½Ñ¡¡δσ ß ¿ß»«½∞º«ó᡿Ѽ fg_pixelx,
- fg_pixely.
-
- Åα¿¼Ñα:
-
- fg_drawarc (FG_WHITE, FG_MODE_XOR,~0, 0,
- fg_displaybox[FG_Y2]+10, fg_displaybox[FG_Y2]/2,
- 1800, 3600, fg_displaybox);
-
-
-
- fg_drawbox ìÇÉêæÄéÇÆ£ ÅɃîÄôâÄï£ìêè
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawbox(fg_color_t color, int mode, int mask,
- int line_type, fg_pbox_t box, fg_pbox_t clipbox);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ ¬«¡Γπα »α∩¼«πú«½∞¡¿¬á ¡á φ¬αá¡Ñ ¿ ¬½¿»»¿απÑΓ Ñú«
- «Γ¡«ß¿Γѽ∞¡« αἬ¿ clipbox. É¿ßπѼδ⌐ »α∩¼«πú«½∞¡¿¬ ñ«½ªÑ¡
- íδΓ∞ ¡«α¼á½¿º«óá¡, Γ.Ñ. »Ñαóá∩ »áαá ¬««αñ¿¡áΓ ñ«½ª¡á ºá-
- ñáóáΓ∞ ¡¿ª¡¿⌐ ½Ñóδ⌐ πú«½, á óΓ«αá∩ - »αáóδ⌐ óÑασ¡¿⌐.
-
-
- Åα¿¼Ñα:
-
- {
- fg_box_t box_to_draw;
- box_to_draw[FG_X1]=10;
- box_to_draw[FG_Y1]=0;
- box_to_draw[FG_X2]=20;
- box_to_draw[FG_Y2]=30;
- box_to_draw(FG_WHITE, FG_MODE_SET, ~0,
- FG_LINE_DENSE_DOTTED, box_to_draw,
- fg_displaybox);
- }
-
-
- fg_drawdot ìÇÉêæÄéÇÆ£ ÆÄùèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawdot(fg_color_t color, int mode,
- int mask, fg_coord_t x, fg_coord_t y);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ Γ«τ¬π (x, y). Æ«τ¬á ñ«½ª¡á íδΓ∞ ó¡πΓα¿ αἬ¿
- fg_displaybox.
-
- Åα¿¼Ñα:
-
- fg_drawdot(FG_WHITE, FG_MODE_SET,~0, 0, 0);
-
-
- fg_drawellipse ìÇÉêæÄéÇÆ£ ¥ïïêÅæ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawellipse(fg_color_t color, int mode, int mask,
- fg_coord_t x, fg_coord_t y, fg_coord_t xradius,
- fg_coord_t yradius, int startangle,
- int endangle, fg_pbox_t clipbox);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ ñπúπ φ½½¿»ßá »α«Γ¿ó τáß«ó«⌐ ßΓαѽ¬¿ ¼Ñªñπ ºáñá¡-
- ¡δ¼¿ πú½«ó묨 ß¼ÑΘÑ¡¿∩¼¿¼ αáñ¿πßá.
-
- x, y ûÑ¡Γα φ½½¿»ßá.
- xradius, yradius 使¡δ »«½π«ßÑ⌐ φ½½¿»ßá.
- clipbox 轿»»¿απεΘ¿⌐ »α∩¼«πú«½∞¡¿¬.
- startangle Åα¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ «Γ 0 ñ« 3600
- (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
- endangle Åα¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ «Γ 0 ñ« 3600
- (ñÑß∩ΓδÑ ñ«½¿ úαáñπßá).
-
- ùΓ«íδ ¡áα¿ß«óáΓ∞ φ½½¿»ß µÑ½¿¬«¼, ¿ß»«½∞ºπ⌐ΓÑ º¡áτÑ¡¿∩ 0 ¿
- 3600 ñ½∩ πú½«óδσ αẼÑα«ó. ê¼Ñ⌐ΓÑ óó¿ñπ, τΓ« ó ß½πτáÑ
- ¡π½Ñó«ú« º¡áτÑ¡¿∩ «ñ¡«ú« ¿º αáñ¿πß«ó ¿½¿ αạ«ßΓ¿ πú½«ó
- íπñÑΓ ¡áα¿ß«óá¡ «ñ¿¡ »¿¬ßѽ∞.
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- 漫Γα¿ΓÑ Γá¬ªÑ fg_drawarc.
-
-
- fg_drawline, fg_drawlinep ìÇÉêæÄéÇÆ£ ïêìê₧
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawline(fg_color_t color,
- int mode, int mask, int line_type,
- fg_pline_t line);
- void fg_drawlinep(fg_color_t color,
- int mode, int mask,
- int line_type, fg_pline_t line);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπεΓ ½¿¡¿ε «Γ Γ«τ¬¿ (x1, y1) ñ« Γ«τ¬¿ (x2, y2), ¿ß»«½∞-
- ºπ∩ π¬áºá¡¡δÑ Γ¿» ½¿¡¿¿, µóÑΓ, αѪ¿¼ ¿ ¼á߬π. ï¿¡¿∩ ñ«½ª-
- ¡á πªÑ íδΓ∞ ¬½¿»»¿α«óá¡á «Γ¡«ß¿Γѽ∞¡« fg_displaybox.
- fg_drawlinep() «Γ½¿τáÑΓß∩ «Γ fg_drawline() ΓѼ, τΓ« ¬«¡-
- µÑóδÑ Γ«τ¬¿ ½¿¡¿¿ α¿ßπÑΓ ¡Ñºáó¿ß¿¼« «Γ Γ¿»á ½¿¡¿¿.
-
- Åα¿¼Ñα:
-
- {
- fg_line_t line_to_draw;
- /* ï¿¡¿∩ ¿º óÑασ¡Ñú« ½Ñó«ú« πú½á ¬ */
- /* ¡¿ª¡Ñ¼π »αáó«¼π πú½π ñ¿ß»½Ñ∩ */
- line_to_draw[FG_X1]=fg_displaybox[FG_X2];
- line_to_draw[FG_Y1]=fg_displaybox[FG_Y1];
- line_to_draw[FG_X2]=fg_displaybox[FG_X1];
- line_to_draw[FG_Y2]=fg_displaybox[FG_Y2];
- fg_drawline[FG_WHITE, FG_MODE-SET, ~0,
- FG_LINE_SOLID, line_to_draw);
- }
-
-
- fg_drawlineclip ÄÆèïêÅÅêÉÄéÇÆ£ ¿ ìÇÉêæÄéÇÆ£ ïêìê₧
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawlineclip(fg_color_t color,
- int mode, int mask, int line_type,
- fg_pline_t line, fg_pbox clipbox);
-
- Ä»¿ßá¡¿Ñ:
-
- 轿»»¿απÑΓ ½¿¡¿ε «Γ¡«ß¿Γѽ∞¡« `clipbox' ¿ α¿ßπÑΓ «ßΓáó-
- Φπεß∩ τáßΓ∞. ä½∩ ¬½¿»»¿α«óá¡¿∩ ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩
- fg_lineclip(). àß½¿ αѺπ½∞ΓáΓ ¡Ñπñ«ó½ÑΓó«α¿Γѽѡ, »α«úαá¼-
- ¼¿ßΓ ¼«ªÑΓ ó¬½ετ¿Γ∞ á½∞ΓÑα¡áΓ¿ó¡πε Σπ¡¬µ¿ε ß ΓѼ ªÑ ¿¼Ñ-
- ¡Ñ¼ (ß¼.`fg_lineclip()').
-
- ÄΓ¡«ß¿Γѽ∞¡« »α«τ¿σ (»«¼¿¼« clipbox) óσ«ñ¡δσ »áαá¼ÑΓα«ó
- ß¼«Γα¿ΓÑ «»¿ßá¡¿Ñ fg_drawline().
-
-
- fg_drawmatrix ìÇÉêæÄéÇÆ£ îÇÆÉêûô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawlineclip(fg_color_t color,
- int mode, int mask, int rotation,
- fg_coord_t x, fg_coord_t y, char *p,
- fg_pbox_t b, fg_pbox_t clipbox);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ ¼áΓα¿µπ Γ«τѬ αẼÑαἿ (b[X2]+1)*(b[Y2]+1). îáΓ-
- α¿µá α¿ßπÑΓß∩ ßóÑασπ 󡿺, Γ.Ñ. »Ñαóδ⌐ α∩ñ (ßΓ᫬á) ñá¡-
- ¡δσ »« π¬áºáΓѽε p α¿ßπÑΓß∩ ó óÑασ¡Ñ¼ α∩ñπ ¼áΓα¿µδ. ìá
- ñ¿ß»½Ñ⌐ óδó«ñ∩Γß∩ Γ«½∞¬« ΓÑ »¿¬ßѽ¿, ñ½∩ ¬«Γ«αδσ ß««ΓóÑΓ-
- ßΓóπεΘ¿Ñ í¿Γδ πßΓá¡«ó½Ñ¡δ ó 1. ÆÑ¼ ßá¼δ¼ ¿º«íαáªÑ¡¿Ñ ¼«-
- ªÑΓ ¡á¬½áñδóáΓ∞ß∩ ¡á Γ«, τΓ« πªÑ ¡áσ«ñ¿Γß∩ ¡á φ¬αá¡Ñ. ä½∩
- »«½πτÑ¡¿∩ ñαπú«ú« αѺπ½∞ΓáΓá ß½ÑñπÑΓ »αÑñóáα¿Γѽ∞¡« óδº-
- óáΓ∞ fg_fillbox().
-
- éσ«ñ¡δÑ »áαá¼ÑΓαδ:
-
- color, mode, mask ûóÑΓ, αѪ¿¼ ¿ ¼á߬á, ¿ß»«½∞ºπѼδÑ
- »α¿ óδó«ñÑ ¼áΓα¿µδ.
- rotation, x, y FG_ROTx ¿ß»«½∞ºπÑΓß∩ ñ½∩ »«ó«α«Γá
- «Γ¡«ß¿Γѽ∞¡« x, y, á (x, y) ∩ó½∩-
- ÑΓß∩ ¡¿ª¡¿¼ ½Ñóδ¼ πú½«¼ ¼ÑßΓá, ¬π-
- ñá ºá»¿ßδóáÑΓß∩ ¼áΓα¿µá.
- p ô¬áºáΓѽ∞ ¡á ñá¡¡δÑ, π»αáó½∩εΘ¿Ñ
- α¿ß«ó᡿Ѽ, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ¼áß-
- ß¿ó«¼ ñ½¿¡«⌐ (b[X2+1+7])/8*(b[Y2+1])
- íá⌐Γ«ó. (çñÑß∞ »Ñαóδ⌐ ß«¼¡«ª¿Γѽ∞
- ºáñáÑΓ τ¿ß½« íá⌐Γ«ó, ß««ΓóÑΓßΓóπε-
- Θ¿σ α∩ñπ ¼áΓα¿µδ, á óΓ«α«⌐ - τ¿ß½«
- α∩ñ«ó; ¬áªñδ⌐ α∩ñ ¡áτ¿¡áÑΓß∩ ß ¡á-
- τá½á íá⌐Γá). ü¿Γ 0 íá⌐Γá ß««ΓóÑΓ-
- ßΓóπÑΓ ¬αá⌐¡Ñ¼π »αáó«¼π »¿¬ßѽε,
- í¿Γ 7 íá⌐Γá - ¬αá⌐¡Ñ¼π ½Ñó«¼π.
- b ÄσóáΓδóáεΘá∩ αἬá. (çáñáÑΓ αẼÑ-
- αδ ¼áΓα¿µδ). b[FG_X1]=d[FG_Y1]=0.
- clipbox 轿»»¿απεΘ¿⌐ »α∩¼«πú«½∞¡¿¬.
-
- Åα¿¼Ñα:
-
- {
- static char mouse_cursor={0xF0, 0xC0, 0xA0, 0x10, 0x08};
- static fg_box_t mouse_box={0, 0, 4, 4};
- fg_drawmatrix(FG_WHITE, FG_MODE_SET,~0, FG_ROT0, 0, 0,
- mouse_cursor, mouse_box, fg_displaybox);
- /* ¥Γ« α¿ßπÑΓß∩ ¬á¬:
-
- X X X X 0
- X X 0 0 0
- X 0 X 0 0
- 0 0 0 X 0
- 0 0 0 0 X
-
- úñÑ X πßΓá¡áó½¿óáεΓß∩ ó WHITE (íѽδ⌐), á ¡π½¿ «ßΓáεΓß∩
- íѺ ¿º¼Ñ¡Ñ¡¿∩. */
- }
-
- fg_drawthickline ìÇÉêæÄéÇÆ£ ÆÄïæÆô₧ ïêìê₧
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawthickline(fg_color_t color, int mode,
- int mask, int line_type,
- fg_pline_t line, fg_pbox_t clip,
- int thickness);
-
- Ä»¿ßá¡¿Ñ:
-
- É¿ßπÑΓ Γ«½ßΓπε ½¿¡¿ε. `ÅÑα«' α¿ßπÑΓ Γá¬, ¬á¬ Ñß½¿ íδ «¡«
- í佫 ¬óáñαáΓ¡δ¼, Γ.Ñ. Γ«½Θ¿¡á (thickness) ºáñáÑΓß∩ ó »¿¬-
- ßѽ∩σ. 漫Γα¿ΓÑ fg_drawlineclip(), ß«ñÑαªáΘÑÑ «»¿ßá¡¿Ñ
- óσ«ñ¡δσ »áαá¼ÑΓα«ó ¿ ßσ«ñ¡δ⌐ »α¿¼Ñα.
-
-
- fg_fillbox çÇÅÄïìêÆ£ ÅɃîÄôâÄï£ìêè
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_drawthickline(fg_color_t color,
- int mode, int mask, fg_pbox_t box);
-
- Ä»¿ßá¡¿Ñ:
-
- çá¬αáΦ¿óáÑΓ αἬπ. ÉἬá "box" ñ«½ª¡á íδΓ∞ πªÑ «Γ¬½¿»»¿-
- α«óá¡á. ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩ τ¿ßΓ¬¿
- φ¬αá¡á, Ñß½¿ αἬá φ¬ó¿óá½Ñ¡Γ¡á fg_displaybox.
-
- Åα¿¼Ñα:
-
- /* τ¿ßΓ¬á φ¬αá¡á */
- fg_fillbox(FG_BLACK, FG_MODE_SET, ~0,
- fg_displaybox);
-
-
- fg_flush 颯ÄïèìôÆ£ ìÇ äêæÅïàë
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_flush(void)
-
- Ä»¿ßá¡¿Ñ:
-
- éδΓὬ¿óáÑΓ ºáñÑαªá¡¡δ⌐ óδó«ñ ¡á ñ¿ß»½Ñ⌐. åñÑΓ πßΓá¡«ó½Ñ-
- ¡¿∩ φ¬αá¡á. ¥Γ«Γ ó맮ó ñ«½ªÑ¡ íδ »αÑñΦÑßΓó«óáΓ∞ «ª¿ñáѼ«-
- ¼π óó«ñπ »«½∞º«óáΓѽ∩, τΓ«íδ «íÑß»Ñτ¿Γ∞ ¡πª¡«Ñ ß«ßΓ«∩¡¿Ñ
- φ¬αá¡á.
-
- Åα¿¼Ñα:
-
- fg_flush();
-
-
-
- fg_getcolormap ùêÆÇÆ£ ÅÇïêÆÉô (èÇÉÆô ûéàÆÄé)
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_getcolormap(fg_color_t *color_array,
- int max_entries);
-
- Ä»¿ßá¡¿Ñ:
-
- éδí¿αáÑΓ º¡áτÑ¡¿∩ ¿º ΓѬπΘÑ⌐ ¬áαΓδ µóÑΓ«ó.
-
- max_entries îá¬ß¿¼á½∞¡«Ñ τ¿ß½« µóÑΓ«ó, ¬«Γ«α«Ñ ¼«ª-
- ¡« ºá»¿ßáΓ∞ ó ¼áßß¿ó color_array[].
- äÑ⌐ßΓó¿Γѽ∞¡«Ñ ¬«½¿τÑßΓó« ºá»¿ßá¡¡δσ
- µóÑΓ«ó íπñÑΓ αáó¡« ¼Ñ¡∞ΦÑ¼π ¿º
- fg_nsimulcolor ¿ max_entries.
-
- color_array îáßß¿ó µóÑΓ«ó. ç¡áτÑ¡¿∩ ¼Ñªñπ 0 ¿
- fg_ncolormap-1.
- Åα¿¼Ñα:
-
- {
- fg_color_t color_array[16];
- fg_getcolormap(color_array,16);
- }
-
-
-
- fg_init êìêûêÇïêçêÉÄéÇÆ£ ü¢æÆÉô₧ âÉÇöêèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_init(void)
-
- Ä»¿ßá¡¿Ñ:
-
- ê¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ »«ß½Ñ ó맮óá fg_term.
- 漫Γα¿ΓÑ fg_init_all() ¿ α«ñßΓóÑ¡¡δÑ Ñ⌐ Σπ¡¬µ¿¿. fg_init
- ó«ßßΓá¡«ó¿Γ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ó ß«ßΓ«∩¡¿¿ ¡á ¼«¼Ñ¡Γ »«ß-
- ½Ññ¡Ñú« ó맮óá fg_term().
-
- Åα¿¼Ñα:
-
- fg_init();
-
- öπ¡¬µ¿∩ »«½Ñº¡á ñ½∩ óαѼѡ¡«ú« »ÑαѬ½ετÑ¡¿∩ ó ΓѬßΓ«óδ⌐
- αѪ¿¼.
-
- fg_init_all(); /* Σαáú¼Ñ¡Γ »α«úαá¼¼δ* /
- fg_term();
- system("cdir");
- fg_init(); /* Σαáú¼Ñ¡Γ »α«úαá¼¼δ* /
- fg_term();
-
-
-
- fg_init_null - fg_init_vga12 êìêûêÇïêçêÉÄéÇÆ£ FG
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
-
- öπ¡¬µ¿¿ »α«Γ«Γ¿»δ ÅÑαѼѡ¡á∩ «¬απªÑ¡¿∩ ñ½∩
- fg_init_all
- int fg_init_null (void)
- int fg_init_all (void)
- int fg_init_egaecd (void) FG_EGAECD
- int fg_init_egacolor (void) FG_EGACOLOR
- int fg_init_egamono (void) FG_EGAMONO
- int fg_init_herc (void) FG_HERC ¿½¿
- FG_HERCFULL
- int fg_init_cga (void) FG_CGAHIRES
- int fg_init_cgamedres () FG_CGAMEDRES
- int fg_init_8514a () FG_8514A
- int fg_init_toshiba (void) FG_TOSHIBA
- int fg_init_vga11 (void) FG_VGA11
- int fg_init_vga12 (void) FG_VGA12
-
- Ä»¿ßá¡¿Ñ:
-
- èáªñá∩ ¿º Σπ¡¬µ¿⌐ «Γ¬αδóáÑΓ ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó«. ä«
- «Γ¬αδΓ¿∩ ºá»«¼¿¡áÑΓ ΓѬπΘ¿⌐ αѪ¿¼ ñ¿ß»½Ñ⌐¡«ú« πßΓα«⌐ßΓóá,
- ΓᬠτΓ« ó ñá½∞¡Ñ⌐ΦѼ «¡ íπñÑΓ ó«ßßΓá¡«ó½Ñ¡ »α¿ «íαáΘÑ¡¿¿
- ¬ fg_term(). ôßΓá¡áó½¿óáÑΓ ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó« ó úαáΣ¿-
- τÑ߬¿⌐ αѪ¿¼. ôßΓá¡áó½¿óáÑΓ ó ¡«½∞ ¡«¼Ñα ΓѬπΘÑ⌐ ñ¿ß»½Ñ⌐-
- ¡«⌐ ßΓαá¡¿µδ. çá¡«ß¿Γ σáαá¬ΓÑα¿ßΓ¿¬¿ ΓѬπΘÑú« ñ¿ß»½Ñ⌐¡«ú«
- πßΓα«⌐ßΓóá ó ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ:
-
- fg_display πßΓá¡áó½¿óáÑΓß∩ ó ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿∩¼¿ º¡á-
- τÑ¡¿Ñ, fg_activepage ¿ fg_displaypage πßΓá¡áó½¿óáεΓß∩ ó
- ¡«½∞. æΓαá¡¿µá 0 πßΓá¡áó½¿óáÑΓß∩ ó FG_BLACK (τÑα¡δ⌐).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ûѽ«Ñ, ºáñáÑΓ Γ¿» «Γ¬αδΓ«ú« ñ¿ß»½Ñ⌐¡«ú« πßΓα«⌐ßΓóá, «ñ¡«
- ¿º FG_EGAECD, FG_VGA11 ¿ »α. é ß½πτáÑ ¡Ñπñáτ¿ ó«ºóαáΘáÑΓ-
- ß∩ FG_NULL.
-
- fg_init_all() »δΓáΓÑΓß∩ «»αÑñѽ¿Γ∞ Γ¿» ¡á½¿τ¡«⌐ ñ¿ß»½Ñ⌐-
- ¡«⌐ úαáΣ¿¬¿ ¿ «Γ¬αδóáÑΓ φΓ« ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó«. ÅÑαÑ-
- ¼Ñ¡¡á∩ «¬απªÑ¡¿∩ FG_DISPLAY »ÑαѺỿßδóáÑΓß∩. ¥Γ« »«½Ñº¡«
- ñ½∩ ¡ÑßΓá¡ñáαΓ¡δσ »½áΓ ¿½¿ ñ½∩ »½áΓ, φ¼π½¿απεΘ¿σ ¡Ñ߬«½∞-
- ¬« ñαπú¿σ »½áΓ.
- fg_init_herc() ¿ßσ«ñ¿Γ ¿º »αÑñ»«½«ªÑ¡¿∩, τΓ« úαáΣ¿τÑ߬«Ñ
- πßΓα«⌐ßΓó« ∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó«¼ Γ¿»á HERCULES. Ä¡« íπñÑΓ
- «Γ¬αδΓ«, Ñß½¿ ¿¼ÑÑΓß∩ 1 ¿½¿ 2 ñ«ßΓπ»¡δÑ ßΓαá¡¿µδ.
- fg_init_null() «Γ¬αδóáÑΓ úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó« - í¿Γ«óπε
- ¬áαΓπ (bit_bucket). éßÑúñá ó«ºóαáΘáÑΓ FG_NULL.
-
- ÅÑαóá∩ »«»δΓ¬á «Γ¬αδΓ¿∩ úαáΣ¿τÑ߬«ú« πßΓα«⌐ßΓóá ñ«½ª¡á
- «ßπΘÑßΓó½∩Γ∞ß∩ óδº«ó«¼ «ñ¡«⌐ ¿º fg_init_XXX() Σπ¡¬µ¿⌐.
- ū߽ÑñπεΘ¿Ñ »«»δΓ¬¿ «Γ¬αδΓ∞ ñ¿ß»½Ñ⌐ (»«ß½Ñ ó«ºóαáΘÑ¡¿∩
- ¿º ΓѬßΓ«ó«ú« αѪ¿¼á, πßΓá¡«ó½Ñ¡¡«ú« fg_term()), ¼«ª¡«
- ñѽáΓ∞, ¿ß»«½∞ºπ∩ fg_init_(). é맮ó fg_init_() óδ»«½¡∩ÑΓ-
- ß∩ ¼¡«ú« íδßΓαÑÑ ó맮óá fg_init_XXX(). Å« ¼ÑαÑ »«∩ó½Ñ¡¿∩
- ¡«óδσ πßΓα«⌐ßΓó ß««ΓóÑΓßΓóπεΘ¿Ñ Σπ¡¬µ¿¿ íπñπΓ ¡áºóá¡δ ¿
- «íÑß»ÑτÑ¡δ.
-
- Åα¿¼Ñα:
-
- {
- if (fg_init_all()==FG_NULL)
- {
- fputs("ìÑ ¼«úπΓ «Γ¬αδΓ∞ úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó«.\h",
- stderr);
- exit(1);
- }
- }
-
-
- fg_line_cpy èÄÅêÉÄéÇÆ£ ïêìê₧
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- fg_pline_t fg_line_cpy(fg_pline_t to, fg_pline_t from);
-
- Ä»¿ßá¡¿Ñ:
-
- è«»¿απÑΓ ½¿¡¿ε "from" ó ½¿¡¿ε "to". 髺óαáΘáÑΓ "to".
-
- Åα¿¼Ñα:
-
- fg_line_cpy(destination_line, source_line);
-
-
-
- fg_putc é¢éàæÆê ïêÆàÉô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_putc(fg_color_t color, int mode, int mask,
- int rotation, fg_coord_t x, fg_coord_t y,
- char out_char, fg_pbox_t clip_box);
-
- Ä»¿ßá¡¿Ñ:
-
- Å«ßδ½áÑΓ ½¿ΓÑαπ ¡á φ¬αá¡, ¿ß»«½∞ºπ∩ ߻ѵ¿Σ¿µ¿α«óá¡¡δÑ
- óαáΘÑ¡¿Ñ, µóÑΓ, ¼áß¬π ¿ αѪ¿¼. x, y ºáñáεΓ »«º¿µ¿ε ½Ñó«ú«
- ¡¿ª¡Ñú« πú½á ½¿ΓÑαδ, «Γ¡«ß¿Γѽ∞¡« ¬«Γ«α«⌐ ½¿ΓÑαá »«ó«αá-
- τ¿óáÑΓß∩ ¡á ºáñá¡¡δ⌐ πú«½. çáñÑ⌐ßΓó«óá¡¡δÑ »¿¬ßѽ¿ ¬½¿»-
- »¿απεΓß∩ «Γ¡«ß¿Γѽ∞¡« ºáñá¡¡«ú« »α∩¼«πú«½∞¡¿¬á `clipbox'.
-
- Åα¿¼Ñα:
-
- fg_putc(FG_WHITE, FG_MODE_SET,~0,
- FG_ROT270, 100, 100, `Z', fg_displaybox);
-
-
- fg_puts é¢éàæÆê æÆÉÄèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_puts(fg_color_t color, int mode,
- int mask, int rotation, fg_coord_t x,
- fg_coord_t y, char *out_string, fg_pbox_t clip);
-
- Ä»¿ßá¡¿Ñ:
-
- éδó«ñ¿Γ ßΓ᫬π ¡á úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó«. êß»«½∞ºπÑΓ ß»Ñ-
- µ¿Σ¿µ¿α«óá¡¡δÑ µóÑΓ, αѪ¿¼, ¼áß¬π ¿ óαáΘÑ¡¿Ñ. ìáτá½∞¡á∩
- Γ«τ¬á ½Ñó«ú« ¡¿ª¡Ñú« πú½á »Ñαó«⌐ ½¿ΓÑαδ ºáñáÑΓß∩ ¬««α-
- ñ¿¡áΓἿ x, y. éδó«ñ¿¼á∩ ßΓ᫬á `out_string' ¬½¿»»¿απÑΓß∩
- «Γ¡«ß¿Γѽ∞¡« `clip'.
-
- Åα¿¼Ñα:
-
- fg_puts(FG_WHITE, FG_MODE_SET,~0, FG_ROT0,
- 0, 0, "Hello world.", fg_displaybox);
-
-
- fg_readbox ùêÆÇÆ£ ÉÇîèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_readbox(fg_pbox_t b, fg_color_t *p);
-
- Ä»¿ßá¡¿Ñ:
-
- æτ¿ΓδóáÑΓ »¿¬ßѽ¿, ºá¬½ετÑ¡¡δÑ ó »α∩¼«πú«½∞¡¿¬Ñ `b', ß
- φ¬αá¡á ó ¼áßß¿ó φ½Ñ¼Ñ¡Γ«ó Γ¿»á fg_color_t »« π¬áºáΓѽε
- `p'. é ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá ºá»¿ßδóáÑΓß∩ µóÑΓ ¬áªñ«ú«
- »¿¬ßѽ∩. ù¿ß½« ºá»¿ßá¡¡δσ íá⌐Γ«ó αáó¡«, ß½Ññ«óáΓѽ∞¡«,
- τ¿ß½π ºá¬½ετÑ¡¡δσ ó αá¼¬π »¿¬ßѽÑ⌐, π¼¡«ªÑ¡¡«¼π ¡á αẼÑα
- fg_color_t. çỿß∞ ¿ñÑΓ »« α∩ñá¼, ¬«Γ«αδÑ ºá»¿ßδóáεΓß∩ ó
- »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ y (Γ.Ñ. ºá»¿ß∞ ¡áτ¿¡áÑΓß∩ ß ½Ñó«ú«
- ¡¿ª¡Ñú« πú½á).
-
- Åα¿¼Ñα:
-
- {
- fg_color_t *color_p;
- fg_box_t read_box;
- unsigned int bytes;
- read_box[FG_X1]=10;
- read_box[FG_Y1]=0;
- read_box[FG_X2]=100;
- read_box[FG_Y2]=100;
- bytes=read_box[FG_X2]-read_box[FG_X1]+1;
- bytes *=read_box[FG_Y2]-read_box[FG_Y1]+1;
- bytes *=sizeof(fg_color_t);
- color_p=malloc(bytes);
- assert(color_p !=NULL);
- fg_readbox(read_box, color_p);
- ...
- /* ¡Ñ«í∩ºáΓѽ∞¡« Γá ªÑ αἬá,
- ¡« «í∩ºáΓѽ∞¡« Γ«ú« ªÑ αẼÑαá */
- read_box[FG_X1]+=20;
- read_box[FG_X2]+=20;
- read_box[FG_Y1]+=30;
- read_box[FG_Y2]+=30;
- fg_writebox(read_box, color_p);
- }
-
-
- fg_readdot ùêÆÇÆ£ ÆÄùèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- fg_color_t fg_readdot(fg_coord_t x, fg_coord_t y);
-
- Ä»¿ßá¡¿Ñ:
-
- ù¿ΓáÑΓ µóÑΓ Γ«τ¬¿ ß ¬««αñ¿¡áΓἿ x, y. (x, y) ñ«½ª¡á ¡áσ«-
- ñ¿Γ∞ß∩ ó¡πΓα¿ fg_displaybox.
-
- Åα¿¼Ñα:
-
- {
- fg_color_t dot_color;
- dot_color=fg_readdot(0,0);
- }
-
-
- fg_restore éÄææÆÇìÄéêÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_restore(fg_handle_t handle);
-
- Ä»¿ßá¡¿Ñ:
-
- é«ßßΓá¡áó½¿óáÑΓ «í½áßΓ∞ φ¬αá¡á, ß«σαá¡Ñ¡¡πε Σπ¡¬µ¿Ñ⌐
- fg_save().
-
- hangle ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ fg_save(); ó ñá½∞-
- ¡Ñ⌐ΦѼ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡«. ìÑ ¼«ªÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ó »«ß½ÑñπεΘ¿σ ó맮óáσ fg_restore().
-
- Åα¿¼Ñα: 漫Γα¿ΓÑ fg_save().
-
-
-
- fg_save æÄòÉÇìêÆ£
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- fg_handle_t fg_save(fg_pbox_t box);
-
- Ä»¿ßá¡¿Ñ:
-
- æ«σαá¡∩ÑΓ «í½áßΓ∞ φ¬αá¡á. ¥Γá «í½áßΓ∞ ¼«ªÑΓ íδΓ∞ ó«ßßΓá-
- ¡«ó½Ñ¡á fg_restore(). çá¼ÑΓ¿¼, τΓ« ß«σαá¡Ñ¡¡á∩ «í½áßΓ∞
- ¼«ªÑΓ íδΓ∞ ó«ßßΓá¡«ó½Ñ¡á ó Γ«⌐ ªÑ ßἫ⌐ »«º¿µ¿¿ ßΓαá¡¿µδ
- (¿½¿ Γ«⌐ ªÑ »«º¿µ¿¿ ñαπú«⌐ ßΓαá¡¿µδ, Ñß½¿ á¬Γ¿ó¡á∩ ßΓαá-
- ¡¿µá ߼ѡ¿½áß∞).
-
- Åα¿¼Ñα:
-
- {
- fg_box_t save_box;
- fg_handle_t save_handle;
- save_box[FG_X1]=save_box[FG_Y1]=0;
- save_box[FG_X2]=save_box[FG_Y2]=100;
- save_handle=fg_save(save_box);
- assert (save_handle !=NULL);
- ...
- fg_restore (save_handle);
- }
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- fg_handle_t äÑß¬α¿»Γ«α ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó fg_restore().
-
- NULL é ß½πτáÑ «Φ¿í¬¿ (óÑα«∩Γ¡«, ¡ÑσóáΓ¬á »á¼∩Γ¿).
-
-
- fg_setactivepage ôæÆÇìÄéêÆ£ ÇèÆêéìô₧ æÆÉÇìêûô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_setactivepage(unsigned int pagenum);
-
- Ä»¿ßá¡¿Ñ:
-
- 꺼ѡ∩ÑΓ ¡«¼Ñα á¬Γ¿ó¡«⌐ ßΓαá¡¿µδ. Ç¬Γ¿ó¡á∩ ßΓαá¡¿µá ÑßΓ∞
- ßΓαá¡¿µá, ó ¬«Γ«α«⌐ αáí«ΓáεΓ óßÑ »α«µÑñπαδ FG úαáΣ¿¬¿.
- ìÑ «í∩ºáΓѽ∞¡«, τΓ« φΓá ßΓαá¡¿µá ∩ó½∩ÑΓß∩ «Γ«íαáªáѼ«⌐.
- `pagenum' ñ«½ªÑ¡ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ fg_numpages.
- fg_activpage πßΓá¡áó½¿óáÑΓß∩ ó `pagenum'.
-
- Åα¿¼Ñα:
-
- fg_setactivepage(1);
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ fg_setdisplaypage.
-
-
- fg_setcolormap ôæÆÇìÄéêÆ£ ÅÇïêÆÉô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_setcolormap(fg_color_t carray[], int max);
-
- Ä»¿ßá¡¿Ñ:
-
- ôßΓá¡áó½¿óáÑΓ óßÑ µóÑΓá ó ¬áαΓÑ µóÑΓ«ó. èáαΓá µóÑΓ«ó ¡Ñ
- ¼«ñ¿Σ¿µ¿απѼá, Ñß½¿ fg_ncolormap==fg_nsimulcolor.
-
- carray îáßß¿ó µóÑΓ«ó, αẼÑα¡«ßΓ∞ε fg_nsimulcolor. ç¡á-
- τÑ¡¿∩ ¼Ñªñπ 0 ¿ fg_ncolormap-1.
- max îá¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó, ¬«Γ«αδÑ ¼«ª¡« »α«-
- τÑßΓ∞ ¿º ¼áßß¿óá color_array[]. äÑ⌐ßΓó¿Γѽ∞¡«Ñ
- τ¿ß½« »α«τΓÑ¡¡δσ µóÑΓ«ó - ¼¿¡¿¼π¼ ¿º
- fg_nsimulcolor ¿ max.
-
-
-
- fg_setdisplaypage ôæÆÇìÄéêÆ£ äêæÅïàëìô₧ æÆÉÇìêûô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_setdisplaypage(unsigned pagenum);
-
- Ä»¿ßá¡¿Ñ:
-
- 꺼ѡ∩ÑΓ ¡«¼Ñα ñ¿ß»½Ñ⌐¡«⌐ ßΓαá¡¿µδ. ä¿ß»½Ñ⌐¡á∩ ßΓαá¡¿µá
- ÑßΓ∞ ßΓαá¡¿µá, ¡áí½εñáѼá∩ ¡á φ¬αá¡Ñ ñ¿ß»½Ñ∩. `pagenum'
- ñ«½ªÑ¡ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ fg_numpages.
-
- Åα¿¼Ñα:
-
- fg_setdisplaypage(0);
-
- ÉѬ«¼Ñ¡ñᵿ∩: 漫Γα¿ΓÑ Γá¬ªÑ fg_setactivepage.
-
- éδσ«ñ:
-
- fg_displaypage, πßΓá¡«ó½Ñ¡¡á∩ ó `pagenum'.
-
-
- fg_setlinepattern ôæÆÇìÄéêÆ£ ÿÇüïÄì ïêìêê
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_setlinepattern(int line_type, int pattern);
-
- Ä»¿ßá¡¿Ñ:
-
- ôßΓá¡áó½¿óáÑΓ Φáí½«¡ ñ½∩ óδó«ñá ½¿¡¿¿.
-
- line_type ç¡áτÑ¡¿Ñ ¼Ñªñπ 0 ¿ FG_LINE_MAX-1. ū߽ÑñπεΘÑÑ
- ¿ß»«½∞º«óá¡¿Ñ φΓ«ú« º¡áτÑ¡¿∩ íπñÑΓ ¿ß»«½∞º«-
- óáΓ∞ φëà Φáí½«¡.
- pattern 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ Φáí½«¡. ìá-
- τὫ Φáí½«¡á «»αÑñѽ∩ÑΓ í¿Γ 15, ºáΓѼ ß»π߬ ¬
- í¿Γπ 0 ¿ ºáΓѼ »«óΓ«αÑ¡¿Ñ. àß½¿ fg_drawlinep()
- ñ«½ª¡á óßÑúñá α¿ß«óáΓ∞ Γ«½∞¬« Γ«τ¬π ó ¡áτá½Ñ
- ½¿¡¿¿, í¿Γ 15 ñ«½ªÑ¡ íδΓ∞ πßΓá¡«ó½Ñ¡ ó 1.
-
- Åα¿¼Ñα:
-
- {
- /* «τÑ¡∞-«τÑ¡∞ αÑñ¬¿⌐ »π¡¬Γ¿α */
- fg_setlinepattern(FG_LINE_USER_DEFINED, 0x8000);
- }
-
-
- fg_term ÅàÉàëÆê é Éàåêî Ç/û ÆàÉîêìÇïÇ
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_term(void)
-
- Ä»¿ßá¡¿Ñ:
-
- çá¬αδóáÑΓ ñ¿ß»½Ñ⌐¡«Ñ πßΓα«⌐ßΓó«. ä¿ß»½Ñ⌐ ó«ºóαáΘáÑΓß∩ ó
- »αÑñΦÑßΓó«óáóΦÑÑ fg_init() ß«ßΓ«∩¡¿Ñ. àß½¿ fg_init() ¡Ñ
- óδºδóá½áß∞, ¡¿τÑú« ¡Ñ ñѽáÑΓ. Æ« ªÑ ß»αáóÑñ½¿ó«, Ñß½¿
- fg_term() óδºδóáÑΓß∩ óß½Ññ ºá fg_term(). Æá¬¿¼ «íαẫ¼,
- »α«µÑñπαá «ßπΘÑßΓó½∩ÑΓ φ¬ßΓαÑ¡¡δ⌐ ó«ºóαáΓ ¬ ΓѬßΓ«ó«¼π
- αѪ¿¼π íѺ«Γ¡«ß¿Γѽ∞¡« ¬ Γ«¼π, πßΓá¡«ó½Ñ¡ úαáΣ¿τÑ߬¿⌐ αÑ-
- ª¿¼ ¿½¿ ¡ÑΓ.
-
- Åα¿¼Ñα:
-
- fg_term(); /* 髺óαáΘÑ¡¿Ñ ¬ ΓѬßΓ«ó«¼π αѪ¿¼π */
-
-
- fg_writebox ÅêæÇÆ£ ÉÇîèô
-
- êß»«½∞º«óá¡¿Ñ:
-
- #include <fg.h>
- void fg_writebox(fg_pbox_t box, fg_color_t *p);
-
- Ä»¿ßá¡¿Ñ:
-
- ÄíαáΓ¡á∩ ¬ Σπ¡¬µ¿¿ fg_readbox(). Å¿ΦÑΓ »¿¬ßѽ¿ ó á¬Γ¿ó¡πε
- ßΓαá¡¿µπ.
-
- box Äúαá¡¿τ¿óáεΘ¿⌐ »α∩¼«πú«½∞¡¿¬ ñ½∩ ºá»¿ß¿ »¿¬-
- ßѽÑ⌐.
- p ô¬áºáΓѽ∞ ¡á ¼áßß¿ó µóÑΓ«ó, »« «ñ¡«¼π µóÑΓπ
- ¡á ¬áªñδ⌐ »¿¬ßѽ∞.
-
- Åα¿¼Ñα:
-
- 漫Γα¿ΓÑ fg_readbox
-
- ÉѬ«¼Ñ¡ñᵿ∩:
-
- C¼«Γα¿ΓÑ Γá¬ªÑ fg_readbox.