home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-17 | 96.1 KB | 2,520 lines |
- - 94 -
-
-
- FABS
-
- #include <math.h>
-
- double fabs(x);
- double x; º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fabs ó«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ßó«Ñú« áαúπ¼Ñ¡-
- Γá ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fabs ó«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ ßó«Ñú« áαúπ¼Ñ¡-
- Γá. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ abs, cabs, labs.
-
- Åα¿¼Ñα:
-
- #include <math.h>
-
- double x,y;
- .
- .
- .
- y = fabs(x);.
-
-
- FCLOSE-FCLOSEALL
-
- #include <stdio.h>
- int fclose(stream); ºá¬αδóáÑΓ «Γ¬αδΓδ⌐ »«Γ«¬.
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
- int fcloseall(); ºá¬αδóáÑΓ óßÑ «Γ¬αδΓδÑ »«Γ«¬¿.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ fclose, fcloseall ºá¬αδóáεΓ ß««ΓóÑΓßΓóÑ¡¡« »«Γ«¬ ¿
- »«Γ«¬¿. ÅÑαÑñ ºá¬αδΓ¿Ñ¼ óßÑ íπΣÑαδ, ßó∩ºá¡¡δÑ ß »«Γ«¬á¼¿, «í¡«ó-
- ½∩εΓß∩. Åα¿ ºá¬αδΓ¿¿ »«Γ«¬á íπΣÑαδ, ºáσóáτÑ¡¡δÑ ß¿ßΓѼ«⌐, «ßó«-
- í«ªñáεΓß∩. üπΣÑαδ, «»αÑñѽѡ¡δÑ Σπ¡¬µ¿Ñ⌐ setbuf, áóΓ«¼áΓ¿τÑ߬¿ ¡Ñ
- «ßó«í«ªñáεΓß∩ .
- öπ¡¬µ¿∩ fclose ºá¬αδóáÑΓ ºáñá¡¡δ⌐ »«Γ«¬ stream. öπ¡¬µ¿∩
- fcloseall ºá¬αδóáÑΓ óßÑ «Γ¬αδΓδÑ »«Γ«¬¿ ºá ¿ß¬½ετÑ¡¿Ñ¼ stdin,
- stdout, stderr, stdaux, stdprn.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fclose ó«ºóαáΘáÑΓ 0, Ñß½¿ »«Γ«¬ πñáτ¡« ºá¬αδΓ. öπ¡-
- ¬µ¿∩ fcloseall ó«ºóαáΘáÑΓ «íΘÑÑ τ¿ß½« ºá¬αδΓδσ »«Γ«¬«ó. é ß½πτáÑ
- «Φ¿í¬¿ «íÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ º¡áτÑ¡¿Ñ EOF.
- æ¼. Γá¬ªÑ Σπ¡¬µ¿¿ close, fdopen, fflush, fopen, freopen.
-
-
- - 95 -
-
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- FILE *stream;
- int numclosed;
- stream=fopen("data", "r");
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá¬α«ÑΓ »«Γ«¬ */
- fclose (stream);
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá¬αδóáÑΓ óßÑ »«Γ«¬¿, ºá ¿ß¬½ετÑ¡¿Ñ¼
- stdin, stdout, stderr, stdaux, stdprn */
- numclosed=fcloseall();
-
-
- FCVT
-
- #include <stdlib.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ-
- ¡¿∩ Σπ¡¬-
- 樨.
- char fcvt (value, ndec, decptr, signptr);
- double value; »αÑ«íαáºπѼ«Ñ τ¿ß½«.
- int ndec; ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ ñÑß∩Γ¿τ-
- ¡«⌐ Γ«τ¬¿.
- int *decptr; π¬áºáΓѽ∞ ¡á ºá»«¼¡Ñ¡¡πε »«º¿-
- µ¿ε ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿.
- int *signptr; π¬áºáΓѽ∞ ¡á ºá»«¼¡Ñ¡¡δ⌐ ¿¡ñ¿-
- ¬áΓ«α º¡á¬á.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fcvt »αÑ«íαáºπÑΓ τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó ß¿¼-
- ó«½∞¡πε ßΓ᫬π. Value - τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, ¬«Γ«α«Ñ ¡πª¡«
- »αÑ«íαẫóáΓ∞. öπ¡¬µ¿∩ fcvt ºá»«¼¿¡áÑΓ µ¿Σαδ ¿º value ó ó¿ñÑ
- ßΓ᫬¿ ¿ ñ«íáó½∩ÑΓ ¬ ¡Ñ⌐ ¡π½Ñó«⌐ ß¿¼ó«½ ('0\').
- é áαúπ¼Ñ¡ΓÑ ndec ºá»«¼¿¡áÑΓß∩ ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ ñÑß∩-
- Γ¿τ¡«⌐ Γ«τ¬¿.
- àß½¿ ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ ó value »αÑóδ-
- ΦáÑΓ ndec, τ¿ß½« «¬απú½∩ÑΓß∩, ¬á¬ φΓ« ñѽáÑΓß∩ ó Σ«α¼áΓÑ F
- FORTRAN. àß½¿ µ¿Σα ¼Ñ¡∞ΦÑ, τѼ ó ndec, ßΓ᫬á ñ«»«½¡∩ÑΓß∩ ¡π½∩¼¿.
- é ßΓα«¬Ñ σαá¡∩Γß∩ Γ«½∞¬« µ¿Σαδ. Å«º¿µ¿∩ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ ¿
- º¡á¬ τ¿ß½á value ¼«úπΓ íδΓ∞ »«½πτÑ¡δ »«ß½Ñ ó맮óá Σπ¡¬µ¿¿ ¿º
- decptr ¿ signptr. Çαúπ¼Ñ¡Γ decptr π¬áºδóáÑΓ ¡á µÑ½«Ñ º¡áτÑ¡¿Ñ,
- ºáñáεΘÑÑ »«º¿µ¿ε ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿, ßτ¿Γá∩ «Γ ¡áτá½á ßΓ᫬¿. 0 ¿½¿
- «Γα¿µáΓѽ∞¡«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ «º¡áτáεΓ, τΓ« ñÑß∩Γ¿τ¡á∩ Γ«τ¬á ½Ñª¿Γ
- ½ÑóÑÑ ßἫ⌐ »Ñαó«⌐ µ¿Σαδ. Çαúπ¼Ñ¡Γ signptr π¬áºδóáÑΓ ¡á µÑ½«Ñ
- º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ º¡á¬ value: Ñß½¿ µÑ½«Ñ signptr πßΓá¡«ó½Ñ¡«
- ó 0, Γ« value - »«½«ª¿Γѽ∞¡«Ñ, Ñß½¿ µÑ½«Ñ signptr - ¡Ñ¡π½Ñó«Ñ, Γ«
- value - «Γα¿µáΓѽ∞¡«Ñ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fcvt ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓα«¬π µ¿Σα. 髺óαáΘá-
- Ѽ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ atol, atof, atoi, ecvt, gcvt.
-
- - 96 -
-
-
-
- çá¼Ñτá¡¿Ñ! öπ¡¬µ¿¿ ecvt ¿ fcvt ¿ß»«½∞ºπεΓ ñ½∩ »αÑ«íαẫóá-
- ¡¿∩ «ñ¿¡ ¿ ëà ªÑ ßΓáΓ¿τÑ߬¿ αáß»αÑñѽѡ¡δ⌐ íπΣÑα. èáªñ«Ñ «íαáΘÑ-
- ¡¿Ñ ¬ «ñ¡«⌐ ¿º φΓ¿σ »α«µÑñπα π¡¿τΓ«ªáÑΓ αѺπ½∞ΓáΓ »αÑñδñπΘÑú« «í-
- αáΘÑ¡¿∩.
-
- Åα¿¼Ñα.
-
- #include <stdlib.h>
- int decimal, sign;
- char *buffer;
- int precision = 10;
- buffer = fcvt (3.1415926535, precision,&decimal,&sign);
- /*buffer ="31415926535", decimal=1, sign=0*/
-
-
- FDOPEN
-
- #include <stdio.h>
- FILE *fdopen (handle,type);
- int handle; Handle-α, ßßδ½áεΘ¿⌐ß∩ ¡á «Γ¬-
- αδΓδ⌐ Σá⌐½.
- char type; ÉáºαÑΦÑ¡¡δ⌐ Γ¿» ñ«ßΓπ»á.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fdopen ßó∩ºδóáÑΓ »«Γ«¬ óó«ñá/óδó«ñá ß Σá⌐½«¼, ¿ñÑ¡-
- Γ¿Σ¿µ¿α«óá¡¡δ¼ handle, τΓ« »«ºó«½∩ÑΓ ßñѽáΓ∞ Σá⌐½, «Γ¬αδΓδ⌐ ¬á¬
- ¡¿º¬«πα«ó¡Ñóδ⌐, Σ«α¼áΓ¿α«óá¡¡δ¼ ¿ íπΣÑਧ«óá¡¡δ¼. ü«½ÑÑ »«ñα«í¡«
- φëà »α«µÑßß «»¿ßá¡ ó αáºñÑ½Ñ 4.7 "éó«ñ ¿ óδó«ñ" ñá¡¡«ú« απ¬«ó«ñ-
- ßΓóá. 濼ó«½∞¡á∩ ßΓ᫬á type «»αÑñѽ∩ÑΓ Γ¿» ñ«ßΓπ»á ¬ ΓαÑíπѼ«¼π
- Σá⌐½π ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- ÆêÅ ÄÅêæÇìêà
-
- "r" ÄΓ¬αδΓ∞ ñ½∩ τΓÑ¡¿∩. (¥Γ«Γ Σá⌐½ ñ«½ªÑ¡
- ßπΘÑßΓó«óáΓ∞).
-
- "w" ÄΓ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ ºá»¿ß¿; Ñß½¿ φΓ«Γ
- Σá⌐½ αá¡ÑÑ ßπΘÑßΓó«óá½, Ñú« ß«ñÑন¼«Ñ
- π¡¿τΓ«ªáÑΓß∩.
-
- "a" ÄΓ¬αδΓ∞ Σá⌐½ ñ½∩ ºá»¿ß¿ (ñ«íáó½Ñ¡¿∩) ó
- ¬«¡Ñµ Σá⌐½á. 櫺ñáΓ∞ Σá⌐½ ºá¡«ó«, Ñß½¿
- Ñú« ¡ÑΓ.
-
- "r+" öá⌐½ «Γ¬αδΓ «ñ¡«óαѼѡ¡« ñ½∩ τΓÑ¡¿∩ ¿
- ºá»¿ß¿. öá⌐½ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞.
-
- "w+" ÄΓ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿.
- àß½¿ φëà Σá⌐½ ßπΘÑßΓóπÑΓ, Γ« Ñú«
- ß«ªÑন¼«Ñ π¡¿τΓ«ªáÑΓß∩.
-
- "a+" öá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ñ«íáó½Ñ¡¿∩. 櫺ñáΓ∞
- Σá⌐½ ºá¡«ó«, Ñß½¿ Ñú« ¡ÑΓ.
-
- - 97 -
-
-
-
- çá¼Ñτá¡¿Ñ! ìπª¡« ó¡¿¼áΓѽ∞¡« »α¿¼Ñ¡∩Γ∞ αѪ¿¼δ "w", "w+",
- Γᬠ¬á¬ «¡¿ ¼«úπΓ π¡¿τΓ«ª¿Γ∞ ßπΘÑßΓóπεΘ¿Ñ Σá⌐½δ. æ»Ñµ¿Σ¿µ¿α«óá¡-
- ¡δ⌐ type ñ«½ªÑ¡ íδΓ∞ ß«ó¼ÑßΓ¿¼ ß αѪ¿¼á¼¿ ñ«ßΓπ»á ¿½¿ sharing-αÑ-
- ª¿¼«¼, ß ¬«Γ«αδ¼ Σá⌐½ íδ½ «Γ¬αδΓ. çá »«ññÑ᪬π φΓ«⌐ ß«ó¼ÑßΓ¿¼«ßΓ¿
- «ΓóÑτáÑΓ »«½∞º«óáΓѽ∞.
- àß½¿ Σá⌐½ «Γ¬αδΓ ß Γ¿»«¼ "a" ¿½¿ "a+", óßÑ «»Ñαᵿ¿ ºá»¿ß¿
- óδ»«½¡∩εΓß∩ ó ¬«¡Ñµ Σá⌐½á, σ«Γ∩ »α¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿⌐ fseek
- ¿½¿ rewind 󫺼«ª¡« »ÑαѼÑΘÑ¡¿Ñ Σá⌐½«ó«ú« π¬áºáΓѽ∩; «ñ¡á¬«, »Ñ-
- αÑñ óδ»«½¡Ñ¡¿Ñ¼ ½εíδσ «»Ñαᵿ⌐ ºá»¿ß¿ «¡ óßÑúñá ó«ºóαáΘáÑΓß∩ ó
- ¬«¡Ñµ Σá⌐½á. Æá¬¿¼ «íαẫ¼, ßπΘÑßΓóπεΘ¿Ñ ñá¡¡δÑ ¡Ñ ß¼«úπΓ íδΓ∞
- »ÑαѺỿßá¡¡δ¼¿. è«úñá ߻ѵ¿Σ¿µ¿α«óá¡δ Γ¿»δ "r+", "w", "a", «ñ-
- ¡«óαѼѡ¡« ñ«»π߬áÑΓß∩ τΓÑ¡¿Ñ ¿ ºá»¿ß∞. (â«ó«α∩Γ, τΓ« Σá⌐½ «Γ¬αδΓ
- ñ½∩ «í¡«ó½Ñ¡¿∩). Å«φΓ«¼π »α¿ »ÑαѬ½ετÑ¡¿¿ τΓÑ¡¿∩ ¡á ºá»¿ß∞ ¿ ¡á-
- «í«α«Γ, ¡πª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ fseek ¿½¿ rewind. ä½∩ Σπ¡¬µ¿¿
- fseek (»α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿) ¼«ªÑΓ íδΓ∞ ߻ѵ¿Σ¿µ¿α«óá¡á ΓѬπΘá∩ »«-
- º¿µ¿∩.
- ä«»«½¡¿Γѽ∞¡« ¬ º¡áτÑ¡¿∩¼, »α¿óÑñÑ¡¡δ¼ óδΦÑ, ¼«ªÑΓ íδΓ∞ ñ«-
- íáó½Ñ¡ «ñ¿¡ ¿º ß½ÑñπεΘ¿σ ß¿¼ó«½«ó ¬ ßΓα«¬Ñ type, τΓ«íδ ߻ѵ¿Σ¿µ¿-
- α«óáΓ∞ αѪ¿¼ »αÑ«íαẫóá¡¿∩ ß¿¼ó«½«ó ¡«ó«⌐ ßΓ᫬¿.
-
- æ¿¼ó«½ ç¡áτÑ¡¿Ñ
-
- t ÄΓ¬αδΓ∞ ó ΓѬßΓ«ó«¼ (Γαá¡ß½¿απεΘѼ)
- αѪ¿¼Ñ; óó«ñ ¬«¼í¿¡áµ¿¿ "髺óαáΓ ¬áαÑΓ¬¿
- - »ÑαÑó«ñ ßΓ᫬¿" »αÑ«íαẫóδóáΓ∞ ¬
- Ññ¿¡ßΓóÑ¡¡«¼π ß¿¼ó«½π "»ÑαÑó«ñ ßΓ᫬¿".
- éδó«ñ ß¿¼ó«½á "»ÑαÑó«ñ ßΓ᫬¿" »αÑ«íαá-
- º«óδóáΓ∞ ó ¬«¼í¿¡áµ¿ε "髺óαáΓ ¬áαÑΓ¬¿ -
- »ÑαÑó«ñ ßΓ᫬¿".
-
- b ÄΓ¬αδΓ∞ ó ñó«¿τ¡«¼ (¡ÑΓαá¡ß½¿απεΘѼ)
- αѪ¿¼Ñ; »αÑñΦÑñßΓóπεΘ¿Ñ »αÑ«íαẫóá¡¿∩
- »«ñáó½∩εΓß∩.
-
- àß½¿ t ¿½¿ b ó ßΓα«¬Ñ type ¡Ñ ºáñá¡δ, Γ« αѪ¿¼ »αÑ«íαẫóá-
- ¡¿∩ «»αÑñѽ∩ÑΓß∩ »ÑαѼѡ¡«⌐ _fmode, πßΓá¡áó½¿óáѼ«⌐ »« π¼«½τá¡¿ε.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fdopen ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á «Γ¬αδΓδ⌐ »«Γ«¬. é
- ß½πτáÑ «Φ¿í¬¿ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ αáó¡« NULL.
- æ¼. Γá¬ªÑ dup, dup2, fclose, fcloseall, fopen, freopen,
- open.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <fcntl.h>
- FILE *stream;
- int fh;
- fh=open("data", O_RDONLY);
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α »«ºó«½∩ÑΓ ßó∩ºáΓ∞ »«Γ«¬ ß «Γ¬αδΓδ¼
- Σá⌐½«¼ */
-
- - 98 -
-
-
- stream = fdopen(fh, "r");.
-
-
- FEOF
-
- #include <stdio.h>
- int feof(stream);
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ feof «»αÑñѽ∩ÑΓ, ñ«ßΓ¿ú¡πΓ ½¿ ¬«¡Ñµ ºáñá¡¡«ú« »«Γ«-
- ¬á. àß½¿ ¬«¡Ñµ Σá⌐½á (EOF) ñ«ßΓ¿ú¡πΓ, Γ« «»Ñαᵿ¿ τΓÑ¡¿∩ ó«ºóαá-
- ΘáεΓ ¿¡ñ¿¬áΓ«α ¬«¡µá Σá⌐½á »«¬á »«Γ«¬ ¡Ñ íπñÑΓ ºá¬αδΓ ¿½¿ óδºóá-
- ¡á Σπ¡¬µ¿∩ rewind.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- àß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ∩ó½∩ÑΓß∩ ¬«¡µ«¼ Σá⌐½á (EOF), Σπ¡¬µ¿∩
- feof ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. àß½¿ ΓѬπΘá∩ »«º¿µ¿∩ ¡Ñ ∩ó½∩-
- ÑΓß∩ ¬«¡µ«¼ Σá⌐½á - ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ 0. öπ¡¬µ¿∩ feof «Φ¿í«¬
- ¡Ñ ó«ºóαáΘáÑΓ.
- æ¼. Γá¬ªÑ clearerr, eof, ferror, perror.
-
- çá¼Ñτá¡¿Ñ! öπ¡¬µ¿∩ feof αÑ὿ºπÑΓß∩ ¬á¬ ¼á¬α«.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- char string[100];
- FILE *stream;
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ «íÑß»Ñτ¿óáεΓ óó«ñ ßΓ᫬, »«¬á ¡Ñ
- óßΓαÑΓ¿Γß∩ EOF */
- while (!feof(stream))
- if (fscanf(stream, "%s", string))
- process (string);.
-
-
- FERROR
-
- #include <stdio.h>
- int ferror (stream);
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ ferror »α«óÑα∩ÑΓ «Φ¿í¬¿ τΓÑ¡¿∩ ¿ ºá»¿ß¿ ºáñá¡¡«ú«
- »«Γ«¬á. Åα¿ ó«º¡¿¬¡«óÑ¡¿¿ «Φ¿í¬¿ ¿¡ñ¿¬áΓ«α «Φ¿í¬¿ stream «ßΓáÑΓß∩
- πßΓá¡«ó½Ñ¡¡δ¼ ñ« ΓÑσ »«α, »«¬á »«Γ«¬ ¡Ñ ºá¬α«ÑΓß∩ ¿½¿ "αáºαπΦ¿Γ-
- ß∩" (rewound) ¿½¿ ªÑ »«¬á ¡Ñ íπñÑΓ óδºóá¡á Σπ¡¬µ¿∩ clearerr.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
-
- - 99 -
-
-
- é ß½πτáÑ «í¡áαπªÑ¡¿∩ «Φ¿í¬¿ ó »«Γ«¬Ñ Σπ¡¬µ¿∩ ferror ó«ºó-
- αáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπ-
- ÑΓ «í «ΓßπΓßΓó¿¿ «Φ¿í¬¿.
- æ¼. Γá¬ªÑ clearerr, eof, ferror, perrpr.
- ¥Γá Σπ¡¬µ¿∩ αÑ὿ºπÑΓß∩ ¬á¬ ¼á¬α«.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- FILE *stream;
- char *string;
- .
- .
- .
-
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ óó«ñ∩Γ ñá¡¡δÑ ó »«Γ«¬ ¿ »α«óÑα∩εΓ,
- ¡Ñ 󫺡¿¬½á ½¿ «Φ¿í¬á »α¿ ºá»¿ß¿. ÅÑαÑñ ºá»¿ß∞ε ñá¡¡δσ ó »«Γ«¬
- «¡ ñ«½ªÑ¡ íδΓ∞ »αÑñóáα¿Γѽ∞¡« «Γ¬αδΓ */
- fprintf (stream, "%s\n", string);
- if (ferror(stream))
- { fprintf (stderr, "write error\n");
- clearerr (stream;
- }
-
- FFLUSH
-
-
- #include <stdio.h>
- int fflush (stream);
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ.
-
- àß½¿ ºáñá¡¡δ⌐ »«Γ«¬ stream «Γ¬αδΓ ñ½∩ óδó«ñá, Γ« ß«ñÑন¼«Ñ
- íπΣÑαá, ßó∩ºá¡¡«ú« ß »«Γ«¬«¼ stream Σπ¡¬µ¿¿ fflush, ºá»¿ßδóáÑΓß∩
- ó ß««ΓóÑΓßΓóπεΘ¿⌐ Σá⌐½. àß½¿ »«Γ«¬ «Γ¬αδΓ ñ½∩ óó«ñá, Γ« Σπ¡¬µ¿∩
- fflush «τ¿ΘáÑΓ ß«ñÑন¼«Ñ íπΣÑαá. Å«ß½Ñ ó맮óá Σπ¡¬µ¿¿ »«Γ«¬ «ß-
- ΓáÑΓß∩ «Γ¬αδΓδ¼. ä½∩ ¡ÑíπΣÑਧ«óá¡¡«ú« »«Γ«¬á »α¿¼Ñ¡Ñ¡¿Ñ φΓ«⌐
- Σπ¡¬µ¿¿ ¡Ñ φΣΣÑ¬Γ¿ó¡«.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fflush ó«ºóαáΘáÑΓ 0, Ñß½¿ íπΣÑα πß»ÑΦ¡« «í¡«ó½Ñ¡.
- ¥Γ« ªÑ º¡áτÑ¡¿Ñ ó«ºóαáΘáÑΓß∩, ¬«úñá »«Γ«¬ ¡Ñ ¿¼ÑÑΓ íπΣÑαá ¿½¿
- ¬«úñá «¡ «Γ¬αδΓ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩. é ß½πτáÑ ó«º¡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿
- ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ EOF.
- æ¼. Γá¬ªÑ fclose, fflushall, setbuf.
-
- çá¼Ñτá¡¿Ñ! üπΣÑαδ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩εΓß∩, ¬«úñá «¡¿ »«½-
- ¡δ, ¬«úñá »«Γ«¬ ºá¬αδóáÑΓß∩ ¿½¿ »α«¿º«Φ½« ¡«α¼á½∞¡«Ñ «¬«¡τá¡¿Ñ
- αáí«Γδ »α«úαá¼¼δ íѺ ºá¬αδΓ¿∩ »«Γ«¬á.
-
- Åα¿¼Ñα:
-
- #include <srtio.h>
-
- - 100 -
-
-
- FILE *stream;
- char buffer[BUFSIZ];
- .
- .
- .
- /* ß½ÑñπεΘ¿Ñ ñóá «»ÑαáΓ«αá «í¡«ó½∩εΓ íπΣÑα »«Γ«¬á ¿ πßΓá-
- ¡áó½¿óáεΓ ¡«óδ⌐ íπΣÑα ñ½∩ »«Γ«¬á */
- fflush (stream);
- setbuf (stream, buffer);.
-
-
- _FFREE
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ-
- ¡¿∩ Σπ¡¬µ¿¿.
- void _ffree(ptr);
- char far *ptr; π¬áºáΓѽ∞ ¡á ºáσóáτÑ¡¡δ⌐ í½«¬
- »á¼∩Γ¿.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ _ffree «ßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿ ó¡Ñ π¼á½τ¿óáѼ«ú«
- ßÑú¼Ñ¡Γá ñá¡¡δσ. Çαúπ¼Ñ¡Γ ptr π¬áºδóáÑΓ ¡á αá¡ÑÑ ºáσóáτÑ¡¡δ⌐ í½«¬
- »á¼∩Γ¿ »«ßαÑñßΓó«¼ ó맮óá Σπ¡¬µ¿¿ _fmalloc.
- ù¿ß½«¼ «ßó«í«ñ¿óΘ¿σß∩ íá⌐Γ«ó ∩ó½∩ÑΓß∩ τ¿ß½« íá⌐Γ«ó, «»αÑñÑ-
- ½Ñ¡¡δσ »α¿ ºáσóáΓÑ (αẼÑΘÑ¡¿¿) í½«¬á. Å«ß½Ñ ó맮óá «ßó«í«ñ¿óΦ¿⌐-
- ß∩ í½«¬ ó¡«ó∞ »α¿ú«ñÑ¡ ñ½∩ ºáσóáΓá.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ _fmalloc, free, maloc.
-
- çá¼Ñτá¡¿Ñ! Å«»δΓ¬á «ßó«í«ñ¿Γ∞ ¡ÑóÑα¡δ⌐ ptr (π¬áºáΓѽ∞ ¡Ñ
- ºáσóáΓδóáÑΓß∩ »«ßαÑñßΓó«¼ _fmalloc) ¼«ªÑΓ »α¿óÑßΓ¿ ¬ »«ß½ÑñπεΘѼπ
- ºáσóáΓπ ¿ óδºóáΓ∞ «Φ¿í¬¿.
-
- Åα¿¼Ñα:
-
- #include <malloc.h>
- #include <stdio.h>
- char far *alloc;
- /* çáσóáΓδóáÑΓ 100 íá⌐Γ«ó ¿ ºáΓѼ «ßó«í«ªñáÑΓ ¿σ */
- if ((alloc=_fmalloc(100))==NULL)
- /* »α«óÑα∩ÑΓ ¡á »αáó¿½∞¡«ßΓ∞ π¬áºáΓѽ∩ */
- printf("unable to allocate memory\n");
- else {
- .
- .
- .
- _ffree(alloc);
- /* «ßó«í«ªñáÑΓ »á¼∩Γ∞ ñ½∩ heap */
- }
-
-
-
- - 101 -
-
-
- FGETC-FGETCHAR
-
-
- #include <stdio.h>
- int fgetc (stream); τ¿ΓáÑΓ ß¿¼ó«½ ¿º »«Γ«¬á.
- FILE *stream π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
- int fgetchar(); τ¿ΓáÑΓ ß¿¼ó«½ ¿º stdin.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ fgetc τ¿ΓáÑΓ «Γñѽ∞¡δ⌐ ΓѬπΘ¿⌐ ß¿¼ó«½ ¿º óσ«ñ¡«ú«
- »«Γ«¬á stream ¿ πóѽ¿τ¿óáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ π¬áºáΓѽ∞ (Ñß½¿ «¡
- ÑßΓ∞) ñ½∩ π¬áºá¡¿∩ ß½ÑñπεΘÑú« ßτ¿ΓδóáѼ«ú« ß¿¼ó«½á. öπ¡¬µ¿∩
- fgetchar ∩ó½∩ÑΓß∩ φ¬ó¿óá½Ñ¡Γ¡«⌐ Σπ¡¬µ¿¿ fgetc(stdin).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ¥Γ¿ ñóÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ ßτ¿Γá¡¡δ⌐ ß¿¼ó«½. é ß½πτáÑ ó«º-
- ¡¿¬¡«óÑ¡¿∩ «Φ¿í¬¿ ¿½¿ ñ«ßΓ¿ªÑ¡¿∩ ¬«¡µá Σá⌐½á ó«ºóαáΘáÑΓß∩ º¡áτÑ-
- ¡¿Ñ EOF; «ñ¡á¬«, º¡áτÑ¡¿Ñ EOF ¼«ªÑΓ íδΓ∞ ó«ß»α¿¡∩Γ« ¬á¬ µÑ½á∩ óÑ-
- ½¿τ¿¡á, Γ«úñá ¡πª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ ferror ¿ feof ñ½∩ »α«-
- óÑન «Φ¿í¬¿ ¿½¿ ¬«¡µá Σá⌐½á.
- æ¼. Γá¬ªÑ fputc, fputchar, getc, getchar.
-
- çá¼Ñτá¡¿Ñ! Åα«µÑñπαδ fgetc ¿ fgetchar ¿ñÑ¡Γ¿τ¡δ getc ¿
- getchar, ¡« «¡¿ ∩ó½∩εΓß∩ Σπ¡¬µ¿∩¼¿, á ¡Ñ ¼á¬α«.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- FILE *stream;
- char buffer[81]; int i; int ch;
- . . .
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ óδí¿αáεΓ ßΓα«¬π ¿º »«Γ«¬á */
- for (i=0; (i<80) && ((ch=fgetc(stream)) !=EOF) &&
- (ch!='\n'); i++)
- buffer[i]=ch;
- buffer[i]='\0';
- /* é óδΦÑ»α¿óÑñÑ¡¡δσ «»ÑαáΓ«αáσ ñ½∩ ßí«αá ßΓ᫬¿ ¿º »«Γ«¬á
- stdin ó¼ÑßΓ« fgetc(stream) ñ«½ª¡á íδΓ∞ »α¿¼Ñ¡Ñ¡á Σπ¡¬µ¿∩
- fgetchar(). Æ« ªÑ φ¬ó¿óá½Ñ¡Γ¡« ñ½∩ fgetc(stdin). */
-
-
- FGETS
-
-
- #include <stdio.h>
- char *fgets(string, n, stream);τ¿ΓáÑΓ ßΓα«¬π ¿º »«Γ«¬á
- stream.
- char *string; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ ñá¡¡δσ.
- int n; τ¿ß½« ß«σαá¡∩Ѽδσ ß¿¼ó«½«ó.
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
-
-
- - 102 -
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ fgets τ¿ΓáÑΓ ßΓα«¬π ¿º óσ«ñ¡«ú« »«Γ«¬á stream ¿
- αáß»«½áúáÑΓ ÑÑ ó string. 濼ó«½δ ßτ¿ΓδóáεΓß∩, ¡áτ¿¡á∩ ß ΓѬπΘÑ⌐
- »«º¿µ¿¿ stream, ñ« ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿ '\n' ¿½¿ ñ« ¬«¡µá »«Γ«¬á,
- ½¿í« »«¬á τ¿ß½« ßτ¿Γá¡¡δσ ß¿¼ó«½«ó ¡Ñ ßΓá¡ÑΓ αáó¡δ¼ n-1. ÉѺπ½∞-
- ΓáΓ αẼÑΘáÑΓß∩ ó string, á ºáΓѼ ¬ ¡Ñ¼π ñ«íáó½∩ÑΓß∩ ß¿¼ó«½ null
- -'\0'. æ¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿ Γá¬ªÑ ó¬½ετáÑΓß∩ ó string. àß½¿ ó ¡áτá-
- ½Ñ ßτ¿Γδóá¡¿∩ n αáó¡∩½«ß∞ 1, Γ« string íπñÑΓ »πßΓ«⌐ (""). öπ¡¬µ¿∩
- fgets á¡á½«ú¿τ¡á í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ gets, «ñ¡á¬«, gets ºá¼Ñ¡∩ÑΓ
- ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿ ¡π½Ñóδ¼ ß¿¼ó«½«¼.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fgets ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π string. é ß½π-
- τáÑ «Φ¿í¬¿ ¿½¿ ¬«¡µá Σá⌐½á ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ NULL. ä½∩ «»αÑ-
- ñѽѡ¿∩ Γ«ú«, τΓ« »α«¿º«Φ½« - «Φ¿í¬á ¿½¿ ¬«¡Ñµ Σá⌐½á, ¿ß»«½∞ºπεΓ-
- ß∩ Σπ¡¬µ¿¿ feof ¿ ferror.
- æ¼. Γá¬ªÑ fputs, gets, puts.
-
- Åα¿¼Ñα:
-
- include <stdio.h>
- FILE *stream;
- char line[100], *result;
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α óδí¿αáÑΓ ßΓ᫬π ß¿¼ó«½«ó ¿º »«Γ«¬á
- stream. ÑΓ íδΓ∞ ßτ¿Γá¡« ¡Ñ í«½ÑÑ 99 ß¿¼ó«½«ó ½¿í« óßÑ ß¿¼ó«½δ
- ñ« ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿ '\n', ó¬½ετá∩ ¿ Ñú«. */
- result = fgets(line, 100, stream);.
-
-
- FIEEETOMSBIN-FMSBINTOIEEE
-
-
- #include <math.h>
- int fieeetomsbin(src4,dst4);»αÑ«íαáºπÑΓ τ¿ß½« ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐ ó Σ«α¼áΓÑ.
- IEEE ó ñó«¿τ¡δ⌐ Σ«α¼áΓ ß »½á-
- óáεΘÑ⌐ Γ«τ¬«⌐ MS.
- int fmsbintoieee(src4,dst4); »αÑ«íαáºπÑΓ τ¿ß½« ó ñó«¿τ¡«¼
- Σ«α¼áΓÑ MS ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ó τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó
- Σ«α¼áΓÑ IEEE.
-
- Ä»¿ßá¡¿Ñ.
-
- Åα«µÑñπαá fieeetomsbin »αÑ«íαẫóδóáÑΓ τ¿ß½« ß «ñ¿¡áα¡«⌐
- Γ«τ¡«ßΓ∞ε ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó Σ«α¼áΓÑ IEEE ¬ ñó«¿τ¡«¼π Σ«α¼áΓπ
- Microsoft.
- Åα«µÑñπαá fmsbintoieee »αÑ«íαẫóδóáÑΓ τ¿ß½« ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐ ó ñó«¿τ¡«¼ Σ«α¼áΓÑ Microsoft ¬ Σ«α¼áΓπ IEEE.
- ¥Γ¿ »α«µÑñπαδ »«ºó«½∩εΓ »α«úαἼἠæ¿, ¬«Γ«αδÑ ºá»¿ßδóáεΓ
- τ¿ß½á ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó Σ«α¼áΓ IEEE, ¿ß»«½∞º«óáΓ∞ τ¿ß½Ñ¡¡δÑ
- ñá¡¡δÑ ó »«½∩σ ñá¡¡δσ ß½πτá⌐¡«ú« ñ«ßΓπ»á, ß«ºñá¡¡δÑ »α¿ »«¼«Θ¿
- Microsoft BASIC, ¬«Γ«αδ⌐ ºá»¿ßδóáÑΓ τ¿ß½á ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó
- ñó«¿τ¡δ⌐ Σ«α¼áΓ Microsoft ¿ ¡á«í«α«Γ.
-
- - 103 -
-
-
- Çαúπ¼Ñ¡Γ scr4 π¬áºδóáÑΓ ¡á »αÑ«íαáºπѼ«Ñ float-º¡áτÑ¡¿Ñ.
- ÉѺπ½∞ΓáΓ ºá»¿ßδóáÑΓß∩ ó αáß»«½«ªÑ¡¿Ñ, ºáñá¡¡«Ñ áαúπ¼Ñ¡Γ«¼ dst4.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ¥Γ¿ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ 0, Ñß½¿ »αÑ«íαẫóá¡¿Ñ í佫 πß»ÑΦ¡δ¼
- ¿ 1, Ñß½¿ »αÑ«íαẫóá¡¿Ñ »«ó½Ñ¬½« »ÑαÑ»«½¡Ñ¡¿Ñ.
- æ¼.Γá¬ªÑ dieeetomsbin, dmsbintoieee.
-
- çá¼Ñτá¡¿Ñ! ¥Γ¿ »α«µÑñπαδ ¡Ñ «íαáíáΓδóáεΓ IEEE NAN ¿ íÑ߬«-
- ¡Ñτ¡«ßΓ∞. ìÑ«íδτ¡δÑ IEEE Γαá¬ΓπεΓß∩ ó »αÑ«íαẫóá¡¿∩σ ¬á¬ 0.
-
-
- FILELENGTH
-
-
- #include <io.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ-
- ¡¿∩ Σπ¡¬µ¿¿.
- long filelength(handle);
- int handle; handle-α, ßßδ½áεΘ¿⌐ß∩ ¡á «Γ-
- ¬αδΓδ⌐ Σá⌐½.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ filelength ó«ºóαáΘáÑΓ ó íá⌐Γáσ ñ½¿¡π Σá⌐½á, ßó∩ºá¡-
- ¡«ú« ß ºáñá¡¡δ¼ handle.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ filelength ó«ºóαáΘáÑΓ ñ½¿¡π Σá⌐½á ó íá⌐Γáσ. 髺óαá-
- ΘáѼ«Ñ º¡áτÑ¡¿Ñ -1L ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿ errno πßΓá¡áó½¿-
- óáÑΓß∩ ó EBADF, τΓ«íδ π¬áºáΓ∞ ¡á ¡ÑóÑα¡δ⌐ Σá⌐½«óδ⌐ handle.
- æ¼.Γá¬ªÑ chsize, fileno, fstat, stat.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- #include <stdio.h>
- #include <stdlib.h>
- FILE *stream;
- long length;
- stream=fopen("data","r");
- .
- .
- .
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ »δΓáεΓß∩ «»αÑñѽ¿Γ∞ ** ñ½¿¡π Σá⌐½á,
- ßó∩ºá¡¡«ú« ß »«Γ«¬«¼ stream */
- length=filelength(fileno(stream));
- if(length==-1L)
- perror("filelength failed");.
-
-
-
-
-
- - 104 -
-
- FILENO
-
- #include <stdio.h>
- int fileno (stream);
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ fileno ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ handle (¡«¼Ñα) Σá⌐½á,
- ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼ stream. àß½¿ »«Γ«¬ ßó∩ºá¡ í«½ÑÑ τѼ ß «ñ¡¿¼
- handle-α«¼ ¿ ¬«úñá »«Γ«¬ »αÑñóáα¿Γѽ∞¡« «Γ¬αδΓ, ó ¬áτÑßΓóÑ ó«ºó-
- αáΘáѼ«ú« º¡áτÑ¡¿∩ «»αÑñѽ∩ÑΓß∩ handle.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fileno ó«ºóαáΘáÑΓ handle-α Σá⌐½á; ó ß½πτáÑ «Φ¿í¬¿ -
- ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ. àß½¿ »«Γ«¬ stream ¡Ñ ºáñá¡ ¬á¬ «Γ¬αδ-
- Γδ⌐ Σá⌐½, Γ«úñá ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¡Ñ «»αÑñѽѡ«.
- æ¼. Γá¬ªÑ fdopen, filelength, fopen, freopen.
-
- çá¼Ñτá¡¿Ñ! Fileno αÑ὿ºπÑΓß∩ ¬á¬ ¼á¬α«.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- int result;
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α «»αÑñѽ∩ÑΓ handle Σá⌐½á ñ½∩ »«Γ«¬á
- stderr*/
- result= fileno(stderr); /* αѺπ½∞ΓáΓ αáóÑ¡ 2 */
-
-
- FLOOR
-
-
- #include <math.h>
- double floor(x);
- double x; º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ floor ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, »αÑñ-
- ßΓáó½∩εΘÑÑ ¡á¿í«½∞ΦÑÑ µÑ½«Ñ, ¬«Γ«α«Ñ ¼Ñ¡∞ΦÑ ¿½¿ αáó¡« x.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ floor ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. 髺-
- óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ ceil, fmod.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- double y;
- .
- .
- .
- y = floor(2.8); /* y = 2.0 */
-
- - 105 -
-
-
- y = floor(-2.8); /* y = -3.0 */
-
-
- FLUSHALL
-
-
- #include <stdio.h>
- int flushall();
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ flushall ºá»¿ßδóáÑΓ ß«ñÑন¼«Ñ óßÑσ íπΣÑα«ó, ßó∩-
- ºá¡¡δσ ß «Γ¬αδΓ묨 input »«Γ«¬á¼¿, ó ß««ΓóÑΓßΓóπεΘ¿Ñ Σá⌐½δ. éßÑ
- íπΣÑαδ, ßó∩ºá¡¡δÑ ß «Γ¬αδΓ묨 »«Γ«¬á¼¿, «τ¿ΘáεΓß∩; ß½ÑñπεΘá∩ «»Ñ-
- αᵿ∩ τΓÑ¡¿∩ (Ñß½¿ «¡á ÑßΓ∞) ßτ¿ΓδóáÑΓ ¡«óδÑ ñá¡¡δÑ ¿º óσ«ñ¡δσ
- Σá⌐½«ó ó íπΣÑαδ. Å«ß½Ñ ó맮óá Σπ¡¬µ¿¿ flushall óßÑ »«Γ«¬¿ «ßΓá-
- εΓß∩ «Γ¬αδΓ묨.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- äá¡¡á∩ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« «Γ¬αδΓδσ »«Γ«¬«ó
- (óσ«ñ¡δσ ¿ óδσ«ñ¡δσ). é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼. Γá¬ªÑ fflush.
-
- çá¼Ñτá¡¿Ñ! üπΣÑαδ áóΓ«¼áΓ¿τÑ߬¿ «í¡«ó½∩εΓß∩, ¬«úñá «¡¿ »«½-
- ¡δ, ¬«úñá »«Γ«¬¿ ºá¬αδóáεΓß∩ ¿½¿ »α«¿ßσ«ñ¿Γ ¡«α¼á½∞¡«Ñ ºáóÑαΦÑ¡¿Ñ
- αáí«Γδ »α«úαá¼¼δ íѺ ºá¬αδΓ¿∩ »«Γ«¬«ó.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- int numopen;
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α «ª¿ñáÑΓ ½εí«⌐ óó«ñ/óδó«ñ ó« óßÑ »«Γ«-
- ¬¿ */
- numopen=flushall();.
-
-
- _FMALLOC
-
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ-
- ¡¿∩ Σπ¡¬µ¿¿.
- char far *_fmalloc(size);
- unsigned size; ¬«½¿τÑßΓó« íá⌐Γ«ó ó ºáσóáτÑ¡-
- ¡«¼ í½«¬Ñ.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ _fmalloc ºáσóáΓδóáÑΓ ó¡Ñ π¼á½τ¿óáѼ«ú« ßÑú¼Ñ¡Γá
- ñá¡¡δσ í½«¬ »á¼∩Γ¿, »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ ¡Ñ ¼Ñ¡∞Φ¿⌐, τѼ í½«¬ ¿º size
- íá⌐Γ«ó. (ü½«¬ ¼«ªÑΓ íδΓ∞ í«½∞ΦÑ, τѼ ¿º size íá⌐Γ«ó, »α¿¡áñ½Ñªá-
- Θ¿σ »α«ßΓαá¡ßΓóπ, ¬«Γ«α«Ñ ΓαÑíπÑΓß∩ ñ½∩ óδαáó¡¿óá¡¿∩).
-
- - 106 -
-
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ _fmalloc ó«ºóαáΘáÑΓ far-π¬áºáΓѽ∞ ¡á char. é »á¼∩-
- Γ¿, ¡á ¬«Γ«απε π¬áºδóáÑΓ ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ, úáαá¡Γ¿α«óá¡« óδ-
- αáó¡¿óá¡¿Ñ ñ½∩ σαá¡Ñ¡¿∩ ½εí«ú« Γ¿»á «íΩѬΓá. ùΓ«íδ »«½πτ¿Γ∞ π¬á-
- ºáΓѽ∞ ¡á Γ¿», «Γ½¿τ¡δ⌐ «Γ char, ¿ß»«½∞ºπÑΓß∩ »αÑ«íαẫóáΓѽ∞ Γ¿-
- »á ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
- öπ¡¬µ¿∩ _fmalloc ó«ºóαáΘáÑΓ far-π¬áºáΓѽ∞ ¡á char. àß½¿ ó¡Ñ
- π¼á½τ¿óáѼ«ú« ßÑú¼Ñ¡Γá ñá¡¡δσ »á¼∩Γ¿ ¡Ñ ñ«ßΓáΓ«τ¡«, Γ« ºáσóáΓ »á-
- ¼∩Γ¿ íπñÑΓ »«óΓ«αÑ¡ ß¡«óá, ¿ß»«½∞ºπ∩ ¿ φëà ßÑú¼Ñ¡Γ. àß½¿ »á¼∩Γ¿
- ß¡«óá ¡Ññ«ßΓáΓ«τ¡«, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ αáó¡« NULL.
- æ¼.Γá¬ªÑ _ffree, _fmsize, malloc, realloc.
-
- Åα¿¼Ñα:
-
- #include <malloc.h>
- int *intarray;
- /* ºáσóáΓδóáÑΓ »α«ßΓαá¡ßΓó« ñ½∩ 20 µÑ½δσ */
- intarray=(int*)_fmalloc(20*sizeof(int));.
-
-
- FMOD
-
-
- #include <math.h>
- double fmod(x,y);
- double x; º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
- double y;
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ fmod óδτ¿ß½∩ÑΓ «ßΓáΓ«¬ «Γ ñѽѡ¿∩ x ¡á y ß »½áóáε-
- ΘÑ⌐ Γ«τ¬«⌐, úñÑ x=iy+f, i - µÑ½«Ñ, f - ¿¼ÑÑà ëà ªÑ º¡á¬, τΓ« x;
- á áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ x ¼Ñ¡∞ΦÑ, τѼ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ y.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fmod ó«ºóαáΘáÑΓ «ßΓáΓ«¬ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. àß½¿ y
- αáó¡« 0, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ 0.
- æ¼.Γá¬ªÑ ceil, fabs, floor.
-
- Åα¿¼Ñα:
-
- #include <math.h>
- double x,y,z;
- x = -10.0;
- y = 3.0;
- z = fmod(x,y); /* z = -1.0 */.
-
-
- _FMSIZE
-
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ-
-
- - 107 -
-
-
- ¡¿∩ Σπ¡¬µ¿¿.
- unsigned _fmsize(ptr);
- char far *ptr; π¬áºáΓѽ∞ ¡á í½«¬ »á¼∩Γ¿.
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ _fmsize ó«ºóαáΘáÑΓ αẼÑα ó íá⌐Γáσ í½«¬á »á¼∩Γ¿,
- ºáσóáτÑ¡¡«ú« »«ßαÑñßΓó«¼ ó맮óá _fmalloc.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ _fmsize ó«ºóαáΘáÑΓ αẼÑα ó íá⌐Γáσ ¬á¬ íѺº¡á¬«ó«Ñ
- µÑ½«Ñ.
- æ¼.Γá¬ªÑ _ffree, _fmalloc, malloc, _msize, _nfree,
- _nmalloc, _nmsize.
-
- Åα¿¼Ñα:
-
- #include <malloc.h>
- #include <stdio.h>
- main()
- {
- char far *stringarray;
- stringarray=_fmalloc(200*sizeof(char));
- if (stringarray != NULL)
- printf("%u bytes allocated\n",
- _fmsize(stringarray));
- else
- printf("Allocation request failed.\n");
- }
-
-
- FOPEN
-
-
- #include <stdio.h>
- FILE *fopen(pathname, type);
- char *pathname; path-¿¼∩ Σá⌐½á.
- char *type; αáºαÑΦÑ¡¡δ⌐ Γ¿» ñ«ßΓπ»á.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ fopen «Γ¬αδóáÑΓ Σá⌐½, «»αÑñѽ∩Ѽδ⌐ path-¿¼Ñ¡Ñ¼.
- 濼ó«½δ ó ßΓα«¬Ñ type «»αÑñѽ∩εΓ Γ¿» ñ«ßΓπ»á, ΓαÑíπѼδ⌐ ñ½∩ Σá⌐-
- ½á, ß½ÑñπεΘ¿¼ «íαẫ¼.
-
- Éàåêî ÄÅêæÇìêà
-
- "r" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ τΓÑ¡¿∩.(¥Γ«Γ Σá⌐½ ñ«½ªÑ¡
- ßπΘÑßΓó«óáΓ∞).
-
- "w" «Γ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ ºá»¿ß¿; Ñß½¿ φΓ«Γ
- Σá⌐½ αá¡ÑÑ ßπΘÑßΓó«óá½, Ñú« ß«ñÑন¼«Ñ
-
- - 108 -
-
-
- π¡¿τΓ«ªáÑΓß∩.
-
- "a" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ ºá»¿ß¿ (ñ«íáó½Ñ¡¿∩) ó
- ¬«¡Ñµ. àß½¿ ñá¡¡«ú« Σá⌐½á ¡ÑΓ, Γ« ó¡áτá½Ñ
- «¡ ß«ºñáÑΓß∩.
-
- "r+" «Γ¬αδΓ∞ Σá⌐½ «ñ¡«óαѼѡ¡« ñ½∩ τΓÑ¡¿∩ ¿
- ºá»¿ß¿. öá⌐½ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞.
-
- "w+" «Γ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿.
- àß½¿ φëà Σá⌐½ αá¡ÑÑ ßπΘÑßΓó«óá½, Ñú«
- ß«ªÑন¼«Ñ π¡¿τΓ«ªáÑΓß∩.
-
- "a+" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ñ«íáó½Ñ¡¿∩.
- àß½¿ Σá⌐½á ¡ÑΓ, ó¡áτá½Ñ «¡ ß«ºñáÑΓß∩.
-
- çá¼Ñτá¡¿Ñ! ìπª¡« ó¡¿¼áΓѽ∞¡« »α¿¼Ñ¡∩Γ∞ αѪ¿¼δ "w", "w+",
- Γᬠ¬á¬ «¡¿ ¼«úπΓ π¡¿τΓ«ª¿Γ∞ ßπΘÑßΓóπεΘ¿Ñ Σá⌐½δ.
-
- àß½¿ Σá⌐½ «Γ¬αδΓ »α¿ »«¼«Θ¿ Γ¿»á "a" ¿½¿ "a+", óßÑ «»Ñαᵿ¿
- ºá»¿ß¿ óδ»«½¡∩εΓß∩ ó ¬«¡Ñµ Σá⌐½á. Åα¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿⌐ fseek
- ¿½¿ rewind 󫺼«ª¡« »ÑαÑ»«º¿µ¿«¡¿α«óá¡¿Ñ π¬áºáΓѽ∩ ¡á Σá⌐½; ¡Ñß-
- ¼«Γα∩ ¡á φΓ«, π¬áºáΓѽ∞ ¡á Σá⌐½ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ½εíδσ «»Ñαᵿ⌐
- ºá»¿ß¿ óßÑúñá ó«ºóαáΘáÑΓß∩ ó ¬«¡Ñµ Σá⌐½á. Æá¬¿¼ «íαẫ¼, ßπΘÑßΓ-
- óπεΘ¿Ñ ñá¡¡δÑ ¡Ñ íπñπΓ »ÑαѺỿßá¡δ. Åα¿ ¿ß»«½∞º«óá¡¿¿ Γ¿»«ó
- "r+', "w+", "a+" ñ«»π߬áÑΓß∩ «ñ¡«óαѼѡ¡« τΓÑ¡¿Ñ ¿ ºá»¿ß∞. (â«ó«-
- α¿Γß∩, τΓ« Σá⌐½ «Γ¬αδóáÑΓß∩ ñ½∩ «í¡«ó½Ñ¡¿∩). Å«φΓ«¼π, »α¿ »ÑαѬ-
- ½ετÑ¡¿¿ τΓÑ¡¿∩ ¡á ºá»¿ß∞ ¿ ¡á«í«α«Γ ¡πª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿
- fseek ¿½¿ rewind. ä½∩ Σπ¡¬µ¿¿ fseek (»α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿) ¼«ªÑΓ
- íδΓ∞ Γ«τ¡« «»αÑñѽѡá ΓѬπΘá∩ »«º¿µ¿∩.
- ä«»«½¡¿Γѽ∞¡« ¬ º¡áτÑ¡¿∩¼, «»¿ßá¡¡δ¼ óδΦÑ, ¼«ªÑΓ íδΓ∞ ñ«-
- íáó½Ñ¡ ó ßΓα«¬Ñ type «ñ¿¡ ¿º ß½ÑñπεΘ¿σ ß¿¼ó«½«ó, τΓ«íδ ߻ѵ¿Σ¿µ¿-
- α«óáΓ∞ ß»«ß«í »αÑ«íαẫóá¡¿∩ ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿.
-
-
- æ¿¼ó«½ ç¡áτÑ¡¿Ñ
-
- t «Γ¬αδΓ∞ ó ΓѬßΓ«ó«¼ (»αÑ«íαáºπεΘѼ)
- αѪ¿¼Ñ; »α¿ óó«ñÑ ¬«¼í¿¡áµ¿∩ "髺óαáΓ
- ¬áαÑΓ¬¿ - »ÑαÑó«ñ ßΓ᫬¿"
- »αÑ«íαẫóδóáÑΓß∩ ¬ Ññ¿¡ßΓóÑ¡¡«¼π ß¿¼ó«½π
- "»ÑαÑó«ñá ßΓ᫬¿". Åα¿ óδó«ñÑ ß¿¼ó«½
- »ÑαÑó«ñá ßΓ᫬¿ »αÑ«íαẫóδóáÑΓß∩ ó
- ¬«¼í¿¡áµ¿ε éè-Åæ.
-
- b «Γ¬αδΓ∞ ó ñó«¿τ¡«¼ (¡Ñ»αÑ«íαáºπεΘѼ)
- αѪ¿¼Ñ; óδΦÑ «»¿ßá¡¡δÑ »αÑ«íαẫóá¡¿∩ ¡Ñ
- «ßπΘÑßΓó½∩εΓß∩.
-
-
- àß½¿ t ¿½¿ b ó ßΓα«¬Ñ type ¡Ñ ºáñáÑΓß∩, αѪ¿¼ »αÑ«íαẫóá-
- ¡¿∩ «»αÑñѽ∩ÑΓß∩ »ÑαѼѡ¡«⌐ _fmode ¿ αѪ¿¼«¼, πßΓá¡áó½¿óáÑ¼δ¼ »«
- π¼«½τá¡¿ε.
-
-
-
- - 109 -
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ fopen ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á «Γ¬αδΓδ⌐ Σá⌐½. ç¡áτÑ-
- ¡¿Ñ π¬áºáΓѽ∩ NULL ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ.
- æ¼.Γá¬ªÑ fclose, fcloseall, fdopen, ferror, fileno,
- freopen, open, setmode.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- main (argc, argv)
- int argc;
- char *argv[];
- {
- FILE *stream;
- /* »α¿¼Ñ¡Ñ¡¿Ñ fopen »«ºó«½∩ÑΓ «Γ¬αδΓ∞ Σá⌐½, ¿¼∩ ¬«Γ«α«ú«
- σαá¡¿Γß∩ ó π¬áºáΓÑ½Ñ argv[argc-1]; Ñß½¿ φΓ« ¡Ñ πñáÑΓß∩, »α«úαá¼¼á
- αáß»ÑτáΓδóáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ */
- if ((stream= fopen(argv[argc-1]), "r"))==NULL)
- { fprintf (stderr, "%s ¡Ñ ¼«ªÑΓ «Γ¬αδΓ∞ Σá⌐½ %s\n",
- argv[0], argv[argc-1]);
- exit(1);
- }
- /* çá¼Ñτá¡¿Ñ! ê¼∩ »α«úαá¼¼δ σαá¡¿Γß∩ ó argv[0] Γ«½∞¬« ñ½∩
- óÑαß¿⌐ MS DOS 3.0 ¿ »«ß½ÑñπεΘ¿σ; ó »αÑñδñπΘ¿σ óÑαß¿∩σ MS DOS,
- argv[0] ß«ñÑনΓß∩ ó ßΓα«¬Ñ "æ¿" */
- ÄíαáºÑµ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿:
-
- update employ.dat
-
- ìá óδσ«ñÑ íπñÑΓ ß««íΘÑ¡¿Ñ:
-
- "C:\BIN\UPDATE.EXE ¡Ñ ¼«ªÑΓ «Γ¬αδΓ∞ Σá⌐½ employ.dat ".
-
-
- FP_OFF - FR_SEG
-
- #include <dos.h>
- unsigned FP_OFF(longptr);
- unsigned FP_SEG(lohgptr);
- char far *longptr; long-π¬áºáΓѽ∞ ¡á áñαÑß »á¼∩Γ¿.
-
- Ä»¿ßá¡¿Ñ.
-
- îá¬α« FP_OFF ¿ FP_SEG ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ß««ΓóÑΓßΓóÑ¡¡«
- ñ½∩ πßΓá¡«ó¬¿ αáºóÑΓó½Ñ¡¿∩ ¿½¿ óº∩Γ¿∩ ßÑú¼Ñ¡Γá »«ßαÑñßΓó«¼
- long-π¬áºáΓѽ∩ longptr.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- îá¬α« FP_OFF ó«ºóαáΘáÑΓ íѺº¡á¬«ó«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ, »αÑñß-
- Γáó½∩εΘÑÑ αáºóÑΓó½Ñ¡¿Ñ.
- îá¬α« FP_SEG ó«ºóαáΘáÑΓ íѺº¡á¬«ó«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ, »αÑñß-
- Γá½∩εΘÑÑ áñαÑß ßÑú¼Ñ¡Γá.
- æ¼.Γá¬ªÑ segread.
-
- - 110 -
-
-
-
- Åα¿¼Ñα.
-
- #include <dos.h>
-
- char far *p;
- unsigned int seg_val;
- unsigned int off_val;
- .
- .
- .
- seg_val=FP_SEG(p);
- off_val=FP_OFF(p);
-
-
-
- _FPRESET
-
- #include <float.h>
- void _fpreset(); »ÑαÑ¿¡¿µ¿á½¿º¿απÑΓ ¼áΓѼáΓ¿τÑ-
- ߬¿⌐ »á¬ÑΓ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ _fpreset »ÑαÑ¿¡¿µ¿á½¿º¿απÑΓ ¼áΓѼáΓ¿τÑ߬¿⌐ »á¬ÑΓ ß
- »½áóáεΘÑ⌐ Γ«τ¬«⌐. ¥Γá Σπ¡¬µ¿∩ «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ß »α«µÑñπαἿ
- signal, system ¿½¿ ß ßѼÑ⌐ßΓó«¼ »α«µÑñπα exec, spawn.
- àß½¿ »α«úαá¼¼á ó¼ÑßΓÑ ß Σπ¡¬µ¿Ñ⌐ signal ºáσóáΓδóáÑΓ ß¿ú¡á½δ
- «Φ¿í«¬ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (SIGFPE), Γ« «¡á »α¿ ó맮óÑ _fpreset
- í½áú«»«½πτ¡« ó«ßßΓá¡áó½¿óáÑΓß∩ ¿º «Φ¿í«¬ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ óδ-
- »«½¡∩ÑΓ longjmp.
-
- çá¼Ñτá¡¿Ñ! é óÑαß¿∩σ MS DOS, í«½ÑÑ αá¡¡¿σ τѼ 4.0,
- child-»α«µÑßß, óδ»«½¡¿¼δ⌐ ó exec, spawn ¿½¿ system, ¼«ªÑΓ ó«ºñÑ⌐-
- ßΓó«óáΓ∞ ¡á ß«ßΓ«∩¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ parent-»α«µÑßßá, Ñß½¿
- ¿ß»«½∞ºπÑΓß∩ 8087 ¿½¿ 80287 ß«»α«µÑßß«α. Å«φΓ«¼π, Ñß½¿ ¿ß»«½∞ºπ-
- ÑΓß∩ ß«»α«µÑßß«α 8087 ½¿í« 80287, αѬ«¼Ñ¡ñπεΓß∩ »«¼¡¿Γ∞, τΓ«:
- * exec, spawn, system ¡Ñ ¼«úπΓ óδºδóáΓ∞ß∩ ó »α«µÑßßÑ óδτ¿ß-
- ½Ñ¡¿∩ óδαáªÑ¡¿∩ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐;
- * _fpreset ñ«½ª¡á íδΓ∞ óδºóá¡á »«ß½Ñ φΓ¿σ »α«µÑñπα, Ñß½¿
- child-»α«µÑßß ¼«ªÑΓ óδ»«½¡¿Γ∞ ΓαÑíπѼπε «»Ñαᵿε.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ execl, execle, execlp, execlpe, execv, execve,
- execvp, execvpe, signal, spawnl, spawnle, spawnlp, spawnlpe,
- spawnv, spawnve, spawnvp, spawnvpe.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
- #include <signal.h>
- #include <setjmp.h>
- #include <float.h>
-
- - 111 -
-
-
-
- int fphandler ();
- jmp_buf mark;
- double a = 1.0, b = 0.0, c;
-
- main()
- {
- if(signal(SIGFPE, fphandler)==(int(*)())-1)
- abort();
- if(setjmp(mark)==0) {
- c = a/b;
- printf("Should never get here\n");
- }
- printf("Recovered from floating-point error\n");
- }
-
- int fphandler(sig,num)
- int sig,num;
-
- {
- printf("signal=%d subcode =%d\n",sig,num);
- _fpreset();
- /* »ÑαÑ¿¡¿µ¿á½¿º¿απÑΓ »á¬ÑΓ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ */
- longjmp(mark,-1);
- }
-
- FPRINTF
-
- #include <stdio.h>
-
- int fprintf (stream, format-string [, argument ...]);
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- char *format-string; ßΓ᫬á π»αáó½Ñ¡¿∩ Σ«α¼áΓ«¼.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fprintf Σ«α¼áΓ¿απÑΓ ¿ »ÑτáΓáÑΓ ó óδσ«ñ¡«⌐ »«Γ«¬ ¡á-
- í«αδ ß¿¼ó«½«ó ¿ º¡áτÑ¡¿⌐. èáªñδ⌐ áαúπ¼Ñ¡Γ (Ñß½¿ «¡ ÑßΓ∞) »αÑ«íαá-
- ºπÑΓß∩ ¿ óδó«ñ¿Γß∩ ß«ú½áß¡« ºáñá¡¡«⌐ ߻ѵ¿Σ¿¬áµ¿¿ Σ«α¼áΓá ó ßΓα«-
- ¬Ñ Σ«α¼áΓá. æΓ᫬á Σ«α¼áΓá (format-string) «í½áñáÑΓ Γ«⌐ ªÑ Σ«α¼«⌐
- ¿ Σπ¡¬µ¿Ñ⌐, τΓ« ¿ áαúπ¼Ñ¡Γ ßΓ᫬¿ Σ«α¼áΓá Σπ¡¬µ¿¿ printf.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« ¡á»ÑτáΓá¡¡δσ ß¿¼ó«½«ó.
- æ¼. Γá¬ªÑ cprintf, fscanf, printf, sprintf.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- int i = 10;
-
- - 112 -
-
-
- double fp = 1.5;
- char *s = "φΓ« ßΓ᫬á";
- char c = '\n';
-
- stream = fopen("result", "w");
-
- /* Σ«α¼áΓ¿α«óá¡¿Ñ ¿ »ÑτáΓ∞ αẽ¿τ¡δσ ñá¡¡δσ */
-
- fprintf (stream, "%s%c", s, c);
- /* »ÑτáΓ∞ óδαáªÑ¡¿∩ "φΓ« - ¡«óá∩ ßΓ᫬á", á ºáΓѼ ß¿¼ó«½á
- ¡«ó«⌐ ßΓ᫬¿ */
-
- fprintf (stream, "%d\n", i);
- /* »ÑτáΓ∞ τ¿ß½á 10, á ºáΓѼ ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿ */
-
- fprintf (stream, "%f", fp);
- /* »ÑτáΓ∞ τ¿ß½á 1.500000 */
-
-
- FPUTC-FPUTCHAR.
-
- #include <stdio.h>
- int fputc (c, stream); ºá»¿ßδóáÑΓ ß¿¼ó«½ ó »«Γ«¬ stream.
- int c; ºá»¿ßδóáѼδ⌐ ß¿¼ó«½.
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- int fputchar (c); ºá»¿ßδóáÑΓ ß¿¼ó«½ ó »«Γ«¬ stdout.
- int c; ºá»¿ßδóáѼδ⌐ ß¿¼ó«½.
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fputc ºá»¿ßδóáÑΓ «Γñѽ∞¡δ⌐ ß¿¼ó«½ "ß" ó óδσ«ñ¡«⌐
- »«Γ«¬ stream. öπ¡¬µ¿∩ fputchar ∩ó½∩ÑΓß∩ φ¬ó¿óá½Ñ¡Γ¡«⌐ ¬ Σπ¡¬µ¿¿
- fputc(c, stream).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ¥Γ¿ «íÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ ºá»¿ßá¡¡δ⌐ ß¿¼ó«½. 髺óαáΘáѼ«Ñ
- º¡áτÑ¡¿Ñ EOF ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ; «ñ¡á¬«, »«ß¬«½∞¬π º¡áτÑ-
- ¡¿Ñ EOF ∩ó½∩ÑΓß∩ Γá¬ªÑ ¿ßΓ¿¡¡δ¼ µÑ½δ¼ º¡áτÑ¡¿Ñ¼, Γ« ñ½∩ »α«óÑન
- ß«ú½áΦÑ¡¿⌐ «í «Φ¿í¬Ñ ¿ß»«½∞ºπεΓ Σπ¡¬µ¿ε ferror.
-
- çá¼Ñτá¡¿Ñ! Åα«µÑñπαδ fputc ¿ fputchar ¿ñÑ¡Γ¿τ¡δ putc ¿
- putchar, ¡« «¡¿ ∩ó½∩εΓß∩ Σπ¡¬µ¿∩¼¿, á ¡Ñ ¼á¬α«.
- æ¼. Γá¬ªÑ fgetc, fgetchar, putc, putchar.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- char buffer[81];
- int i;
-
- - 113 -
-
-
- int ch;
-
-
- .
- .
- .
- /* æ½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ ºá»¿ßδóáεΓ ß«ñÑন¼«Ñ íπΣÑαá ó »«-
- Γ«¬. çá¼ÑΓ¿¼, τΓ« óδó«ñ »αÑñßΓáó½Ñ¡ ¬á¬ »«í«τ¡δ⌐ φΣΣÑ¬Γ ó¡πΓα¿
- óΓ«α«ú« óδαáªÑ¡¿∩, á Γá¬ªÑ Γѽ« «»ÑαáΓ«αá »πßΓ«. */
-
- for (i = 0; (i < 81) &&
- ((ch = fputc(buffer[i], stream)) != EOF); i++)
- ;
-
- /* é »α¿óÑñÑ¡¡«¼ óδΦÑ «»ÑαáΓ«αÑ ñ½∩ ºá»¿ß¿ íπΣÑαá ó »«Γ«¬
- stdout ¼«ª¡« í佫 íδ ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ« "fputc (stream)" Σπ¡¬µ¿ε
- "fputchar ()".*/
-
-
- FPUTS
-
- #include <stdio.h>
- int fputs (string, stream); ºá»¿ßδóáÑΓ ßΓ᫬e ó »«Γ«¬
- stream.
- char *string; óδó«ñ¿¼á∩ ßΓ᫬á.
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fputs ¬«»¿απÑΓ ßΓ᫬π ó ¬«¡Ñµ »«Γ«¬á stream. ìπ½Ñ-
- ó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ '\0' ¡Ñ ¬«»¿απÑΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fputs ó«ºóαáΘáÑΓ »«ß½Ññ¡¿⌐ ºá»¿ßá¡¡δ⌐ ß¿¼ó«½. àß½¿
- óó«ñ¿¼á∩ ßΓ᫬á string »πßΓá∩, ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ 0. ç¡áτÑ¡¿Ñ
- EOF ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ.
- æ¼. Γá¬ªÑ fgets, gets, puts.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- int result;
- .
- .
- .
- /* æ½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá»¿ßδóáÑΓ ßΓ᫬π ó »«Γ«¬ */
-
- result = fputs("Σá⌐½ ñá¡¡δσ ñ«½ªÑ¡ íδΓ∞ «í¡«ó½Ñ¡\n",stream).
-
-
-
-
- - 114 -
-
- FREAD
-
-
- #include <stdio.h>
- int fread (buffer, size, count, stream);
-
- char *buffer; »á¼∩Γ∞ ñ½∩ αẼÑΘÑ¡¿∩ ñá¡¡δσ.
- int size; αẼÑα ó íá⌐Γáσ.
- int count; ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« «íΩÑ¬Γ«ó ñ½∩ τΓÑ¡¿∩.
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ:
-
- äá¡¡á∩ Σπ¡¬µ¿∩ τ¿ΓáÑΓ «íΩѬΓδ αẼÑαá size »« ßτÑΓτ¿¬π
- count ¿º óσ«ñ¡«ú« »«Γ«¬á stream ¿ αáß»«½áúáÑΓ ¿σ ó íπΣÑαÑ buffer.
- ô¬áºáΓѽ∞ ¡á Σá⌐½, ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼ stream (Ñß½¿ «¡ ÑßΓ∞),
- πóѽ¿τ¿óáÑΓß∩ ¡á τ¿ß½« »α«τ¿Γá¡¡δσ íá⌐Γ«ó. àß½¿ óδíαá¡¡δ⌐ »«Γ«¬
- «Γ¬αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ¬«¼í¿¡áµ¿∩ "éè - Åæ" ºá¼Ñ¡∩ÑΓß∩ ¡á
- ß¿¼ó«½ "Åæ". ¥Γá ºá¼Ñ¡á ¡Ñ ó½¿∩ÑΓ ¡¿ ¡á π¬áºáΓѽ∞ ¡á Σá⌐½, ¡¿ ¡á
- ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fread ó«ºóαáΘáÑΓ τ¿ß½« ñÑ⌐ßΓó¿Γѽ∞¡« »α«τ¿Γá¡¡δσ
- «íΩÑ¬Γ«ó, ¬«Γ«α«Ñ ¼Ñ¡∞ΦÑ, τѼ count, Ñß½¿ »α¿ τΓÑ¡¿¿ 󫺡¿¬½á
- «Φ¿í¬á ¿½¿ óßΓαÑΓ¿½ß∩ ¬«¡Ñµ Σá⌐½á.
- æ¼. Γá¬ªÑ fwrite, read.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
-
- FILE *stream;
- long list[100];
- int numread;
-
- stream = fopen("data", "r+b");
-
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α »«ºó«½∩ÑΓ ßτ¿ΓáΓ∞ 100 ñó«¿τ¡δσ ñ½¿¡-
- ¡δσ µÑ½δσ ¿º »«Γ«¬á stream */
-
- numread = fread((char *)list, sizeof(long), 100, stream);.
-
-
- FREE
-
- #include <maloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿.
-
- void free(ptr);
- char *ptr; π¬áºáΓѽ∞ ¡á ºáσóáτÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ free «ßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿. Çαúπ¼Ñ¡Γ ptr π¬áºδóá-
- ÑΓ ¡á αá¡ÑÑ ºáσóáτÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿ »«ßαÑñßΓó«¼ ó맮óá calloc,
- malloc, realloc. ù¿ß½«¼ «ßó«í«ªñÑ¡¡δσ íá⌐Γ«ó ∩ó½∩ÑΓß∩ τ¿ß½« íá⌐-
- Γ«ó, «»αÑñѽѡ¡δσ »α¿ ºáσóáΓÑ í½«¬á (¿½¿ »ÑαѺáσóáΓÑ). Å«ß½Ñ óδ-
-
- - 115 -
-
-
- º«óá «ßó«í«ñ¿óΦ¿⌐ß∩ í½«¬ ñ«ßΓπ»Ñ¡ ñ½∩ ºáσóáΓá.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ calloc, malloc, realloc.
-
- çá¼Ñτá¡¿Ñ! Å«»δΓ¬á «ßó«í«ñ¿Γ∞ ¡ÑóÑα¡δ⌐ ptr (π¬áºáΓѽ∞ ¡Ñ
- ºáσóáΓδóáÑΓß∩ »«ßαÑñßΓó«¼ ó맮óá calloc, malloc ¿½¿ realloc) ¼«-
- ªÑΓ »α¿óÑßΓ¿ ¬ ß½ÑñπεΘѼπ ºáσóáΓπ ¿ óδºóáΓ∞ «Φ¿í¬π.
-
- Åα¿¼Ñα.
-
- #include <malloc.h>
- #include <stdio.h>
-
- char *alloc;
-
- /* ºáσóáΓδóáÑΓ 100 íá⌐Γ«ó ¿ «ßó«í«ªñáÑΓ ¿σ */
-
- if ((alloc=malloc(100))==NULL
-
- /* »α«óÑα∩ÑΓ ¡á »αáó¿½∞¡«ßΓ∞ π¬áºáΓѽ∩ */
-
- printf("unable to allocate memory\n");
- else {
- .
- .
- .
- free(alloc);
-
- /* «ßó«í«ªñáÑΓ »á¼∩Γ∞ ñ½∩ heap */
-
- }
-
-
- _FREECT
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
-
- unsigned int _freect(size);
- unsigned int size; αẼÑα «íΩѬΓá ó íá⌐Γáσ.
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ _freect ß««íΘáÑΓ « ¬«½¿τÑßΓóÑ »á¼∩Γ¿, »α¿ú«ñ¡«⌐ ñ½∩
- αẼÑΘÑ¡¿∩ ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ¿, ¿ ó«ºóαáΘáÑΓ »α¿í½¿º¿Γѽ∞¡«Ñ ¬«-
- ½¿τÑßΓó« ó맮ó«ó ó »α«úαá¼¼Ñ malloc ñ½∩ αẼÑΘÑ¡¿∩ «íΩѬΓá ºáñá¡-
- ¡«ú« αẼÑαá ó π¼á½τ¿óáѼ«¼ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ.
-
-
-
- - 116 -
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ _freect ó«ºóαáΘáÑΓ τ¿ß½« ó맮ó«ó ¬á¬ íѺº¡á¬«ó«Ñ
- µÑ½«Ñ.
- æ¼.Γá¬ªÑ calloc, _expand, malloc, _memavl, _msize, realloc.
-
-
- Åα¿¼Ñα.
-
- main()
- {
- int i;
- printf("Approximate # of times program can call
- malloc\n");
- printf("to allocate a single integer=%u\n\n",
- _freect(sizeof(int)));
-
- /* óδºδóáÑΓ 1000 αẠmalloc, αẼÑΘá∩ ¬áªñδ⌐ αẠ«Γñѽ∞¡«Ñ
- µÑ½«Ñ */
-
- for (i=0; i<1000; ++i)
- malloc(sizeof(int));
-
- printf("Approximate # of times program can call
- malloc\n");
- printf("to allocate a single integer=%u\n",
- _freect(sizeof(int)));
-
- }
-
-
- FREOPEN
-
- #include <stdio.h>
- FILE *freopen (pathname, type, stream);
-
- char *pathname; path-¿¼∩ ¡«ó«ú« Σá⌐½á.
- char *type; αáºαÑΦÑ¡¡δ⌐ Γ¿» ñ«ßΓπ»á.
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ freopen ºá¬αδóáÑΓ ΓѬπΘ¿⌐ Σá⌐½, ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼
- stream, ¿ »ÑαѡạáτáÑΓ φëà »«Γ«¬ ó Σá⌐½, «»αÑñѽ∩Ѽδ⌐ path-¿¼Ñ-
- ¡Ñ¼. ¥Γá Σπ¡¬µ¿∩ «íδτ¡« »α¿¼Ñ¡∩ÑΓß∩ ñ½∩ »ÑαÑáñαÑßᵿ¿ »αÑñ«Γ¬αδ-
- Γδσ »«Γ«¬«ó stdin, stdout, stderr, stdaux, stdprn ó Σá⌐½δ, «»αÑ-
- ñѽ∩ѼδÑ »«½∞º«óáΓѽѼ. ì«óδ⌐ Σá⌐½, ßó∩ºá¡¡δ⌐ ß »«Γ«¬«¼, «Γ¬αδóá-
- ÑΓß∩ ó αѪ¿¼Ñ type, ¬«Γ«αδ⌐ «»αÑñѽѡ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
-
- ÆêÅ ÄÅêæÇìêà
-
- "r" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ τΓÑ¡¿∩.(¥Γ«Γ Σá⌐½ ñ«½ªÑ¡
- ßπΘÑßΓó«óáΓ∞).
-
-
- - 117 -
-
-
- "w" «Γ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ ºá»¿ß¿; Ñß½¿ φΓ«Γ
- Σá⌐½ αá¡ÑÑ ßπΘÑßΓó«óá½, Ñú« ß«ñÑন¼«Ñ
- π¡¿τΓ«ªáÑΓß∩.
-
- "a" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ ºá»¿ß¿ (ñ«íáó½Ñ¡¿∩) ó
- ¬«¡Ñµ. àß½¿ ñá¡¡«ú« Σá⌐½á ¡ÑΓ, Γ« ó¡áτá½Ñ
- «¡ ß«ºñáÑΓß∩.
-
- "r+" «Γ¬αδΓ∞ Σá⌐½ «ñ¡«óαѼѡ¡« ñ½∩ τΓÑ¡¿∩ ¿
- ºá»¿ß¿. öá⌐½ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞.
-
- "w+" «Γ¬αδΓ∞ »πßΓ«⌐ Σá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿.
- àß½¿ φëà Σá⌐½ αá¡ÑÑ ßπΘÑßΓó«óá½, Ñú«
- ß«ªÑন¼«Ñ π¡¿τΓ«ªáÑΓß∩.
-
- "a+" «Γ¬αδΓ∞ Σá⌐½ ñ½∩ τΓÑ¡¿∩ ¿ ñ«íáó½Ñ¡¿∩.
- àß½¿ Σá⌐½á ¡ÑΓ, ó¡áτá½Ñ «¡ ß«ºñáÑΓß∩.
-
- çá¼Ñτá¡¿Ñ! ìπª¡« ó¡¿¼áΓѽ∞¡« »α¿¼Ñ¡∩Γ∞ αѪ¿¼δ "w", "w+",
- Γᬠ¬á¬ «¡¿ ¼«úπΓ π¡¿τΓ«ª¿Γ∞ ßπΘÑßΓóπεΘ¿Ñ Σá⌐½δ.
-
- àß½¿ Σá⌐½ «Γ¬αδΓ »α¿ »«¼«Θ¿ Γ¿»á "a" ¿½¿ "a+", óßÑ «»Ñαᵿ¿
- ºá»¿ß¿ óδ»«½¡∩εΓß∩ ó ¬«¡Ñµ Σá⌐½á. Åα¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿⌐ fseek
- ¿½¿ rewind 󫺼«ª¡« »ÑαÑ»«º¿µ¿«¡¿α«óá¡¿Ñ π¬áºáΓѽ∩ ¡á Σá⌐½; ¡Ñß-
- ¼«Γα∩ ¡á φΓ«, π¬áºáΓѽ∞ ¡á Σá⌐½ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ½εíδσ «»Ñαᵿ⌐
- ºá»¿ß¿ óßÑúñá ó«ºóαáΘáÑΓß∩ ó ¬«¡Ñµ Σá⌐½á. Æá¬¿¼ «íαẫ¼, ßπΘÑßΓ-
- óπεΘ¿Ñ ñá¡¡δÑ ¡Ñ íπñπΓ »ÑαѺỿßá¡δ. Åα¿ ¿ß»«½∞º«óá¡¿¿ Γ¿»«ó
- "r+', "w+", "a+" ñ«»π߬áÑΓß∩ «ñ¡«óαѼѡ¡« τΓÑ¡¿Ñ ¿ ºá»¿ß∞. (â«ó«-
- α¿Γß∩, τΓ« Σá⌐½ «Γ¬αδóáÑΓß∩ ñ½∩ «í¡«ó½Ñ¡¿∩). Å«φΓ«¼π »α¿ »ÑαѬ-
- ½ετÑ¡¿¿ τΓÑ¡¿∩ ¡á ºá»¿ß∞ ¿ ¡á«í«α«Γ ¡πª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿
- fseek ¿½¿ rewind. ä½∩ Σπ¡¬µ¿¿ fseek (»α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿) ¼«ªÑΓ
- íδΓ∞ Γ«τ¡« «»αÑñѽѡá ΓѬπΘá∩ »«º¿µ¿∩.
- ä«»«½¡¿Γѽ∞¡« ¬ º¡áτÑ¡¿∩¼, «»¿ßá¡¡δ¼ óδΦÑ, ¼«ªÑΓ íδΓ∞ ñ«-
- íáó½Ñ¡ ó ßΓα«¬Ñ type «ñ¿¡ ¿º ß½ÑñπεΘ¿σ ß¿¼ó«½«ó, τΓ«íδ ߻ѵ¿Σ¿µ¿-
- α«óáΓ∞ ß»«ß«í »αÑ«íαẫóá¡¿∩ ß¿¼ó«½á ¡«ó«⌐ ßΓ᫬¿.
-
- æ¿¼ó«½ ç¡áτÑ¡¿Ñ
-
- t «Γ¬αδΓ∞ ó ΓѬßΓ«ó«¼ (»αÑ«íαáºπεΘѼ)
- αѪ¿¼Ñ; »α¿ óó«ñÑ ¬«¼í¿¡áµ¿∩ "髺óαáΓ
- ¬áαÑΓ¬¿ - »ÑαÑó«ñ ßΓ᫬¿"
- »αÑ«íαẫóδóáÑΓß∩ ¬ Ññ¿¡ßΓóÑ¡¡«¼π ß¿¼ó«½π
- "»ÑαÑó«ñá ßΓ᫬¿". Åα¿ óδó«ñÑ ß¿¼ó«½
- »ÑαÑó«ñá ßΓ᫬¿ »αÑ«íαẫóδóáÑΓß∩ ó
- ¬«¼í¿¡áµ¿ε éè-Åæ.
-
- b «Γ¬αδΓ∞ ó ñó«¿τ¡«¼ (¡Ñ»αÑ«íαáºπεΘѼ)
- αѪ¿¼Ñ; óδΦÑ «»¿ßá¡¡δÑ »αÑ«íαẫóá¡¿∩ ¡Ñ
- «ßπΘÑßΓó½∩εΓß∩.
-
- àß½¿ t ¿½¿ b ó ßΓα«¬Ñ type ¡Ñ ºáñáÑΓß∩, αѪ¿¼ »αÑ«íαẫóá-
- ¡¿∩ «»αÑñѽ∩ÑΓß∩ »ÑαѼѡ¡«⌐ _fmode ¿ αѪ¿¼«¼, πßΓá¡áó½¿óáÑ¼δ¼ »«
- π¼«½τá¡¿ε.
-
-
-
- - 118 -
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ freopen ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ó¡«ó∞ «Γ¬αδΓδ⌐
- Σá⌐½. àß½¿ 󫺡¿¬½á «Φ¿í¬á, »αѪ¡¿⌐ Σá⌐½ ºá¬αδóáÑΓß∩ ¿ Σπ¡¬µ¿∩
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ π¬áºáΓѽ∩ NULL.
- æ¼. Γá¬ªÑ fclose, fcloseall, fdopen, fileno, fopen, open,
- setmode.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá¬αδóáÑΓ »«Γ«¬ stdout ¿ »Ñαѡạáτá-
- ÑΓ φëà »«Γ«¬ π¬áºáΓÑ½ε »«Γ«¬á. */
-
- stream = freopen ("data2", "w+", stdout);.
-
-
- FREXP
-
- #include <math.h>
-
- double frext(x,expptr);
- double x; º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
- int *expptr; π¬áºáΓѽ∞ ¡á µÑ½πε φ¬ß»«¡Ñ¡Γπ.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ frexp αáºαδóáÑΓ º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ x ¡á
- ¼á¡Γ¿ßßπ m ¿ φ¬ß»«¡Ñ¡Γπ n, ΓᬠτΓ« áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ m í«½∞ΦÑ
- ¿½¿ αáó¡« 0.5 ¿ ¼Ñ¡∞ΦÑ 10 ¿ x αáóÑ¡ m, π¼¡«ªÑ¡¡πε ¡á 2 ó ßΓѻѡ¿
- n. ûѽ«Ñ º¡áτÑ¡¿Ñ φ¬ß»«¡Ñ¡Γδ n σαá¡¿Γß∩ ó αáß»«½«ªÑ¡¿¿, π¬áºá¡¡«¼
- »« expptr.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ frext ó«ºóαáΘáÑΓ ¼á¡Γ¿ßßπ m. àß½¿ x αáóÑ¡ 0, Σπ¡¬-
- µ¿∩ ó«ºóαáΘáÑΓ 0 ñ½∩ ¼á¡Γ¿ßßδ ¿ φ¬ß»«¡Ñ¡Γδ. 髺óαáΘáѼ«ú« º¡áτÑ-
- ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ ldex, modf.
-
- Åα¿¼Ñα.
-
- #include <math.h>
-
- double x,y;
- int n;
- .
- .
- .
-
- - 119 -
-
-
- x = 16.4;
- /* y íπñÑΓ αáóÑ¡ .5125, n íπñÑΓ αáó¡« 5 */
- y = frexp(x,&n);
-
-
- FSCANF.
-
- #include <stdio.h>
- int fscanf (stream, format-string [, argument ...]);
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
- char *format-string; ßΓ᫬á π»αáó½Ñ¡¿∩ Σ«α¼áΓ«¼.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fscanf ßτ¿ΓδóáÑΓ ñá¡¡δÑ ¿º ΓѬπΘÑ⌐ »«º¿µ¿¿ »«Γ«¬á
- stream ó ¼ÑßΓ«, «»αÑñѽ∩Ѽ«Ñ ºáñ᡿Ѽ áαúπ¼Ñ¡Γ«ó arguments (Ñß½¿
- «¡¿ ÑßΓ∞).
- èáªñδ⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á »ÑαѼѡ¡πε ¿ Γ¿»,
- ¬«Γ«αδÑ ß««ΓóÑΓßΓóπεΓ Γ¿»π, ºáñá¡¡«¼π ó ßΓα«¬Ñ Σ«α¼áΓá. æΓ᫬á
- Σ«α¼áΓá π»αáó½∩ÑΓ ¿¡ΓÑα»αÑΓᵿÑ⌐ »«½Ñ⌐ óó«ñá ¿ ¿¼ÑÑΓ Γπ ªÑ ßá¼πε
- Σ«α¼π ¿ ¡áº¡áτÑ¡¿Ñ, τΓ« ¿ áαúπ¼Ñ¡Γ ßΓ᫬¿ Σ«α¼áΓá ñ½∩ Σπ¡¬µ¿¿
- scanf. (Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿ scanf »α¿ó«ñ¿Γß∩ ¡¿ªÑ ó ñá¡¡«⌐ τáßΓ¿ απ-
- ¬«ó«ñßΓóá).
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- äá¡¡á∩ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ τ¿ß½« πñáτ¡« »αÑ«íαẫóá¡¡δσ ¿
- »αáó¿½∞¡« ¡áº¡áτÑ¡¡δσ »«½Ñ⌐. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¡Ñ ó¬½ετáÑΓ
- »«½Ñ⌐, »α«τ¿Γá¡¡δσ, ¡« ¡Ñ ¡áº¡áτÑ¡¡δσ. Åα¿ »«»δ⪥ ßτ¿Γδóá¡¿∩
- ¬«¡µá Σá⌐½á ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ EOF. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0
- «í«º¡áτáÑΓ, τΓ« ¡ÑΓ ¡áº¡áτÑ¡¡δσ »«½Ñ⌐.
- æ¼. Γá¬ªÑ cscanf, fprintf, scanf, sscanf.
-
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- long l;
- float fp;
- char s[81];
- char c;
-
- stream = fopen ("data", "r");
- .
- .
- .
- /* óó«ñ αẽ¿τ¡δσ ñá¡¡δσ */
-
- fscanf (stream, "%s", s);
-
- fscanf (stream, "%c", &c);
-
- - 120 -
-
-
-
- fscanf (stream, "%ld", &l);
-
- fscanf (stream, "%f", &fp);.
-
-
- FSEEK.
-
- #include <stdio.h>
- int fseek (stream, offset, origin);
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- long offset; τ¿ß½« íá⌐Γ«ó «Γ origin.
- int origin; ¡áτá½∞¡á∩ »«º¿µ¿∩.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fseek »ÑαѼÑΘáÑΓ π¬áºáΓѽ∞, ß««ΓóÑΓßΓóπεΘ¿⌐ »«Γ«¬π
- stream, ¡á ¡«ó«Ñ ¼ÑßΓ« αáß»«½«ªÑ¡¿∩, «ΓßΓ«∩ΘÑÑ «Γ origin ¡á
- offset íá⌐Γ«ó. æ½ÑñπεΘá∩ «»Ñαᵿ∩ ó »«Γ«¬Ñ óδ»«½¡∩ÑΓß∩ ¡áñ ¡«óδ¼
- ¼ÑßΓ«αáß»«½«ªÑ¡¿Ñ¼.
- àß½¿ »«Γ«¬ «Γ¬αδΓ ñ½∩ «í¡«ó½Ñ¡¿∩, Γ« ß½ÑñπεΘÑ⌐ «»ÑαᵿÑ⌐
- íπñÑΓ ½¿í« τΓÑ¡¿Ñ, ½¿í« ºá»¿ß∞.
- Çαúπ¼Ñ¡Γ origin ¼«ªÑΓ íδΓ∞ «ñ¡«⌐ ¿º ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ, «»-
- αÑñѽѡ¡δσ ó <stdio.h>.
-
-
- ORIGIN ÄÅÉàäàïàìêà
- (¿ßΓ«τ¡¿¬, ¡áτὫ)
-
- SEEK-SET ¡áτὫ Σá⌐½á.
-
- SEEK-CUR ΓѬπΘá∩ »«º¿µ¿∩ π¬áºáΓѽ∩ ¡á
- Σá⌐½.
-
- SEEK-END ¬«¡Ñµ Σá⌐½á.
-
- öπ¡¬µ¿∩ fseek ¿ß»«½∞ºπÑΓß∩ ñ½∩ »ÑαѼÑΘÑ¡¿∩ π¬áºáΓѽ∩ ó ½ε-
- í«Ñ ¼ÑßΓ« Σá⌐½á. ô¬áºáΓѽ∞ ¼«ªÑΓ íδΓ∞ Γá¬ªÑ αẼÑΘÑ¡ ºá ¬«¡µ«¼
- Σá⌐½á. Äñ¡á¬«, »«»δΓ¬á αáß»«½«ª¿Γ∞ π¬áºáΓѽ∞ ñ« ¡áτá½á Σá⌐½á
- »α¿óÑñÑΓ ¬ «Φ¿í¬Ñ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fseek ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, Ñß½¿ π¬áºáΓѽ∞ πß»ÑΦ¡«
- »ÑαѼÑΘÑ¡. é ß½πτáÑ «Φ¿í¬¿ ó«ºóαáΘáÑΓß∩ ½εí«Ñ ¡Ñ¡π½Ñó«Ñ º¡áτÑ-
- ¡¿Ñ. ä½∩ πßΓα«⌐ßΓó, ¡Ñ ß«ó¼ÑßΓ¿¼δσ ß «»ÑαᵿÑ⌐ seek, (Γᬿσ ¬á¬
- ΓÑନ¡á½ ¿ »ÑτáΓ∞), ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¡Ñ«»αÑñѽѡ«.
- æ¼. Γá¬ªÑ ftell, lseek, rewind.
-
- çá¼Ñτá¡¿Ñ! ä½∩ »«Γ«¬«ó, «Γ¬αδΓδσ ó ΓѬßΓ«ó«¼ (»αÑ«íαáºπε-
- ΘѼ) αѪ¿¼Ñ, »α¿¼Ñ¡Ñ¡¿Ñ fseek ∩ó½∩ÑΓß∩ «úαá¡¿τÑ¡¡δ¼, Γ.¬. ¬«¼í¿-
- ¡áµ¿¿ éè - Åæ ¼«úπΓ ßΓáΓ∞ »α¿τ¿¡«⌐ óδαáí«Γ¬¿ ¡Ñ»αÑñó¿ñÑ¡¡«ú« αÑ-
- ºπ½∞ΓáΓá.
-
- - 121 -
-
-
- ì¿ªÑ »α¿óÑñÑ¡δ «»Ñαᵿ¿ (ñÑ⌐ßΓó¿∩) fseek, úáαá¡Γ¿απεΘ¿Ñ αá-
- í«Γπ ß »«Γ«¬á¼¿, «Γ¬αδΓ묨 ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ:
- * ß¼ÑΘÑ¡¿Ñ origin ¡á óѽ¿τ¿¡π offset, αáó¡πε ¡π½ε;
-
- * ß¼ÑΘÑ¡¿Ñ «Γ ¡áτá½á Σá⌐½á ¡á º¡áτÑ¡¿Ñ offset, »«½πτÑ¡¡«Ñ
- »«ß½Ñ ó맮óá Σπ¡¬µ¿¿ ftell.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- int result;
-
- stream = fopen("data", "r");
- .
- .
- .
- /* ß½ÑñπΘ¿⌐ «»ÑαáΓ«α ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á Σá⌐½ ¬ ¡áτá½π
- Σá⌐½á */
-
- result = fseek(stream, 0L, SEEK_SET);.
-
-
- FSTAT
-
-
- #include <sys\types.h>
- #include <sys\stat.h>
-
- int fstat(handle,buffer);
- int handle; handle-α, ßßδ½áεΘ¿⌐ß∩ ¡á «Γ¬αδΓδ⌐ Σá⌐½.
- struct stat *buffer; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ σαá¡Ñ¡¿∩ αÑ-
- ºπ½∞ΓáΓ«ó.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fstat »«½πτáÑΓ ¿¡Σ«α¼áµ¿ε «í «Γ¬αδΓ«¼ Σá⌐½Ñ, ßó∩-
- ºá¡¡δ¼ ß ñá¡¡δ¼ handle-α«¼, ¿ ºá»«¼¿¡áÑΓ ÑÑ ó ßΓαπ¬ΓπαÑ, ¡á ¬«Γ«-
- απε π¬áºδóáÑΓ buffer. æΓαπ¬Γπαá, Γ¿» stat ¬«Γ«α«⌐ «íΩ∩ó½Ñ¡ ó
- <sys\stat.h>, ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩:
-
-
- Å«½Ñ ç¡áτÑ¡¿Ñ
-
- st_mode ü¿Γ«óá∩ ¼á߬á ñ½∩ ¿¡Σ«α¼áµ¿¿ « αѪ¿¼Ñ
- Σá⌐½á. ü¿Γ S_IFCHR πßΓá¡áó½¿óáÑΓß∩,
- Ñß½¿ handle ßßδ½áÑΓß∩ ¡á πßΓα«⌐ßΓó«.
- ü¿Γ S_IFREG πßΓá¡áó½¿óáÑΓß∩, Ñß½¿
- handle ßßδ½áÑΓß∩ ¡á «íδτ¡δ⌐ Σá⌐½. ü¿Γδ
- τΓÑ¡¿∩/ºá»¿ß¿ »«½∞º«óáΓѽÑ⌐ πßΓá¡áó½¿-
- óáεΓß∩ ß««ΓóÑΓßΓóÑ¡¡« αѪ¿¼π ñ«ßΓπ»á
- ñ½∩ Σá⌐½á.
-
- st_dev ï¿í« ¡«¼Ñα πßΓα«⌐ßΓóá ñ¿ß¬á,ß«ñÑαªáΘÑú«
-
- - 122 -
-
-
- Σá⌐½, ½¿í« handle - ó ß½πτáÑ ñαπú«ú«
- πßΓα«⌐ßΓóá.
-
- st_rdev ï¿í« ¡«¼Ñα πßΓα«⌐ßΓóá ñ¿ß¬á,ß«ñÑαªáΘÑú«
- Σá⌐½, ½¿í« handle - ó ß½πτáÑ ñαπú«ú«
- πßΓα«⌐ßΓóá
- (á¡á½«ú¿τ¡« st_dev).
-
- st_nlink éßÑúñá 1.
-
- st_size ÉẼÑα Σá⌐½á ó íá⌐Γáσ.
-
- st_atime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á.
-
- st_mtime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á
- (á¡á½«ú¿τ¡« st_atime).
-
- st_ctime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á
- (á¡á½«ú¿τ¡« st_atime ¿ st_mtime).
-
-
- é ßΓαπ¬ΓπαÑ Γ¿»á stat ßπΘÑßΓóπεΓ Γα¿ ñ«»«½¡¿Γѽ∞¡δσ »«½∩,
- ¬«Γ«αδÑ ñ½∩ MS DOS ¡Ñ ¿¼ÑεΓ ß¼δß½á.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ fstat ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, Ñß½¿ ¿¡Σ«α¼áµ¿∩ « ßΓá-
- ΓπßÑ Σá⌐½á »«½πτÑ¡á. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
- «Φ¿í¬Ñ; ó φΓ«¼ ß½πτáÑ errno πßΓá¡áó½¿óáÑΓß∩ ó EBADF, «»αÑñѽ∩∩
- ΓѼ ßá¼δ¼ ¡ÑóÑα¡δ⌐ Σá⌐½«óδ⌐ handle.
- æ¼.Γá¬ªÑ access, chmode, filelength, stat.
-
- çá¼Ñτá¡¿Ñ! àß½¿ ºáñá¡¡δ⌐ handle ßßδ½áÑΓß∩ ¡á πßΓα«⌐ßΓó«,
- »«½∩ αẼÑαá ¿ óαѼѡ¿ ó ßΓαπ¬ΓπαÑ stat ¡Ñ ¿¼ÑεΓ ß¼δß½á.
-
- Åα¿¼Ñα.
-
- #include <fcntl.h>
- #include <sys\types.h>
- #include <sys\stat.h>
- #include <stdio.h>
-
- struct stat buf;
- int fh, result;
-
- fh=open("tmp/data", O_RDONLY);
- .
- .
- .
- result=fstat(fh,&buf);
-
- if (result==0)
- printf("file size is %ld\n",buf.st_size);
-
-
-
- - 123 -
-
-
- FTELL
-
- #include <stdio.h>
-
- long ftell (stream);
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ftell »«½πτáÑΓ ΓѬπΘπε »«º¿µ¿ε π¬áºáΓѽ∩ ¡á Σá⌐½
- (Ñß½¿ «¡ ÑßΓ∞), ßó∩ºá¡¡«ú« ß »«Γ«¬«¼ stream. Å«º¿µ¿∩ óδαáªáÑΓß∩
- ¬á¬ ß¼ÑΘÑ¡¿Ñ offset «Γ ¡áτá½á »«Γ«¬á stream.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε. é ß½πτáÑ «Φ¿í¬¿
- ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ -1L. ä½∩ πßΓα«⌐ßΓó, ¡Ñ ß«ó¼ÑßΓ¿¼δσ ß «»Ñαá-
- µ¿Ñ⌐ seek (Γᬿσ ¬á¬ ΓÑନ¡á½δ ¿ »ÑτáΓ∞), ¿½¿ ¬«úñá »«Γ«¬ stream
- ¡Ñ ßßδ½áÑΓß∩ ¡á «Γ¬αδΓδ⌐ Σá⌐½, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ¡Ñ«»αÑñѽÑ-
- ¡«.
- æ¼. Γá¬ªÑ fseek, lseek, tell.
-
- çá¼Ñτá¡¿Ñ! ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ fteel, Σ¿º¿τÑ߬¿ ¡Ñ «Γαá-
- ªáÑΓ íá⌐Γ«ó«ú« ß¼ÑΘÑ¡¿∩ offset ñ½∩ »«Γ«¬á, «Γ¬αδΓ«ú« ó ΓѬßΓ«ó«¼
- αѪ¿¼Ñ, Γ.¬. ΓѬßΓ«óδ⌐ αѪ¿¼ »αÑ«íαáºπÑΓ ¬«¼í¿¡áµ¿¿ éè - Åæ. êß-
- »«½∞ºπ⌐ΓÑ Σπ¡¬µ¿ε ftell ó¼ÑßΓÑ ß fseek, τΓ«íδ ¬«ααÑ¬Γ¡« ºá»«¼¡¿Γ∞
- ¿ ó«ßßΓá¡«ó¿Γ∞ ¼ÑßΓ«αáß»«½«ªÑ¡¿∩ π¬áºáΓѽ∩ ¡á Σá⌐½.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
-
- long position;
-
- stream = fopen ("data", "rb");
- .
- .
- .
- position = fteel(stream);.
-
-
- FTIME
-
- #include <sys\types.h>
- #include <sys\timeb.h>
-
- void ftime(timeptr);
- struct timeb *timeptr; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ, «»¿ßá¡¡πε ó
- <sys\timeb.h>.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ ftime óδßóÑτ¿óáÑΓ ΓѬπΘÑÑ óαѼ∩ ¿ σαá¡¿Γ Ñú« ó
-
- - 124 -
-
-
- ßΓαπ¬ΓπαÑ, ¡á ¬«Γ«απε π¬áºδóáÑΓ timeptr. æΓαπ¬Γπαá timeb «»¿ßá¡á
- ó <sys\timeb.h>. Ä¡á ß«ñÑαª¿Γ 4 »«½∩: time, millitm, timezone,
- dstflag, ¬«Γ«αδÑ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- ÅÄïà çìÇùàìêà
-
- time éαѼ∩, ó ßѬπ¡ñáσ, »α«ΦÑñΦÑÑ «Γ
- º¡áτÑ¡¿∩ 00:00:00 óαѼѡ¿ »«
- âα¿¡ó¿τπ, Γ.Ñ. ß 1∩¡óáα∩ 1970 ú.
-
- millitm æ«Γá∩ ñ«½∩ ßѬπ¡ñδ.
-
- timezone Éạ«ßΓ∞ ó ¼¿¡πΓáσ (ó ¡á»αáó½Ñ¡¿¿
- ¬ ºá»áñπ) ¼Ñªñπ º¡áτÑ¡¿Ñ¼ óαѼѡ¿
- »« âα¿¡ó¿τπ ¿ ¼ÑßΓ¡δ¼ óαѼѡѼ.
- ç¡áτÑ¡¿Ñ timezone «»αÑñѽ∩ÑΓß∩ ¿º
- º¡áτÑ¡¿∩ timezone (ß¼. tzset).
-
- dstflag ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ º«¡á
- »ÑαÑσ«ñá ¡á º¿¼¡ÑÑ/½ÑΓ¡ÑÑ óαѼ∩
- »α¿ßπΓßΓóπÑΓ ó º«¡Ñ ¼ÑßΓ¡«ú«
- óαѼѡ¿, ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ ¿º
- º¡áτÑ¡¿∩ ú½«íá½∞¡«⌐ »ÑαѼѡ¡«⌐
- daylight ( ß¼. tzset.)
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ ftime ºáñáÑΓ º¡áτÑ¡¿∩ »«½Ñ⌐ ßΓαπ¬Γπαδ, «»αÑñѽѡ¡«⌐
- »« timeptr. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼. Γá¬ªÑ asctime, ctime, gmtime, localtime, time, tzset.
- Åα¿¼Ñα.
-
- #include <sys\types.h>
- #include <sys\timeb.h>
- #include <stdio.h>
- #include <time.h>
-
- main()
- {
- struct timeb timebuffer;
- char *timeline;
- time(&timebuffer);
-
- timeline = ctime(&(timebuffer, time));
-
- printf ("The time is %.19s.%hu %s",
- timeline, timebuffer.millitm,
- &timeline[20]);
- }
-
- ìá óδσ«ñÑ íπñÑΓ ß½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩:
-
- The time is Wed Dec 04 17:58:29.420 1985.
-
-
- - 125 -
-
-
-
- FWRITE
-
- #include <stdio.h>
-
- int fwrite(buffer, size, count, stream);
- char *buffer; π¬áºáΓѽ∞ ¡á ºá»¿ßδóáѼδÑ ñá¡¡δÑ.
- int size; αẼÑα φ½Ñ¼Ñ¡Γá ó íá⌐Γáσ.
- int count; ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« ºá»¿ßδóáѼδσ φ½Ñ¼Ñ¡Γ«ó.
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ Γ¿»á FILE.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ fwrite ºá»¿ßδóáÑΓ φ½Ñ¼Ñ¡Γδ count ñ½¿¡«⌐ size ¿º
- buffer ó óδσ«ñ¡«⌐ »«Γ«¬ stream. ô¬áºáΓѽ∞ ¡á Σá⌐½, ßó∩ºá¡¡δ⌐ ß«
- stream, πóѽ¿τ¿óáÑΓß∩ ¡á τ¿ß½« ºá»¿ßá¡¡δσ íá⌐Γ«ó.
- àß½¿ ºáñá¡¡δ⌐ stream «Γ¬αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ¬áªñδ⌐ ó«º-
- óαáΓ ¬áαÑΓ¬¿ ºá¼Ñ¡∩ÑΓß∩ »áα«⌐ "髺óαáΓ ¬áαÑΓ¬¿ - »ÑαÑó«ñ ßΓ᫬¿".
- ä½∩ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ Γá¬á∩ ºá¼Ñ¡á ¡Ñ óδ»«½¡∩ÑΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- é ß½πτáÑ «Φ¿í¬¿, Γ.Ñ. Ñß½¿ τ¿ß½« »«½¡«ßΓ∞ε ºá»¿ßá¡¡δσ φ½Ñ-
- ¼Ñ¡Γ«ó ¼Ñ¡∞ΦÑ, τѼ count, Γ«úñá Σπ¡¬µ¿∩ fwrite ó«ºóαáΘáÑΓ φΓ«
- τ¿ß½«.
- æ¼. Γá¬ªÑ fread, write.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- long list[100];
- int numwritten;
-
- stream = fopen("data", "r+b");
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá»¿ßδóáÑΓ 100 ñ½¿¡¡δσ µÑ½δσ ó »«Γ«¬
- ó ñó«¿τ¡«¼ Σ«α¼áΓÑ */
-
- numwritten = fwrite((char *)list, sizeof(long), 100,
- stream);.
-
-
- GCVT
-
- #include <stdio.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿⌐.
-
- char gcvt(value, ndec, buffer);
- double value; »αÑ«íαáºπѼ«Ñ º¡áτÑ¡¿Ñ.
- int ndec; ¬«½¿τÑßΓó« ºá»«¼¿¡áѼδσ º¡áτáΘ¿σ µ¿Σα.
-
- char *buffer; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ αѺπ½∞ΓáΓá.
-
- - 126 -
-
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ gcvt »αÑ«íαẫóδóáÑΓ º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- value ó ß¿¼ó«½∞¡πε ßΓப㠨 ºá»«¼¿¡áÑΓ φΓπ ßΓ᫬π ó íπΣÑαÑ
- buffer. üπΣÑα buffer ñ«½ªÑ¡ íδΓ∞ ñ«ßΓáΓ«τ¡« í«½∞Φ¿¼, τΓ«íδ ß¼«ú
- αẼÑßΓ¿Γ∞ »αÑ«íαẫóá¡¡«Ñ º¡áτÑ¡¿Ñ ó¼ÑßΓÑ ß ¡π½Ñóδ¼ ß¿¼ó«½«¼
- «¬«¡τá¡¿∩ '\0', ¬«Γ«αδ⌐ ñ«íáó½∩ÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿. ÅÑαÑ»«½¡Ñ¡¿Ñ ¡Ñ
- ¬«¡Γα«½¿απÑΓß∩.
- öπ¡¬µ¿∩ gcvt »δΓáÑΓß∩ «íαáí«ΓáΓ∞ ndec º¡áτáΘ¿σ µ¿Σα ó Σ«α-
- ¼áΓÑ FORTRAN F. àß½¿ φΓ« ¡Ñ πñáÑΓß∩, «¡á «íαáíáΓδóáÑΓ º¡áτáΘ¿Ñ
- µ¿Σαδ ó Σ«α¼áΓÑ FORTRAN E. Åα¿ »αÑ«íαẫóá¡¿¿ óÑñπΘ¿Ñ ¡π½¿ »«ñáó-
- ½∩εΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ gcvt ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓα«¬π µ¿Σα. é ß½πτáÑ
- «Φ¿í¬¿ ¡ÑΓ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩.
- æ¼. Γá¬ªÑ atof, atoi, atol, ecvt, fcvt.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
-
- char buffer[50];
- int precision = 7;
-
- /* ó íπΣÑαÑ ß«ñÑনΓß∩ "-314150.0" */
-
- gcvt (-3.1415e5, precision, buffer);.
-
-
- GETC - GETCHAR
-
- #include <stdio.h>
-
- int getc (stream); τ¿ΓáÑΓ ß¿¼ó«½ ¿º »«Γ«¬á stream.
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- int getchar(); τ¿ΓáÑΓ ß¿¼ó«½ ¿º stdin.
-
- Ä»¿ßá¡¿Ñ:
-
- îá¬α« getc τ¿ΓáÑΓ «Γñѽ∞¡δ⌐ ß¿¼ó«½ ¿º ΓѬπΘÑ⌐ »«º¿µ¿¿ »«Γ«-
- ¬á stream ¿ ¿º¼Ñ¡∩ÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ π¬áºáΓѽ∞ ¡á Σá⌐½ ñ½∩ π¬áºá-
- ¡¿∩ ß½ÑñπεΘÑú« ß¿¼ó«½á. îá¬α« getchar ¿ñÑ¡Γ¿τ¡á getc(stdin).
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- îá¬α« getc ¿ getchar ó«ºóαáΘáεΓ »α«τ¿Γá¡¡δ⌐ ß¿¼ó«½. 髺óαá-
- ΘáѼ«Ñ º¡áτÑ¡¿Ñ EOF ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿½¿ «í πß½«ó¿¿ ñ«ß-
- Γ¿ªÑ¡¿∩ ¬«¡µá Σá⌐½á. ä½∩ «»αÑñѽѡ¿∩ ¬áΓÑú«α¿¿ «Φ¿í¬¿ ¿ß»«½∞ºπεΓ-
- ß∩ Σπ¡¬µ¿¿ ferror ¿½¿ feof.
-
- - 127 -
-
-
- æ¼. Γá¬ªÑ fgetc, fgetchar, getch, getche, putc, putchar,
- ungetc.
-
- çá¼Ñτá¡¿Ñ! Åα«µÑñπαδ getc, getchar ¿ñÑ¡Γ¿τ¡δ fgetc,
- fgetchar, ¡« «¡¿ ∩ó½∩εΓß∩ ¼á¬α«, á ¡Ñ Σπ¡¬µ¿∩¼¿.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- FILE *stream;
- char buffer[81];
- int i, ch;
- .
- .
- .
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ »«ºó«½∩εΓ óδí¿αáΓ∞ ΓαÑíπѼπε óó«ñ¿-
- ¼πε ßΓα«¬π ¿º stdin */
-
- for (i = 0; (i < 80) && ((ch = getchar ()) != EOF) &&
- (ch != '\n'); i++)
- buffer [i] = ch;
-
- buffer[i] = '\0';
-
- /* ñ½∩ óó«ñá ßΓ᫬ ¿º »«Γ«¬á stdin ó «»ÑαáΓ«αáσ, »α¿óÑñÑ¡-
- ¡δσ óδΦÑ, ¼«ª¡« ó¼ÑßΓ« "getchar ()" ¿ß»«½∞º«óáΓ∞ "getc(stdin)".
- */
-
-
- GETCH
-
- #include <conio.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿.
-
- int getch();
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getch τ¿ΓáÑΓ íѺ φσ«-«Γ«íαáªÑ¡¿∩ «Γñѽ∞¡δ⌐ ß¿¼ó«½
- »α∩¼« ß ¬«¡ß«½¿. ìá»ÑτáΓá¡¡δÑ (óóÑñÑ¡¡δÑ) ß¿¼ó«½δ ¡Ñ ¿¼ÑεΓ
- φσ«-«Γ«íαáªÑ¡¿∩. àß½¿ óóÑñÑ¡ CONTROLL-C, ß¿ßΓѼá óδ»«½¡∩ÑΓ INT
- 23H.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ getch ó«ºóαáΘáÑΓ »α«τ¿Γá¡¡δ⌐ ß¿¼ó«½. 髺óαáΘáѼ«ú«
- º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ cgets, getche, getchar.
-
-
- Åα¿¼Ñα.
-
- #include <conio.h>
- #include <ctype.h>
-
-
- - 128 -
-
-
- int ch;
-
- /* ó φΓ«¼ µ¿¬½Ñ íÑαπΓß∩ ß¿¼ó«½δ ß ¬½áó¿áΓπαδ, »«¬á ¡Ñ óßΓ-
- αÑΓ¿Γß∩ "¡Ñ »α«íѽ∞¡δ⌐" ß¿¼ó«½. ÅαÑñΦÑßΓóπεΘ¿Ñ ß¿¼ó«½δ »α«íѽá
- «ΓíαáßδóáεΓß∩. */
-
-
- GETCHE
-
- #include <conio.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿.
-
- int getche ();
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getche τ¿ΓáÑΓ «Γñѽ∞¡δ⌐ ß¿¼ó«½ ß ¬«¡ß«½¿ ¿ óδαáíá-
- ΓδóáÑΓ φσ« ñ½∩ »α«τ¿Γá¡¡«ú« ß¿¼ó«½á. àß½¿ óó«ñ¿Γß∩ CONTROLL-C,
- ß¿ßΓѼá óδ»«½¡∩ÑΓ INT 23H (óδσ«ñ »« CONTROLL-C).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ getche ó«ºóαáΘáÑΓ ß¿¼ó«½. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó
- ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ cgets, getch, getchar.
-
- Åα¿¼Ñα.
-
- #include <conio.h>
- #include <ctype.h>
-
- int ch;
-
- /* íÑαÑΓ ß¿¼ó«½ ß ¬½áó¿áΓπαδ, óδαáíáΓδóáÑΓ Ñú« φσ«-«Γ«íαá-
- ªÑ¡¿Ñ ¡á ¬«¡ß«½¿. àß½¿ φΓ« ß¿¼ó«½ óÑασ¡Ñú« αÑú¿ßΓαá, »αÑ«íαáºπÑΓ
- Ñú« ¬ ß¿¼ó«½π ¡¿ª¡Ñú« αÑú¿ßΓαá ¿ ºá»¿ßδóáÑΓ ßΓáαδ⌐ ß¿¼ó«½ */.
-
- ch = getche();
-
- if (isupper (ch))
- cprintf ("\b%c", _tolower(ch));
-
-
- GETCWD
-
-
- #include <direct.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
-
-
- char *getcwd(pathbuf,n);
- char *pathbuf; »á¼∩Γ∞ ñ½∩ path-¿¼Ñ¡¿.
- int n; ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á path-¿¼Ñ¡¿.
-
-
-
- - 129 -
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getcwd »«½πτáÑΓ »«½¡«Ñ path-¿¼∩ ΓѬπΘÑú« αáí«τÑú«
- ñ¿αÑ¬Γ«α¿∩ ¿ ºá»«¼¿¡áÑΓ Ñú« ó pathbuf. ûѽδ⌐ áαúπ¼Ñ¡Γ n «»αÑñѽ∩-
- ÑΓ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ñ½∩ path-¿¼Ñ¡¿. 髺¡¿¬áÑΓ «Φ¿í¬á, Ñß½¿ ñ½¿-
- ¡á path-¿¼Ñ¡¿, ó¬½ετá∩ ¡π½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩, »αÑóδΦáÑΓ n.
- Çαúπ¼Ñ¡Γ pathbuf ¼«ªÑΓ íδΓ∞ NULL; íπΣÑα αẼÑα«¼ n íπñÑΓ
- áóΓ«¼áΓ¿τÑ߬¿ ºáσóáΓδóáΓ∞ß∩ »«ßαÑñßΓó«¼ malloc ¿ ¿ß»«½∞º«óáΓ∞ß∩
- ñ½∩ σαá¡Ñ¡¿∩ path-¿¼Ñ¡¿. ¥Γ«Γ íπΣÑα »«ºªÑ ¼«ªÑΓ íδΓ∞ «ßó«í«ªñÑ¡
- »α¿ ¿ß»«½∞º«óá¡¿¿ ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ Σπ¡¬µ¿¿ getchar (π¬áºá-
- Γѽ∞ ¡á ºáσóáτÑ¡¡δ⌐ íπΣÑα) »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ free.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ getcwd ó«ºóαáΘáÑΓ pathbuf. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
- NULL ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿ errno πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º
- ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- ç¡áτÑ¡¿Ñ àú« ß¼δß½
-
- ENOMEM Åá¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡« ñ½∩ αẼÑΘÑ¡¿∩ n
- íá⌐Γ (¬«úñá áαúπ¼Ñ¡Γ NULL ºáñá¡ ¬á¬
- pathbuf).
-
- ERANGE Path-¿¼∩ ñ½¿¡ÑÑ, τѼ n ß¿¼ó«½«ó.
-
- æ¼.Γá¬ªÑ chdir, mkdir, rmdir.
-
- Åα¿¼Ñα.
-
- #include <direct.h>
- #include <stdlib.h>
-
- char buffer [51];
-
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ºá»¿ßδóáÑΓ ¿¼∩ ΓѬπΘÑú« αáí«τÑú« **
- ñ¿αÑ¬Γ«α¿∩ (ñ½¿¡«⌐ ñ« 50 ß¿¼ó«½«ó) ó íπΣÑα */
-
- if (getcwd(buffer,50)==NULL)
- perror("getcwd error");
-
-
- GETENV.
-
- #include <stdlib.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
-
- char *getenv(varname);
- char *varname; ¿¼∩ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getenv ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
- «¬απªÑ¡¿∩ ñ½∩ ß««ΓóÑΓßΓóπεΘÑú« ¿¼Ñ¡¿ varname φΓ«⌐ »ÑαѼѡ¡«⌐. ÅÑ-
- αѼѡ¡δÑ «¬απªÑ¡¿∩ «»αÑñѽ∩εΓ «¬απªÑ¡¿Ñ, ó ¬«Γ«α«¼ óδ»«½¡∩ÑΓß∩
- »α«µÑßß (¡á»α¿¼Ñα, »«¿ß¬ path ñ½∩ í¿í½¿«ΓѬ, ¬«Γ«αδÑ ½¿¡¬πεΓß∩
- ó¼ÑßΓÑ ß »α«úαá¼¼«⌐).
-
- - 130 -
-
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ getenv ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á º¡áτÑ¡¿Ñ (ßΓ᫬π)
- »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩, ß«ñÑαªáΘπε ΓѬπΘÑÑ ºáτÑ¡¿Ñ ßΓ᫬¿ varname.
- 髺óαáΘáÑΓß∩ º¡áτÑ¡¿Ñ NULL, Ñß½¿ ºáñá¡¡á∩ »ÑαѼѡá∩ ó ΓѬπΘ¿⌐ ¼«-
- ¼Ñ¡Γ ¡Ñ «»αÑñѽѡá.
- æ¼. Γá¬ªÑ putenv.
-
- çá¼Ñτá¡¿Ñ! çỿß∞ ó Γáí½¿µÑ »ÑαѼѡ¡δσ «¬απªÑ¡¿∩ ¡Ñ»«ßαÑñß-
- ΓóÑ¡¡« ¡Ñ ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡á. àß½¿ ºá»¿ß∞ ¡πª¡« ¿º¼Ñ¡¿Γ∞, ¿ß-
- »«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ putenv. ùΓ«íδ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ó«ºóαáΘáѼ«Ñ º¡á-
- τÑ¡¿Ñ ¿ »α¿ φΓ«¼ ¡Ñ ºáΓα«¡πΓ∞ Γáí½¿µπ »ÑαѼѡ¡δσ «¬απªÑ¡¿∩, ¡πª¡«
- ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ strdup ¿½¿ strcpy, ¬«Γ«αδÑ »«ºó«½∩εΓ ¬«»¿α«-
- óá¡¿Ñ ßΓ᫬¿.
- öπ¡¬µ¿¿ getenv ¿ putenv ¿ß»«½∞ºπεΓ ú½«íá½∞¡πε »ÑαѼѡ¡πε
- environ ñ½∩ ñ«ßΓπ»á ¬ Γáí½¿µÑ »ÑαѼѡ¡δσ «¬απªÑ¡¿∩. öπ¡¬µ¿∩
- putenv ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ º¡áτÑ¡¿Ñ environ, ñѽá∩ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼
- áαúπ¼Ñ¡Γ "envp" ñ½∩ Σπ¡¬µ¿¿ "main".
-
- Åα¿¼Ñα.
-
- #include <stdlib.h>
-
- char *pathvar;
-
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α »«½πτáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ «¬απªÑ-
- ¡¿∩ PATH */
-
- pathvar = getenv("PATH");
-
- /* àß½¿ ó «¬απªÑ¡¿¿ ÑßΓ∞ ºá»¿ß∞ "PATH = A:\BIN; B:\BIN",
- Γ« π¬áºáΓѽ∞ pathvar íπñÑΓ ßßδ½áΓ∞ß∩ ¡á "A:\BIN; B:\BIN". àß½¿ »Ñ-
- αѼѡ¡«⌐ «¬απªÑ¡¿∩ PATH ¡ÑΓ,π¬áºáΓѽ∞ pathvar íπñÑΓ αáóÑ¡ NULL.*/
-
-
- GETPID
-
- #include <process.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
- int getpid();
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getpid ó«ºóαáΘáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá (¡«¼Ñα)
- ID, ¬«Γ«αδ⌐ π¡¿¬á½∞¡« «»αÑñѽ∩ÑΓ óδºδóáѼδ⌐ »α«µÑßß.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ getpid ó«ºóαáΘáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá ID. 髺ó-
- αáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ mktemp.
-
-
-
- - 131 -
-
- Åα¿¼Ñα.
-
- #include <process.h>
- #include <string.h>
- #include <stdio.h>
-
- char filename[9], pid[5];
- .
- .
- .
-
- strcpy(filename, "FILE");
- strcat(filename, itoa(getpid(), pid, 10));
-
- /* »ÑτáΓáÑΓß∩ "FILExxxxx", úñÑ xxxxx ∩ó½∩ÑΓß∩ ** ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«α«¼ »α«µÑßßá id */
-
- printf("File name is %s\n", filename);
-
-
- GETS
-
- #include <stdio.h>
-
- char *gets(buffer);
- char *buffer; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ óó«ñ¿¼«⌐ ßΓ᫬¿.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ gets τ¿ΓáÑΓ ßΓα«¬π ¿º »«Γ«¬á ßΓá¡ñáαΓ¡«ú« óó«ñá
- stdin ¿ ºá»«¼¿¡áÑΓ ÑÑ ó íπΣÑαÑ buffer. æΓ᫬á ß«ßΓ«¿Γ ¿º ¡áí«αá
- ß¿¼ó«½«ó ¿ ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ ¡«ó«⌐ ßΓ᫬¿ '\n'. ÅÑαÑñ ó«ºóαá-
- Γ«¼ Σπ¡¬µ¿∩ gets ºá¼ÑΘáÑΓ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿ ß¿¼ó«½«¼ '\0', ó «Γ-
- ½¿τ¿¿ «Γ Σπ¡¬µ¿¿ fgets, ¬«Γ«αá∩ ß«σαá¡∩ÑΓ ß¿¼ó«½ ¡«ó«⌐ ßΓ᫬¿.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßó«⌐ áαúπ¼Ñ¡Γ. ç¡áτÑ¡¿Ñ π¬áºáΓѽ∩ NULL
- ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿½¿ ñ«ßΓ¿ªÑ¡¿¿ ¬«¡µá Σá⌐½á. ä½∩ «»αÑñÑ-
- ½Ñ¡¿∩ ¬áΓÑú«α¿¿ «Φ¿í¬¿ ¿ß»«½∞ºπεΓß∩ Σπ¡¬µ¿¿ ferror ¿½¿ feof.
- æ¼. Γá¬ªÑ fgets, fputs, puts.
-
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- char line[100];
- char *result;
-
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α óδí¿αáÑΓ ßΓα«¬π ¿º »«Γ«¬á stdin */
-
- result = gets(line);.
-
-
-
- - 132 -
-
-
- GETW
-
-
- #include <stdio.h>
-
- int getw (stream);
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ FILE.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ getw τ¿ΓáÑΓ ñó«¿τ¡«Ñ º¡áτÑ¡¿Ñ Γ¿»á int ¿º ߻ѵ¿á½∞-
- ¡«ú« »«Γ«¬á stream ¿ ¿º¼Ñ¡∩ÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ π¬áºáΓѽ∞ ¡á Σá⌐½
- (Ñß½¿ «¡ ÑßΓ∞), τΓ«íδ π¬áºáΓ∞ ¡á ß½ÑñπεΘ¿⌐ ¡Ñ»α«τ¿Γá¡¡δ⌐ ß¿¼ó«½.
- ¥Γá Σπ¡¬µ¿∩ ¡Ñ »αÑñ»«½áúáÑΓ ß»Ñµ¿á½∞¡«ú« óδαáó¡¿óá¡¿∩ «íΩÑ¬Γ«ó.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßτ¿Γá¡¡«Ñ µÑ½«Ñ º¡áτÑ¡¿Ñ. 髺óαáΘáÑ-
- ¼«Ñ º¡áτÑ¡¿Ñ EOF ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿½¿ « ñ«ßΓ¿ªÑ¡¿¿ ¬«¡µá
- Σá⌐½á; «ñ¡á¬«, º¡áτÑ¡¿Ñ EOF ¼«ªÑΓ íδΓ∞ ó«ß»α¿¡∩Γ« ¬á¬ µÑ½á∩ óѽ¿-
- τ¿¡á, »«φΓ«¼π ñ½∩ »α«óÑન ¬«¡µá Σá⌐½á ¿½¿ πß½«ó¿∩ «Φ¿í¬¿ ¿ß»«½∞-
- ºπεΓß∩ Σπ¡¬µ¿¿ ferror ¿ feof.
- æ¼. Γá¬ªÑ putw.
-
- çá¼Ñτá¡¿Ñ! öπ¡¬µ¿∩ getw «íÑß»Ñτ¿óáÑΓ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß »αÑñδ-
- ñπΘ¿¼¿ í¿í½¿«ΓѬἿ. ìÑ«íσ«ñ¿¼« ºá¼ÑΓ¿Γ∞, τΓ« »α«í½Ñ¼δ »ÑαÑ¡«ß¿-
- ¼«ßΓ¿ ¼«úπΓ ó«º¡¿¬áΓ∞ ó¼ÑßΓÑ ß getw, Ñß½¿ ó ß¿ßΓѼáσ αẽ¿τáεΓß∩
- αẼÑαδ int ¿ »«α∩ñ«¬ íá⌐Γ«ó ó¡πΓα¿ int.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
- #include <stdlib.h>
-
- FILE *stream;
- int i;
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ßτ¿ΓδóáÑΓ ß½«ó« ¿º »«Γ«¬á stream ¿
- »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ «Φ¿í¬¿ */
-
- i = getw(stream);
-
- if (ferror(stream))
- { fprintf(stderr, "getw failed\n");
- clearerr (stream);
- }.
-
-
- GMTIME
-
- #include <time.h>
-
- struct tm *gmtime(time);
-
- - 133 -
-
-
- long *time; π¬áºáΓѽ∞ ¡á σαá¡¿¼«Ñ óαѼ∩.
-
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ gtime »αÑ«íαáºπÑΓ óαѼ∩, σαá¡¿¼«Ñ ¬á¬ long-º¡áτÑ-
- ¡¿Ñ, ¬ ßΓαπ¬ΓπαÑ. Long-º¡áτÑ¡¿Ñ time »αÑñßΓáó½∩ÑΓ ßѬπ¡ñδ, »α«-
- ΦÑñΦ¿Ñ «Γ 00:00:00 º¡áτÑ¡¿∩ óαѼѡ¿ »« âα¿¡ó¿τπ, Γ.Ñ. ß 1 ∩¡óáα∩
- 1980 ú«ñá. ¥Γ« º¡áτÑ¡¿Ñ «íδτ¡« »«½πτáÑΓß∩ ¿º ó맮óá Σπ¡¬µ¿¿ time.
- öπ¡¬µ¿∩ gmtime αáºαδóáÑΓ º¡áτÑ¡¿Ñ time ¿ σαá¡¿Γ Ñú« ó
- ßΓαπ¬ΓπαÑ Γ¿»á tm, «íΩ∩ó½Ñ¡¡«⌐ ó <time.h>. ÉѺπ½∞ΓáΓ ó ßΓαπ¬ΓπαÑ
- «ΓαáªáÑΓ º¡áτÑ¡¿Ñ óαѼѡ¿ »« âα¿¡ó¿τπ, á ¡Ñ ¼ÑßΓ¡«Ñ óαѼ∩.
-
- Å«½∩ ó ßΓαπ¬ΓπαÑ Γ¿»á tm σαá¡∩Γ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- Å«½Ñ òαá¡¿¼«Ñ º¡áτÑ¡¿Ñ
-
- tm_sec æÑ¬π¡ñδ
-
- tm_min î¿¡πΓδ
-
- tm_hour ùáßδ («Γ 0 ñ« 24)
-
- tm_mday äÑ¡∞ ¼Ñß∩µá («Γ 1 ñ« 31)
-
- tm_mon îÑß∩µδ («Γ 0 ñ« 11; ∩¡óáα∞=0)
-
- tm_year â«ñ (ΓѬπΘ¿⌐ ú«ñ ¼¿¡πß 1900)
-
- tm_wday äÑ¡∞ ¡Ññѽ¿ («Γ 0 ñ« 6;
- ó«ß¬αÑßÑ¡∞Ñ = 0)
-
- tm_yday äÑ¡∞ ú«ñá («Γ 0 ñ« 365;
- 1 ∩¡óáα∩ = 0)
-
- tm_isdst ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ «ßπΘÑßΓó½Ñ¡
- »ÑαÑσ«ñ ¡á ½ÑΓ¡ÑÑ/º¿¼¡ÑÑ óαѼ∩, ¿¡áτÑ
- 0.
-
- é MS DOS ñáΓδ αá¡∞ΦÑ 1980 ú«ñá ¡Ñ »«¡¿¼áεΓß∩. àß½¿ time
- »αÑñßΓáó½∩ÑΓ ñáΓπ αá¡ÑÑ 1 ∩¡óáα∩ 1980 ú«ñá, gmtime ó«ºóαáΘáÑΓ
- ß¿¼ó«½∞¡πε ßΓ᫬π, »αÑñßΓáó½Ñ¡¡πε 00:00:00 January 1,1980.
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ gmtime ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á αѺπ½∞ΓáΓ, σαá¡¿¼δ⌐
- ó ßΓαπ¬ΓπαÑ. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ asctime, ftime, ctime, localtime, time.
-
- çá¼Ñτá¡¿Ñ! öπ¡¬µ¿¿ gmtime ¿ localtime ¿ß»«½∞ºπεΓ «ñ¿¡ ¿ Γ«Γ
- ªÑ ßΓáΓ¿ßΓ¿τÑ߬¿ ºáσóáτÑ¡¡δ⌐ íπΣÑα ñ½∩ σαá¡Ñ¡¿∩ ó ¡Ñ¼ ßΓ᫬¿ αÑ-
- ºπ½∞ΓáΓá. èáªñδ⌐ ó맮ó «ñ¡«⌐ ¿º φΓ¿σ »α«µÑñπα π¡¿τΓ«ªáÑΓ αѺπ½∞-
- ΓáΓ »αÑñδñπΘÑú« ó맮óá.
-
-
-
- - 134 -
-
- Åα¿¼Ñα.
-
- #include <time.h>
-
- struct tm *newtime;
- long ltime;
-
- time(<ime);
- newtime=gmtime(<ime);
- printf("Greenwich mean time is %s\n",
- asctime(newtime));
-
-
- HALLOC
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
-
- char huge *halloc(n,size);
- long n; τ¿ß½« φ½Ñ¼Ñ¡Γ«ó.
- unsigned size; ñ½¿¡á ¬áªñ«ú« φ½Ñ¼Ñ¡Γá ó íá⌐Γáσ.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ halloc ºáσóáΓδóáÑΓ »á¼∩Γ∞ ñ½∩ huge-¼áßß¿óá ¿º n
- φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ñ½¿¡«⌐ size íá⌐Γ«ó. èáªñδ⌐ φ½Ñ¼Ñ¡Γ ¿¡¿µ¿á½¿º¿-
- α«óá¡ ó 0.
- àß½¿ αẼÑα ¼áßß¿óá ¼Ñ¡∞ΦÑ τѼ 128, Γ« αẼÑα φ½Ñ¼Ñ¡Γá ¼áß-
- ß¿óá ñ«½ªÑ¡ íδΓ∞ ßΓѻѡ∞ε 2.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ halloc ó«ºóαáΘáÑΓ char-huge π¬áºáΓѽ∞ ¡á ºáσóáτÑ¡-
- ¡«Ñ »α«ßΓαá¡ßΓó«.
- é »á¼∩Γ¿, ¡á ¬«Γ«απε π¬áºδóáÑΓ ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ, úá-
- αá¡Γ¿α«óá¡« óδαáó¡¿óá¡¿Ñ ñ½∩ σαá¡Ñ¡¿∩ ½εí«ú« Γ¿»á «íΩѬΓá. ùΓ«íδ
- »«½πτ¿Γ∞ π¬áºáΓѽ∞ ¡á Γ¿», «Γ½¿τ¡δ⌐ «Γ char, ¿ß»«½∞ºπÑΓß∩ »αÑ«í-
- αẫóáΓѽ∞ Γ¿»á ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
- αáó¡« NULL, Ñß½¿ «ßΓὫß∞ ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿.
- æ¼.Γá¬ªÑ calloc, free, hfree, malloc, realloc.
-
- Åα¿¼Ñα.
-
- #include <malloc.h>
-
- long huge *lalloc;
- .
- .
- .
-
- /* ºáσóáΓδóáÑΓ »α«ßΓαá¡ßΓó«, ñ«ßΓáΓ«τ¡«Ñ ñ½∩ 80000 ñ½¿¡¡δσ
- µÑ½δσ, ¿ ¿¡¿µ¿á½¿º¿απÑΓ ¿σ ó 0 */
-
- lalloc=(long huge*)halloc(80000L,sizeof(long));
-
-
-
-
- - 135 -
-
-
-
-
- HFREE
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬-
- 樨.
-
- void hfree(ptr);
- char huge *ptr; π¬áºáΓѽ∞ ¡á ºáσóáτÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ hfree «ßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿. Çαúπ¼Ñ¡Γ ptr π¬áºδ-
- óáÑΓ ¡á αá¡ÑÑ ºáσóáτÑ¡¡δ⌐ í½«¬ »á¼∩Γ¿ »«ßαÑñßΓó«¼ ó맮óá halloc.
- ù¿ß½«¼ «ßó«í«ªñÑ¡¡δσ íá⌐Γ«ó ∩ó½∩ÑΓß∩ τ¿ß½« íá⌐Γ«ó, «»αÑñÑ-
- ½Ñ¡¡δσ »α¿ ºáσóáΓÑ í½«¬á. Å«ß½Ñ ó맮óá «ßó«í«ñ¿óΦ¿Ñß∩ í½«¬¿ »α¿-
- ú«ñ¡δ ¬ αẼÑΘÑ¡¿ε.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ halloc.
-
- çá¼Ñτá¡¿Ñ! Å«»δΓ¬á «ßó«í«ñ¿Γ∞ ¡ÑóÑα¡δ⌐ ptr (π¬áºáΓѽ∞ ¡Ñ
- ºáσóáΓδóáÑΓß∩ »«ßαÑñßΓó«¼ ó맮óá halloc) ¼«ªÑΓ »α¿óÑßΓ¿ ¬ »«ß½Ñ-
- ñπεΘѼπ ºáσóáΓπ ¿ óδºóáΓ∞ «Φ¿í¬π.
-
- Åα¿¼Ñα.
-
- #include <malloc.h>
- #include <stdio.h>
-
- char huge *alloc;
-
- /* ºáσóáΓδóáÑΓ 80000 íá⌐Γ«ó ¿ «ßó«í«ªñáÑΓ ¿σ */
-
- alloc=halloc(80000L, sizeof (char));
- .
- .
- .
- if (alloc !=NULL)
-
- /* »α«óÑα∩ÑΓ ¡á »αáó¿½∞¡«ßΓ∞ π¬áºáΓѽ∩ */
-
- hfree(alloc);
-
- /* «ßó«í«ªñáÑΓ »á¼∩Γ∞ ñ½∩ heap */
-
- .
- - 136 -
-
-
-
- HYPOT
-
- #include <math.h>
-
- double hypot(x,y);
- double x,y; º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- Ä»¿ßá¡¿Ñ:
-
- öπ¡¬µ¿∩ hypot óδτ¿ß½∩ÑΓ ñ½¿¡π ú¿»«ΓÑ¡πºδ »α∩¼«πú«½∞¡«ú«
- ΓαÑπú«½∞¡¿¬á ß ºáñá¡¡«⌐ ñ½¿¡«⌐ ñóπσ ßΓ«α«¡ x ¿ y. é맮ó hypot φ¬-
- ó¿óá½Ñ¡ΓÑ¡ ß½ÑñπεΘѼπ:
- sqrt(x*x + y*y);
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ:
-
- öπ¡¬µ¿∩ hypot ó«ºóαáΘáÑΓ ñ½¿¡π ú¿»«ΓÑ¡πºδ. é ß½πτáÑ »ÑαÑ-
- »«½¡Ñ¡¿∩ αѺπ½∞ΓáΓá, hypot πßΓá¡áó½¿óáÑΓ errno ó ERANGE ¿ ó«ºóαá-
- ΘáÑΓ º¡áτÑ¡¿Ñ HUGE.
- æ¼.Γá¬ªÑ cabs.
-
- Åα¿¼Ñα.
-
- #include <math.h>
-
- double x,y,z;
-
- x = 3.0;
- y = 4.0;
- z = hypot(x,y);
- printf("Hypotenuse=%2.1f\n",z);
-
- ìá óδσ«ñÑ:
-
- Hypotenuse = 5.0
-
- .
-
-
-