home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-18 | 59.9 KB | 1,499 lines |
- - 238 -
-
-
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
- #define NBYTES 1024
-
- char from[NBYTES], to [NBYTES];
-
- /* ¬«»¿απÑΓ n íá⌐Γ«ó ¿º «ñ¡«ú« αáß»«½«ªÑ¡¿∩ ó ñαπú«Ñ, »Ñ-
- αÑßΓáó½∩ÑΓ («í¼Ñ¡¿óáÑΓ) ¬áªñπε »áαπ ߼Ѫ¡δσ íá⌐Γ«ó */
-
- swab(from, to, NBYTES);.
-
-
- SYSTEM
-
- #include <process.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
- #include <stdlib.h> ¿ß»«½∞ºπÑΓ ½¿í« <process.h>,
- ½¿í« <stdlib.h>
-
- int system(string);
- char *string; óδ»«½¡∩Ѽá∩ ¬«¼á¡ñá
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ system »ÑαÑñáÑΓ ºáñá¡¡πε ßΓ᫬π string ¬ ¿¡ΓÑα»αÑ-
- ΓáΓ«α𠬫¼á¡ñ ¿ «íαáíáΓδóáÑΓ φΓπ ßΓ᫬π ¬á¬ ¬«¼á¡ñπ MS DOS. öπ¡¬-
- µ¿∩ system ßßδ½áÑΓß∩ ¡á »ÑαѼѡ¡δÑ «¬απªÑ¡¿∩ COMSPEC ¿ PATH, τΓ«-
- íδ αáß»«½«ª¿Γ∞ Σá⌐½ COMMAND.COM, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ »α¿ óδ»«½-
- ¡Ñ¡¿¿ ¬«¼á¡ñδ string.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- àß½¿ string πß»ÑΦ¡« «Γαáí«Γá½á, Σπ¡¬µ¿∩ system ó«ºóαáΘáÑΓ
- º¡áτÑ¡¿Ñ 0. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿
- errno πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- çìÇùàìêà àâÄ æî¢æï
-
- E2BIG 滿߫¬ áαúπ¼Ñ¡Γ«ó ñ½∩ ¬«¼á¡ñδ »αÑóδΦáÑΓ
- 128 íá⌐Γ«ó, ¿½¿ »α«ßΓαá¡ßΓó«, ΓαÑíπѼ«Ñ
- ñ½∩ ¿¡Σ«α¼áµ¿¿ «¬απªÑ¡¿∩, »αÑóδΦáÑΓ 32è.
-
- ENOENT COMMAND.COM ¡Ñ ¼«ªÑΓ íδΓ∞ ¡á⌐ñÑ¡.
-
- ENOEXEC öá⌐½ COMMAND.COM ¡Ñ ¼«ªÑΓ íδΓ∞
- óδ»«½¡Ñ¡¡δ¼ ¿ ¿¼ÑÑΓ ¡ÑóÑα¡δ⌐ Σ«α¼áΓ.
-
- ENOMEM ä½∩ óδ»«½¡Ñ¡¿∩ child-»α«µÑßá »á¼∩Γ¿ ¡Ñ
- ñ«ßΓáΓ«τ¡«, ¿½¿ φΓá »á¼∩Γ∞ ∩ó½∩ÑΓß∩
- ºá»«ατÑ¡¡«⌐, ¿½¿ ßπΘÑßΓóπεΓ ¡ÑóÑα¡δÑ
- í½«¬¿, π¬áºδóáεΘ¿Ñ, τΓ« parent-»α«µÑßß
- ¡Ñ ºáσóáτÑ¡.
-
-
- - 239 -
-
-
-
- æ¼. Γá¬ªÑ execl, execle, execlp, execv, execve, execvp,
- exit, _exit, spawnl, spawnle, spawnlp, spawnlpe, spawnv, spawnve,
- spawnvp.
-
- Åα¿¼Ñα:
-
- #include <process.h>
-
- int result;
-
-
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ñ«íáó½∩ÑΓ ¡«¼Ñα óÑαß¿¿ DOS ¬ log Σá⌐-
- ½π */
-
- result = system("ver >> result.log");
-
-
-
- TAN-TANH
-
- #include <math.h>
-
- double tan(x); óδτ¿ß½∩ÑΓ Γá¡úÑ¡ß x
- double tanh(x); óδτ¿ß½∩ÑΓ ú¿»Ñαí«½¿τÑ߬¿⌐ Γá¡úÑ¡ß x
- double x; αáñ¿á¡
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ tan ¿ tanh óδτ¿ß½∩εΓ ß««ΓóÑΓßΓóÑ¡¡« Γá¡úÑ¡ß ¿ ú¿-
- »Ñαí«½¿τÑ߬¿⌐ Γá¡úÑ¡ß x.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ tan ó«ºóαáΘáÑΓ Γá¡úÑ¡ß x. àß½¿ x í«½∞Φ«⌐, »α¿ óδ-
- τ¿ß½Ñ¡¿∩σ ¼«ªÑΓ ó«º¡¿¬¡πΓ∞ τáßΓ¿τ¡á∩ »«ΓÑα∩ º¡áτ¿¼«ßΓ¿. é φΓ«¼
- ß½πτáÑ tan óδαáíáΓδóáÑΓ «Φ¿í¬π PLOSS, ¡« ß««íΘÑ¡¿∩ ¡Ñ »ÑτáΓáÑΓ.
- àß½¿ x ¡áßΓ«½∞¬« í«½∞Φ«⌐, τΓ« «íΘá∩ º¡áτ¿¼«ßΓ∞ αѺπ½∞ΓáΓá ΓÑα∩ÑΓ-
- ß∩, Γ«úñá tan »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ TLOSS ó stderr ¿ ó«ºó-
- αáΘáÑΓ 0. é «í«¿σ ß½πτá∩σ errno πßΓá¡áó½¿óáÑΓß∩ ó ERANGE.
- öπ¡¬µ¿∩ tanh ó«ºóαáΘáÑΓ ú¿»Ñαí«½¿τÑ߬¿⌐ Γá¡úÑ¡ß x. 髺óαá-
- ΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ acos, asin, atan, atan2, cos, cosh, sin, sinh.
-
- Åα¿¼Ñα:
-
- #include <math.h>
-
- double pi,x,y;
-
- pi = 3.1415926535;
- x = tan(pi/4.0); /* x αáóÑ¡ 1.0 */
- y = tanh(x); /* y αáóÑ¡ 1.6 */
-
-
- - 240 -
-
-
-
-
- TEMPNAM - TMPNAM
-
- #include <stdio.h>
-
- char *tmpnam(string);
- char *string; π¬áºáΓѽ∞ ¡á óαѼѡ¡«Ñ ¿¼∩.
-
- char *tempnam(dir, prefix);
- char *dir;
- char *prefix;
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ tmpnan úÑ¡Ñα¿απÑΓ ¿¼∩ óαѼѡ¡«ú« Σá⌐½á. ¥Γ« ¿¼∩
- σαá¡¿Γß∩ ó string. àß½¿ string ∩ó½∩ÑΓß∩ NULL, »á¼∩Γ∞ ñ½∩ ßΓ᫬
- αẼÑΘáÑΓß∩ »«ßαÑñßΓó«¼ Σπ¡¬µ¿¿ malloc. Åα¿ φΓ«¼, Ñß½¿ ¿ß»«½∞º«-
- óá½áß∞ Σπ¡¬µ¿∩ malloc, »«½∞º«óáΓѽ∞ ßá¼ ∩ó½∩ÑΓß∩ «ΓóÑΓßΓóÑ¡¡δ¼ ºá
- «ßó«í«ªñÑ¡¿Ñ »á¼∩Γ¿.
- 濼ó«½∞¡á∩ ßΓ᫬á, ß«ºñá¡¡á∩ »« tmpnam, ß«ßΓ«¿Γ ¿º µ¿Σα «Γ
- "0" ñ« "9"; τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ φΓ«⌐ ßΓ᫬¿ ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩ «Γ 1
- ñ« 65535.
- öπ¡¬µ¿∩ tempnam »«ºó«½∩ÑΓ »«½∞º«óáΓѽε ß«ºñáΓ∞ óαѼѡ¡δ⌐
- Σá⌐½ ó ñαπú«¼ ñ¿αÑ¬Γ«α¿¿. Prefix ∩ó½∩ÑΓß∩ »α¿ßΓáó¬«⌐ ¬ ¿¼Ñ¡¿ Σá⌐-
- ½á. ¥Γá Σπ¡¬µ¿∩ αáßß¼áΓα¿óáÑΓ Σá⌐½ ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼ ó ñαπú¿σ ñ¿-
- αÑ¬Γ«α¿∩σ, αáß»«½«ªÑ¡¡δσ ó »«α∩ñ¬Ñ ßΓáαΦ¿¡ßΓóá.
-
-
- ôæïÄéêà êæÅÄï£çôàî¢ë äêÉàèÆÄÉêë
-
- ôßΓá¡áó½¿óáÑΓß∩ »ÑαѼѡ¡á∩ ä¿αÑ¬Γ«α¿⌐, «»αÑñѽ∩Ѽδ⌐
- «¬απªÑ¡¿∩ TMP, ¿ ßπΘÑßΓóπÑΓ »« ÆîÉ.
- ñ¿αÑ¬Γ«α¿⌐, «»αÑñѽ∩Ѽδ⌐ »«
- TMP.
-
- ÅÑαѼѡ¡á∩ «¬απªÑ¡¿∩ TMP ¡Ñ Çαúπ¼Ñ¡Γ dir ñ½∩ tempnam.
- πßΓá¡áó½¿óáÑΓß∩ ¿½¿ ¡Ñ
- ßπΘÑßΓóπÑΓ ñ¿αÑ¬Γ«α¿⌐,
- «»αÑñѽ∩Ѽδ⌐ »« TMP.
-
- Çαúπ¼Ñ¡Γ dir ∩ó½∩ÑΓß∩ NULL P_tmpdir ó <stdio.h>.
- ¿½¿ dir ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ ¡Ñ
- ßπΘÑßΓóπεΘÑú« ñ¿αÑ¬Γ«¿∩.
-
- ìÑ ßπΘÑßΓóπÑΓ P_tmpdir. \tmp.
-
- àß½¿ óßÑ φΓ« «ΓßπΓßΓóπÑΓ, tempnam ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ NULL.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ¥Γ¿ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ π¬áºáΓѽ∞ ¡á ßúÑ¡Ñα¿α«óá¡¡«Ñ ¿¼∩,
- Ñß½¿ ÑßΓ∞ 󫺼«ª¡«ßΓ∞ ß«ºñáΓ∞ φΓ« ¿¼∩, ¿½¿ Ñß½¿ ¿¼∩ ¡Ñ ∩ó½∩ÑΓß∩
- Ññ¿¡ßΓóÑ¡¡δ¼ (π¡¿¬á½∞¡δ¼). àß½¿ ¿¼∩ ¡Ñ ¼«ªÑΓ íδΓ∞ ß«ºñá¡« ¿½¿ «¡«
- óßÑúñá ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿¿ tmpnam ¿ tempnam ó«ºóαáΘáεΓ º¡áτÑ¡¿Ñ
-
- - 241 -
-
-
- NULL
-
- æ¼. Γá¬ªÑ tmpfile.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
-
- main ()
- {
- char *name1, *name2;
-
- if ((name1 = tmpnam(NULL)) != NULL)
- printf("%s is safe to use as a temporary file.\n",
- name1);
- else
- printf("cannot create a unique file name\n");
-
- if ((name2 = tempnam("a:\\tmp", "stq")) != NULL)
- printf("%s is safe to use as a temporary file.\n",
- name2);
- else
- printf("cannot create a unique file name\n");
- }.
-
-
-
- TELL
-
- #include <io.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
- long tell(handle);
- int handle; handle-α, ßßδ½áεΘ¿⌐ß∩ ¡á «Γ¬αδΓδ⌐
- Σá⌐½
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ tell íÑαÑΓ ΓѬπΘπε »«º¿µ¿ε π¬áºáΓѽ∩ ¡á Σá⌐½ (Ñß½¿
- «¡ ÑßΓ∞), ßó∩ºá¡¡«ú« ß handle. Å«º¿µ¿∩ óδαáªáÑΓß∩ ¬á¬ τ¿ß½« íá⌐-
- Γ«ó «Γ ¡áτá½á Σá⌐½á.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ tell ó«ºóαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε. 髺óαáΘáѼ«Ñ º¡á-
- τÑ¡¿Ñ -1L π¬áºδóáÑΓ ¡á «Φ¿í¬π ¿ errno πßΓá¡áó½¿óáÑΓß∩ ó EBADF,
- ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓ ¡ÑóÑα¡δ⌐ áαúπ¼Ñ¡Γ handle-αá Σá⌐½á. ä½∩ πßΓα«⌐-
- ßΓó, ¡Ñ »α¿ß»«ß«í½Ñ¡¡δσ ¬ »«¿ß¬π (Γᬿσ ¬á¬ ΓÑନ¡á½δ ¿ »α¿¡ΓÑ-
- αδ), ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ ¡Ñ «»αÑñѽѡδ.
- æ¼.Γá¬ªÑ ftell, lseek
-
- Åα¿¼Ñα:
-
- #include<io.h>
- #include<stdio.h>
- #include<fcntl.h>
-
- - 242 -
-
-
- int fh;
- long position;
-
- fh = open ("data", O_RDONLY);
- .
- .
- .
- position = tell (fh);
- /* ºá»«¼¿¡áÑΓ ΓѬπΘπε »«º¿µ¿ε */
- .
- .
- .
- lseek (fh, position,0);
- /* ¡áσ«ñ¿Γ »αÑñδñπΘπε »«º¿µ¿ε */
-
-
-
-
- TIME
-
- #include <time.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
- long time(timeptr);
- long *timeptr; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ óαѼѡ¿
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ time ó ß««ΓóÑΓßΓó¿¿ ß ß¿ßΓѼ¡δ¼¿ τáßἿ ó«ºóαáΘáÑΓ
- ¬«½¿τÑßΓó« ßѬπ¡ñ, »α«ΦÑñΦ¿σ «Γ 00:00:00 º¡áτÑ¡¿∩ óαѼѡ¿ »«
- âα¿¡ó¿τπ,Γ.Ñ. ß 1 ∩¡óáα∩ 1980 ú«ñá. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ σαá¡¿Γ-
- ß∩ ó αáß»«½«ªÑ¡¿¿, ºáñá¡¡«¼ »« timeptr. àß½¿ ó«ºóóαáΘáѼ«Ñ º¡áτÑ-
- ¡¿Ñ ¡Ñ ºá»«¼¡Ñ¡«, timeptr ∩ó½∩ÑΓß∩ NULL.
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ »α«⌐ñÑ¡¡«Ñ óαѼ∩ (ó ßѬπ¡ñáσ). 髺-
- óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ asctime, ftime, gmtime, localtime, utime.
-
- Åα¿¼Ñα:
-
- #include <time.h>
- #include <stdio.h>
-
- long ltime;
-
- time(<ime);
- printf("the time is %s\n", ctime(<ime));
-
-
-
-
- TMPFILE
-
-
- - 243 -
-
-
- #include <stdio.h>
-
- FILE *tmpfile(); º¡áτÑ¡¿Ñ, π¬áºδóáεΘÑÑ ¡á
- ßΓαπ¬Γπαπ Γ¿»á FILE.
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ tmpfile ß«ºñáÑΓ óαѼѡ¡δ⌐ Σá⌐½ ¿ ó«ºóαáΘáÑΓ π¬áºá-
- Γѽ∞ ¡á φëà Σá⌐½. àß½¿ Σá⌐½ ¡Ñ ¼«ªÑΓ íδΓ∞ «Γ¬αδΓ, Σπ¡¬µ¿∩
- tmpfile ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ NULL. ¥Γ«Γ óαѼѡ¡δ⌐ Σá⌐½ áóΓ«¼áΓ¿-
- τÑ߬¿ πñá½∩ÑΓß∩, ¬«úñá »α«úαá¼¼á ºá¬á¡τ¿óáÑΓß∩ ¡«α¼á½∞¡« ¿½¿ Ñß-
- ½¿ óδºóá¡á Σπ¡¬µ¿∩ rmtmp, á ΓѬπΘ¿⌐ αáí«τ¿⌐ ñ¿αÑ¬Γ«α¿⌐ ¡Ñ íδ½ ¿º-
- ¼Ñ¡Ñ¡.
- éαѼѡ¡δ⌐ Σá⌐½ «Γ¬αδóáÑΓß∩ ó αѪ¿¼Ñ "w".
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«Γ«¬. àß½¿ Σá⌐½ ¡Ñ «Γ-
- ¬αδóáÑΓß∩ - ó«ºóαáΘáÑΓß∩ NULL-π¬áºáΓѽ∞.
- æ¼. Γá¬ªÑ tmpnam, tempnam, rmtmp.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
-
- FILE *stream;
- char tmpstring[] = "String to be temporary written".
-
- main ()
-
- {
- if ((stream = tmpfile()) == NULL)
- perror("Couldn't make temporary file");
- else
- fprintf(stream, "%s", tmpstring);
- }.
-
-
-
- TOASCII-_TOUPPER
-
- #include <ctype.h>
- int toascii(c) »αÑ«íαáºπÑΓ "c" ó ß¿¼ó«½ ASCII
-
- int tolower(c) »αÑ«íαáºπÑΓ "c" ó ß¿¼ó«½ óÑασ¡Ñú«
- αÑú¿ßΓαá (ó ßΓα«τ¡πε íπ¬óπ),
- Ñß½¿ φΓ« 󫺼«ª¡«
-
- int _tolower(c) »αÑ«íαáºπÑΓ "c" ó ßΓα«τ¡πε íπ¬óπ
-
- int toupper(c) »αÑ«íαáºπÑΓ "c" ó ß¿¼ó«½ ¡¿ª¡Ñú«
- αÑú¿ßΓαá (»α«»¿ß¡πε íπ¬óπ), Ñß½¿
- φΓ« 󫺼«ª¡«
-
- int _toupper(c) »αÑ«íαáºπÑΓ "c" ó ß¿¼ó«½ ¡¿ª¡Ñú«
-
- - 244 -
-
-
- αÑú¿ßΓαá
-
- int c; »αÑ«íαáºπѼδ⌐ ß¿¼ó«½
-
-
- Ä»¿ßá¡¿Ñ.
-
- îá¬α« toascii, tolower, toupper ¿ _toupper »αÑ«íαáºπεΓ ß¿¼-
- ó«½ "c" Γá¬, ¬á¬ «»¿ßá¡« ¡¿ªÑ.
- îá¬α« toascii πßΓá¡áó½¿óáÑΓ »ÑαóδÑ 7 í¿Γ«ó "c" ó ¡π½∞ Γá¬,
- τΓ« »αÑ«íαẫóá¡¡«Ñ º¡áτÑ¡¿Ñ ß««ΓóÑΓßΓóπÑΓ ß¿¼ó«½π ASCII. àß½¿
- "c" πªÑ ß««ΓóÑΓßΓóπÑΓ ASCII, Γ« «¡ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
- îá¬α« tolower »αÑ«íαáºπÑΓ "c" ó ßΓα«τ¡πε íπ¬óπ, Ñß½¿ "c"
- ß««ΓóÑΓßΓóπÑΓ »α«»¿ß¡«⌐ ½¿ΓÑαÑ. ê¡áτÑ - "c" ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
- îá¬α« _tolower ∩ó½∩ÑΓß∩ óÑαß¿Ñ⌐ tolower, ¿ß»«½∞ºπεΘÑ⌐ß∩
- Γ«½∞¬« Γ«úñá, ¬«úñá "c" - »α«»¿ß¡á∩ íπ¬óá. àß½¿ φΓ« ¡Ñ Γá¬, αÑ-
- ºπ½∞ΓáΓ óδ»«½¡Ñ¡¿∩ _tolower ¡Ñ «»αÑñѽѡ.
- îá¬α« toupper »αÑ«íαáºπÑΓ "c" ó ßΓα«τ¡πε íπ¬óπ, Ñß½¿ "c" ¡Ñ
- ∩ó½∩ÑΓß∩ ßΓα«τ¡«⌐ íπ¬ó«⌐. ê¡áτÑ - "c" ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
- _Toupper ∩ó½∩ÑΓß∩ óÑαß¿Ñ⌐ toupper, ¿ß»«½∞ºπѼ«⌐ Γ«½∞¬« Γ«ú-
- ñá, ¬«úñá "c" - ßΓα«τ¡á∩ íπ¬óá. àß½¿ "c" ¡Ñ ∩ó½∩ÑΓß∩ ßΓα«τ¡«⌐
- íπ¬ó«⌐, Γ« αѺπ½∞ΓáΓ ¡Ñ «»αÑñѽѡ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- îá¬α« toascii, tolower, toupper ¿ _toupper ó«ºóαáΘáεΓ »αÑ-
- «íαẫóá¡¡δ⌐ ß¿¼ó«½ "c". 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿
- ¡ÑΓ.
- æ¼.Γá¬ªÑ isalnum, isalpha, isascii, iscntrl, isdigit,
- isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit.
-
- çá¼Ñτá¡¿Ñ. ¥Γ¿ »α«µÑñπαδ αÑ὿ºπεΓß∩ ¬á¬ ¼á¬α«. Äñ¡á¬«
- tolower ¿ toupper Γá¬ªÑ αÑ὿ºπεΓß∩ ¿ ¬á¬ Σπ¡¬µ¿¿, Γ.¬. óÑαß¿¿
- ¼á¬α« ¡Ñ¬«ααÑ¬Γ¡« «íαáíáΓδóáεΓ áαúπ¼Ñ¡Γδ ß »«í«τ¡δ¼¿ φΣΣѬΓἿ.
- éÑαß¿¿ Σπ¡¬µ¿⌐ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ, Ñß½¿ πñ὿Γ∞ ¼á¬α««»αÑñÑ-
- ½Ñ¡¿∩ ñ¿αÑ¬Γ¿ó«⌐ #undef ¿½¿ ¡Ñ »«ñ¬½ετáΓ∞ <ctype.h>. Ä»αÑñѽѡ¿∩
- Σπ¡¬µ¿⌐ tolower ¿ toupper ñá¡δ ó <stdlib.h>.
-
- Åα¿¼Ñα:
-
- #include <stdio.h>
- #include <ctype.h>
- int ch;
-
- /*ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ á¡á½¿º¿απεΓ óßÑ
- **ß¿¼ó«½δ ¼Ñªñ𠬫ñἿ 0σ0 ¿ 0σ7f.
- **îá¬α« toupper ¿ tolower »α¿¼Ñ¡∩εΓß∩
- **ñ½∩ ½εíδσ ¬«ñ«ó. _Toupper ¿ _tolower
- **»α¿¼Ñ¡∩εΓß∩ Γ«½∞¬« ñ½∩ ¬«ñ«ó, ¿¼ÑεΘ¿σ
- **ß¼δß½ */
-
- for (ch=0; ch<=0x7f; ch++) {
- printf (" toupper=%#04x", toupper (ch));
- printf (" tolower=%#04x", tolower (ch));
-
-
- - 245 -
-
-
- if (islower(ch))
- printf(" _toupper=%#04x", _toupper(ch));
- if (isupper(ch))
- printf("_tolower=%#40x", _tolower(ch));
- putchar ('\n');
- }
-
-
-
- TZSET
-
- #include <time.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- void tzset();
-
- int daylight; Σ½áú »ÑαÑσ«ñá ¡á ½ÑΓ¡ÑÑ/º¿¼¡ÑÑ
- óαѼ∩
- long timezone; αẽ¿τ¿Ñ ó ßѬπ¡ñáσ «Γ GMT
- char *tzname[2]l ßΓ᫬¿ ΓαÑσíπ¬óÑ¡¡δσ óαѼѡ¡δσ
- º«¡
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ tzset ¿ß»«½∞ºπÑΓ ΓѬπΘπε πßΓá¡«ó¬π »ÑαѼѡ¡«⌐ «¬απ-
- ªÑ¡¿∩ TZ, τΓ«íδ ¡áº¡áτ¿Γ∞ º¡áτÑ¡¿∩ ΓαѼ »ÑαѼѡ¡δ¼: daylight,
- timezone, tzname. ¥Γ¿ »ÑαѼѡ¡δÑ ¿ß»«½∞ºπεΓß∩ Σπ¡¬µ¿∩¼¿ ftime,
- localtime ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ º¡áτÑ¡¿∩ óαѼѡ¿ »« âα¿¡ó¿τπ (GMT) ¡á
- ¼ÑßΓ¡«Ñ óαѼ∩.
- ç¡áτÑ¡¿Ñ¼ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩ TZ ñ«½ª¡« íδΓ∞ ΓαÑσíπ¬óÑ¡¡«Ñ
- ¿¼∩ óαѼѡ¡«⌐ º«¡δ, Γᬫ⌐ ¬á¬ PST, ß½ÑñπεΘÑ⌐ ºá ¡Ñ«í∩ºáΓѽ∞¡δ¼
- º¡á¬«óδ¼ τ¿ß½«¼, ºáñáεΘ¿¼ αẽ¿τ¿Ñ ó τáßáσ ¼Ñªñπ º¡áτÑ¡¿Ñ¼ óαѼÑ-
- ¡¿ »« âα¿¡ó¿τπ ¿ ¼ÑßΓ¡δ¼ óαѼѡѼ.ù¿ß½« ¼«ªÑΓ ¿ñΓ¿ ºá ΓαÑσíπ¬óÑ¡-
- ¡«⌐ º«¡«⌐ »ÑαÑσ«ñá ¡á ½ÑΓ¡ÑÑ/º¿¼¡ÑÑ óαѼ∩, Γᬫ⌐ ¬á¬ PDT. ìá»α¿-
- ¼Ñα, "PST8PDT" »αÑñßΓáó½∩ÑΓ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ ñ½∩ º«¡δ
- Pacific time.
- è«úñá óδºδóáÑΓß∩ tzset, »ÑαѼѡ¡δ¼ daylight, timezone,
- tzname ¡áº¡áτáεΓß∩ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- ÅÑαѼѡ¡á∩ ç¡áτÑ¡¿Ñ
-
- timezone Éẽ¿τ¿Ñ ¼Ñªñπ º¡áτÑ¡¿Ñ¼ óαѼѡ¿ »«
- âα¿¡ó¿τπ ¿ ¼ÑßΓ¡δ¼ óαѼѡѼ
-
- daylight ìÑ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿ ó πßΓá¡«ó¬Ñ TZ
- «»αÑñѽѡ »ÑαÑσ«ñ ¡á ½ÑΓ¡ÑÑ/º¿¼¡ÑÑ
- óαѼ∩; ¿¡áτÑ -0
-
- tzname[0] æΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ
- ΓαÑσíπ¬óÑ¡¡«Ñ ¿¼∩ óαѼѡ¡«⌐ º«¡δ ¿º
- πßΓá¡«ó¬¿ TZ
-
- tzname[1] æΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ º«¡π
- »ÑαÑσ«ñá ¡á ½ÑΓ¡ÑÑ/º¿¼¡ÑÑ óαѼ∩, ¿½¿
- »πßΓπε ßΓ᫬π, Ñß½¿ φΓá º«¡á »α«»πΘÑ¡á
- ó πßΓá¡«ó¬Ñ TZ
-
-
- - 246 -
-
-
-
-
- àß½¿ TZ ¡Ñ πßΓá¡«ó½Ñ¡á, »« π¼«½τá¡¿ε πßΓá¡áó½¿óáÑΓß∩
- PST8PDT, ¬«Γ«αá∩ ß««ΓóÑΓßΓóπÑΓ º«¡Ñ Pacific time. Å« π¼«½τá¡¿ε
- ñ½∩ daylight πßΓá¡áó½¿óáÑΓß∩ 1, timezone - 28800, ñ½∩ tzname[0] -
- "PST", tzname[1] - "PDT".
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼.Γá¬ªÑ asctime, ftime, localtime.
-
- Åα¿¼Ñα:
-
- #include <time.h>
-
- int daylight;
- llong timezone;
- char *tzname[];
- .
- .
- .
- putenv("TZ=EST5");
- tzset();
-
-
- ULTOA
-
- #include <stdlib.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩
- «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿
- char ultoa(value, string, radix);
-
- unsigned long value; »αÑ«íαáºπѼ«Ñ τ¿ß½«
- char *string; ßΓ᫬á αѺπ½∞ΓáΓá
- int radix; «ß¡«óá¡¿Ñ value
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ ultoa »αÑ«íαáºπÑΓ ß¿¼ó«½δ value ó ß¿¼ó«½∞¡πε ßΓα«-
- ¬π, «¬á¡τ¿óáεΘπεß∩ NULL-ß¿¼ó«½«¼, ¿ ºá»«¼¿¡áÑΓ ÑÑ ó string. ÅÑαÑ-
- »«½¡Ñ¡¿Ñ ¡Ñ ¬«¡Γα«½¿απÑΓß∩. Çαúπ¼Ñ¡Γ radix «»αÑñѽ∩ÑΓ «ß¡«óá¡¿Ñ
- ß¿ßΓѼδ ßτ¿ß½Ñ¡¿∩ value. Ä¡ ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ «Γ 2 ñ« 36.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ ultoa ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π string. 髺ó-
- αáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ itoa, ltoa.
-
- çá¼Ñτá¡¿Ñ: Åá¼∩Γ∞, «Γó«ñ¿¼á∩ »«ñ string, ñ«½ª¡á íδΓ∞ í«½∞-
- ΦÑ, τѼ ΓαÑíπÑΓß∩ ñ½∩ ó«ºóαáΘáѼ«⌐ ßΓ᫬¿. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
- ßΓ᫬π ñ½¿¡«⌐ ñ« 33 íá⌐Γ«ó.
-
-
- - 247 -
-
-
- Åα¿¼Ñα:
-
- #include <stdlib.h>
-
- int radix = 16;
- char buffer [40];
- char *p;
- /* p íπñÑΓ "501d9138 */
- p=ultoa (1344115000L, buffer, radix);
-
-
-
- UMASK
-
- #include <sys\types.h>
- #include <sys\stat.h>
- #include <io.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- int umask(pmode);
- int pmode; ñ«ßΓπ», αáºαÑΦÑ¡¡δ⌐ »« π¼«½τá¡¿ε
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ umask πßΓá¡áó½¿óáÑΓ ñ½∩ ΓѬπΘÑú« »α«µÑßßá ¼á߬π
- αáºαÑΦÑ¡¡«ú« ñ«ßΓπ»á ñ½∩ Σá⌐½á ó αѪ¿¼, ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓß∩ »«
- pmode. îá߬á αáºαÑΦÑ¡¡«ú« ñ«ßΓπ»á ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¼«ñ¿Σ¿¬áµ¿¿
- πßΓá¡«ó½Ñ¡¡«ú« ñ«ßΓπ»á ñ½∩ ¡«óδσ Σá⌐½«ó, ß«ºñá¡¡δσ »«ßαÑñßΓó«¼
- Σπ¡¬µ¿⌐ create, open ¿½¿ sopen. àß½¿ í¿Γ ó ¼á᪥ αáóÑ¡ 1, Γ« ß«-
- «ΓóÑΓßΓóπεΘ¿⌐ Ѽπ í¿Γ ó º¡áτÑ¡¿¿ αѪ¿¼á ñ«ßΓπ»á ¬ Σá⌐½π πßΓá¡áó-
- ½¿óáÑΓß∩ ó 0 (ºá»αÑΘÑ¡¿Ñ). àß½¿ í¿Γ ó ¼á᪥ αáóÑ¡ 0, ß««ΓóÑΓßΓóπ-
- εΘ¿⌐ Ѽπ í¿Γ «ßΓáÑΓß∩ ¡Ñ¿º¼Ñ¡Ñ¡¡δ¼. îá߬á ñ«ßΓπ»á ñ½∩ ¡«ó«ú« Σá⌐-
- ½á ¡Ñ πßΓá¡«ó¿Γß∩, »«¬á Σá⌐½ ¡Ñ ºá¬α«ÑΓß∩ σ«Γ∩ íδ «ñ¿¡ αáº. Çαúπ-
- ¼Ñ¡Γ pmode ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γ¡δ¼ óδαáªÑ¡¿Ñ¼, ß«ñÑαªáΘ¿¼ «ñ¡π ¿½¿
- «íÑ ¼á¡¿ΣÑßΓ¡δÑ ¬«¡ßΓá¡Γδ S_IWRITE ¿ S_IREAD, «»αÑñѽѡ¡δÑ ó
- <sys\stat.h>.è«úñá ºáñá¡δ «íÑ ¬«¡ßΓá¡Γδ, «¡¿ «íΩÑñ¿¡∩εΓß∩ ½«ú¿τÑß-
- ¬¿¼ «»αáΓ«α«¼ êïê(:).
-
- ç¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá pmode »α¿ó«ñ¿Γß∩ ¡¿ªÑ.
-
- ç¡áτÑ¡¿Ñ àú« ß¼δß½
-
- S_IWRITE çỿß∞ ¡Ñ ñ«»π߬áÑΓß∩ (Σá⌐½ Γ«½∞¬« ñ½∩
- τΓÑ¡¿∩)
-
- S_IREAD ùΓÑ¡¿Ñ ¡Ñ ñ«»π߬áÑΓß∩ (Σá⌐½ Γ«½∞¬« ñ½∩
- ºá»¿ß¿)
-
-
- ìá»α¿¼Ñα, Ñß½¿ ó ¼á᪥ πßΓá¡«ó½Ñ¡ í¿Γ ºá»¿ß¿, ½εíδÑ ¡«óδÑ
- Σá⌐½δ íπñπΓ ñ«ßΓπ»¡δ ñ½∩ τΓÑ¡¿∩.
-
- çá¼Ñτá¡¿Ñ. é MS DOS óßÑ Σá⌐½δ ñ«ßΓπ»¡δ ñ½∩ τΓÑ¡¿∩, »«φΓ«¼π
- ñ«ßΓπ» Γ«½∞¬« »« ºá»¿ß¿ ºáñáΓ∞ ¡Ñ󫺼«ª¡«. ¥Γ« «í«º¡áτáÑΓ, τΓ«
- πßΓá¡«ó¬á í¿Γá τΓÑ¡¿∩ ó umask ¡Ñ ¿¼ÑÑΓ ß¼δß½á.
-
- - 248 -
-
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ umask ó«ºóαáΘáÑΓ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ pmode. 髺óαá-
- ΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼.Γá¬ªÑ chmod, creat, mkdir, open.
-
-
- Åα¿¼Ñα:
-
- #include <sys\types.h>
- #include <sys\stat.h>
- #include <io.h>
-
- int oldmask;
-
- oldmask=umask(S_IWRITE);
- /* ß«ºñáΓ∞ Σá⌐½δ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩ */
-
-
-
- UNGETC
-
- #include <stdio.h>
-
- int ungetc(c, stream);
- int c; ó«ºóαáΘáѼδ⌐ ß¿¼ó«½
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ Γ¿»á
- FILE
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ ungetc ó«ºóαáΘáÑΓ ß¿¼ó«½ "c" ó ºáñá¡¡δ⌐ »«Γ«¬ óó«ñá
- stream. Stream ñ«½ªÑ¡ íδΓ∞ íπΣÑਧ«óá¡¡δ¼ ¿ «Γ¬αδΓδ¼ ñ½∩ τΓÑ¡¿∩.
- ū߽ÑñπεΘá∩ «»Ñαᵿ∩ τΓÑ¡¿∩ ¿º stream ¡áτ¿¡áÑΓß∩ ß ß¿¼ó«½á "c".
- EOF óÑα¡πΓ∞ ó »«Γ«¬ »«ßαÑñßΓó«¼ ¿ß»«½∞º«óá¡¿∩ ungetc ¡Ñ½∞º∩. ¥Γá
- Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ «Φ¿í¬¿, Ñß½¿ ¿º stream ¡¿τÑú« ¡Ñ »α«-
- τ¿Γá¡« ¿½¿ Ñß½¿ "c" ¡áºáñ ¡Ñ ó«ºóαáΘÑ¡. 濼ó«½δ, αẼÑΘáѼδÑ ó
- »«Γ«¬Ñ »«ßαÑñßΓó«¼ ungetc, ¼«úπΓ íδΓ∞ π¡¿τΓ«ªÑ¡δ, Ñß½¿ Σπ¡¬µ¿¿
- fseek ¿½¿ rewind óδºóá¡δ »ÑαÑñ ßτ¿Γδó᡿Ѽ ß¿¼ó«½á ¿º stream.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ áαúπ¼Ñ¡Γ ß¿¼ó«½á "c". 髺óαáΘáѼ«Ñ
- º¡áτÑ¡¿Ñ EOF ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«¼ ó«ºóαáΘÑ¡¿¿ ºáñá¡¡«ú«
- ß¿¼ó«½á.
- æ¼. Γá¬ªÑ getc, getchar, putc, putchar.
-
- Åα¿¼Ñα:
-
- #inc <stdio.h>
- #include <ctype.h>
-
- FILE *stream;
-
- - 249 -
-
-
- int ch;
- int result = 0;
- .
- .
- .
- /* ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ óδí¿αáεΓ ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ ¿º »«Γ«¬á
- stream */
-
- while ((ch = getc(stream)) != EOF && isdigit(ch))
- result = result * 10 + ch - '0';
-
- if (ch != EOF)
- ungetc(ch, stream);
- /* ó«ºóαáΘáÑΓ ¡áºáñ ¡Ñ ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ. */
-
-
- UNGETCH
-
- #include <conio.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- int ungetch(c);
- int c; ó«ºóαáΘáѼδ⌐ ß¿¼ó«½
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ ungetch ó«ºóαáΘáÑΓ ß¿¼ó«½ "c" ¡á ¬«¡ß«½∞ ¿ «»αÑñÑ-
- ½∩ÑΓ Ñú« ¬á¬ ß½ÑñπεΘ¿⌐ τ¿ΓáѼδ⌐ ß¿¼ó«½. öπ¡¬µ¿∩ ungetch ¡Ñ óδ»«½-
- ¡∩ÑΓß∩, Ñß½¿ »ÑαÑñ ß½ÑñπεΘ¿¼ τΓÑ¡¿Ñ¼ «¡á óδºδóáÑΓß∩ í«½ÑÑ τѼ
- «ñ¿¡ αáº.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ ungetch ó«ºóαáΘáÑΓ ß¿¼ó«½ "c", Ñß½¿ Σπ¡¬µ¿∩ πñáτ¡«
- «Γαáí«Γá½á. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ EOF π¬áºδóáÑΓ ¡á «Φ¿í¬π.
- æ¼.Γá¬ªÑ cscanf, getch, getche.
-
- Åα¿¼Ñα:
-
- #include <conio.h>
- #include <ctype.h>
-
- char bufffer[100];
- int count=0;
- int ch;
-
- /* ß½ÑñπεΘ¿⌐ ¬«ñ íÑαÑΓ «í«º¡áτÑ¡¿Ñ, «úαá¡¿τÑ¡¡«Ñ »α«íѽἿ
- ¿½¿ ¡«ó묨 ßΓα«¬á¼¿, ¿º ¬½áó¿áΓπαδ */
-
- ch = getche();
-
- while (isspace(ch))
- ch = getche();
-
- while (count < 99)
-
- - 250 -
-
-
- { if (isspase(ch))
- break;
-
- buffer[count++] = ch;
- ch = getche();
- }
-
- ungetch(ch);
- buffer[count] = '\0';
-
-
- UNLINK
-
- #include <io.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
- #include <stdio.h> ¿ß»«½∞ºπÑΓ ½¿í« <io.h>, ½¿í«
- <stdio.h>
-
- int unlink(pathname);
- char *pathname; path-¿¼∩ πñá½∩Ѽ«ú« Σá⌐½á
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ unlink πñá½∩ÑΓ Σá⌐½, «»αÑñѽѡ¡δ⌐ »« pathname.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ unlink ó«ºóαáΘáÑΓ 0, Ñß½¿ Σá⌐½ πß»ÑΦ¡« πñá½Ñ¡. 髺-
- óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ ¿ errno πßΓá¡áó-
- ½¿óáÑΓß∩ ó «ñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- ç¡áτÑ¡¿Ñ àú« ß¼δß½
-
- EACCES Path-¿¼∩ «»αÑñѽ∩ÑΓ ñ¿αÑ¬Γ«α¿⌐ ¿½¿ Σá⌐½
- Γ«½∞¬« ñ½∩ τΓÑ¡¿∩
-
- ENOENT öá⌐½ ¿½¿ path-¿¼∩ ¡Ñ ¡á⌐ñÑ¡«
-
- æ¼.Γá¬ªÑ close, remove.
-
- Åα¿¼Ñα:
-
- #include <io.h>
- #include <stdio.h>
-
- int result;
-
- result=unlink("tmpfile");
- if (result == -1)
- perror("couldn't delete tmpfile");
-
-
- UTIME
-
- #include <sys\types.h>
-
- - 251 -
-
-
- #include <sys\utime.h>
-
- int utime(pathname, times);
- char *pathname; path-¿¼∩ Σá⌐½á
- struct utimbuf *times; π¬áºáΓѽ∞ ¡á σαá¡¿¼δÑ
- º¡áτÑ¡¿∩ óαѼѡ¿
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ utime πßΓá¡áó½¿óáÑΓ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á, ¬«Γ«-
- αδ⌐ «»αÑñѽ∩ÑΓß∩ »« pathname. Åα«µÑßß ñ«½ªÑ¡ ¿¼ÑΓ∞ ñ«ßΓπ» »« ºá-
- »¿ß¿ ¬ Σá⌐½π, ¿¡áτÑ óαѼ∩ ¡Ñ íπñÑΓ ¿º¼Ñ¡∩Γ∞ß∩.
- ū߬«½∞¬π ßΓαπ¬Γπαá utimbuf ß«ñÑαª¿Γ »«½Ñ óαѼѡ¿ ñ«ßΓπ»á,
- ó MS DOS πßΓá¡áó½¿óáÑΓß∩ Γ«½∞¬« óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿.
- àß½¿ times ∩ó½∩ÑΓß∩ NULL-π¬áºáΓѽѼ, óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ πß-
- Γá¡áó½¿óáÑΓß∩ »« ΓѬπΘѼπ óαѼѡ¿. ê¡áτÑ times ñ«½ª¡« π¬áºδóáΓ∞
- ¡á ßΓαπ¬Γπαπ Γ¿»á utimbuf, «»αÑñѽѡ¡πε ó <sys\utime.h>. é φΓ«⌐
- ßΓαπ¬ΓπαÑ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ πßΓá¡áó½¿óáÑΓß∩ ¿º »«½∩ modtime.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ utime ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, Ñß½¿ óαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿
- í佫 ¿º¼Ñ¡Ñ¡«. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í-
- ¬Ñ ¿ errno πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- çìÇùàìêà àâÄ æî¢æï
-
- EACCES Path-¿¼∩ Σá⌐½á «»αÑñѽ∩ÑΓ ñ¿αÑ¬Γ«α¿⌐
- ¿½¿ Σá⌐½, »αÑñ¡áº¡áτÑ¡¡δ⌐ Γ«½∞¬« ñ½∩
- τΓÑ¡¿∩.
-
- EMFILE æπΘÑßΓóπÑΓ ¼¡«ú« «Γ¬αδΓδσ Σá⌐½«ó
- (Σá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓδ¼ ñ½∩
- ¿º¼Ñ¡Ñ¡¿∩ óαѼѡ¿ Ñú« ¼«ñ¿Σ¿¬áµ¿¿).
-
- ENOENT öá⌐½ ¿½¿ path-¿¼∩ ¡Ñ ¡á⌐ñÑ¡«.
-
- æ¼. Γá¬ªÑ asctime, ctime, fstat, ftime, gmtime, localtime,
- stat, time.
-
-
- Åα¿¼Ñα.
-
- #include <sys\types.h>
- #include <sys\utime.h>
- #include <stdio.h>
- #include <stdlib.h>
-
- /* éαѼ∩ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á πßΓá¡áó½¿óáÑΓß∩ »« ΓѬπΘѼπ óαÑ-
- ¼Ñ¡¿ */
-
- if (utime("/tmp/data", NULL) == -1)
- perror ("utime failed").
-
-
-
- - 252 -
-
-
-
- VA_ARG - VA_START
-
- #include <varargs.h> ΓαÑíπÑΓß∩ ñ½∩
- ß«ó¼ÑßΓ¿¼«ßΓ¿ ß UNIX V.
-
- #include<stdarg.h> ΓαÑíπÑΓß∩ ñ½∩
- ß«ó¼ÑßΓ¿¼«ßΓ¿ ß«
- ßΓá¡ñáαΓ«¼ ANSI C.
-
- void va_start(arg-ptr); ¼á¬α« ñ½∩ πßΓá¡«ó¬¿
- arg-ptr ¬ ¡áτá½π
- ß»¿ß¬á ¡Ñ«í∩ºáΓѽ∞¡δσ
- áαúπ¼Ñ¡Γ«ó (Γ«½∞¬«
- óÑαß¿∩ <varargs.h>).
-
- void va_start(arg-ptr, prev-param);
- ¼á¬α« ñ½∩ πßΓá¡«ó¬¿
- arg-ptr ¬ ¡áτá½π ß»¿ß¬á
- ¡Ñ«í∩ºáΓѽ∞¡δσ áαúπ-
- ¼Ñ¡Γ«ó (Γ«½∞¬« óÑαß¿∩
- <stdarg.h>).
-
- type va_start(arg-ptr, type); ¼á¬α« ñ½∩ ó«ºóαáΘÑ¡¿∩
- ΓѬπΘÑú« áαúπ¼Ñ¡Γá
-
- void va_arg(arg-ptr); ¼á¬α« ñ½∩ »ÑαÑπßΓá¡«ó¬¿
- arg-ptr
-
- va_list arg-ptr; π¬áºáΓѽ∞ ¡á ß»¿ß«¬
- áαúπ¼Ñ¡Γ«ó;
- type Γ¿» ó«ºóαáΘáѼ«ú«
- áαúπ¼Ñ¡Γá;
- prev-param »áαá¼ÑΓα, »αÑñΦÑñßΓóπε-
- Θ¿⌐ »Ñαó«¼π
- ¡Ñ«í∩ºáΓѽ∞¡«¼π áαúπ-
- ¼Ñ¡Γπ (Γ«½∞¬« óÑαß¿∩
- <stdarg.h>).
-
- va_alist ¿¼∩ »áαá¼ÑΓαá ñ½∩ óδºδ-
- óáѼ«⌐ Σπ¡¬µ¿¿ (Γ«½∞¬«
- óÑαß¿∩ <varargs.h>).
-
- va_dcl «íΩ∩ó½Ñ¡¿Ñ va_alist
- (Γ«½∞¬« óÑαß¿∩
- <varargs.h>).
-
- Ä»¿ßá¡¿Ñ.
-
- îá¬α« va_start, va_arg, va_end «íÑß»Ñτ¿óáεΓ ß»«ß«í ñ«ßΓπ»á
- ¬ áαúπ¼Ñ¡Γá¼ Σπ¡¬µ¿¿, ¬«úñá «¡á »α¿¡¿¼áÑΓ »ÑαѼѡ¡«Ñ ¬«½¿τÑßΓó«
- áαúπ¼Ñ¡Γ«ó.
- ä«ßΓπ»¡δ 2 óÑαß¿¿ ¼á¬α«: ¼á¬α«, «íΩ∩ó½Ñ¡¡δÑ ó <varargs.h>,
- ¬«Γ«αδÑ ß«ó¼ÑßΓ¿¼δ ß «»αÑñѽѡ¿Ñ¼ ß¿ßΓѼδ UNIX 5, ¿ ¼á¬α«, «íΩ∩ó-
- ½Ñ¡¡δÑ ó <stdarg.h>, ¬«Γ«αδÑ »α¿óÑñÑ¡δ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓá¡ñáα-
-
- - 253 -
-
-
- Γ«¼ ANSI C.
- ÄíÑ óÑαß¿¿ ¼á¬α« »αÑñ»«½áúáεΓ, τΓ« Σπ¡¬µ¿∩ »α¿¡¿¼áÑΓ Σ¿¬ß¿-
- α«óá¡¡«Ñ τ¿ß½« ΓαÑíπѼδσ áαúπ¼Ñ¡Γ«ó, ß½ÑñπεΘÑÑ ºá »ÑαѼѡ¡δ¼ τ¿ß-
- ½«¼ ¡Ñ«í∩ºáΓѽ∞¡δσ áαúπ¼Ñ¡Γ«ó. ÆαÑíπѼδÑ áαúπ¼Ñ¡Γδ «íΩ∩ó½Ñ¡δ ¬á¬
- ¡Ñ«í∩ºáΓѽ∞¡δÑ »áαá¼ÑΓαδ ñ½∩ Σπ¡¬µ¿⌐ ¿ ¼«úπΓ íδΓ∞ ñ«ßΓπ»¡δ τÑαѺ
- ¿¼Ñ¡á »áαá¼ÑΓα«ó. ìÑ«í∩ºáΓѽ∞¡δÑ áαúπ¼Ñ¡Γδ ñ«ßΓπ»¡δ τÑαѺ ¼á¬α«
- <varargs.h> ¿½¿ <stdarg.h>, ¬«Γ«αδÑ πßΓá¡áó½¿óáεΓ π¬áºáΓѽ∞ ¡á
- »Ñαóδ⌐ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ áαúπ¼Ñ¡Γ ó ß»¿ß¬Ñ áαúπ¼Ñ¡Γ«ó; ó«ºóαáΘáεΓ
- áαúπ¼Ñ¡Γδ ¿º ß»¿ß¬á ¿ »ÑαÑπßΓá¡áó½¿óáεΓ π¬áºáΓѽ∞, ¬«úñá «íαáí«Γ-
- ¬á áαúπ¼Ñ¡Γ«ó ºáóÑαΦÑ¡á.
- îá¬α« ß¿ßΓѼδ UNIX 5, «íΩ∩ó½Ñ¡¡δÑ ó <varargs.h>, ¿ß»«½∞ºπ-
- εΓß∩ ¬á¬ »«¬áºá¡« ¡¿ªÑ.
-
- 1. ïεíδÑ ΓαÑíπѼδÑ »áαá¼ÑΓαδ ñ½∩ Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ «íΩ∩ó-
- ½Ñ¡δ «íδτ¡δ¼ ß»«ß«í«¼ ¬á¬ »áαá¼ÑΓαδ.
- 2. ū߽Ññ¡¿⌐ »áαá¼ÑΓα ñ½∩ Σπ¡¬µ¿¿ »αÑñßΓáó½∩ÑΓ ß»¿ß«¬ ¡Ñ«-
- í∩ºáΓѽ∞¡δσ áαúπ¼Ñ¡Γ«ó. ¥Γ«Γ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞ ¡áºóá¡ va_alist
- (¡Ñ »ÑαÑ»πΓá⌐ΓÑ Ñú« ß va_list, ¬«Γ«αδ⌐ «íΩ∩ó½Ñ¡ ¬á¬ Γ¿»
- va_alist).
- 3. îá¬α« va_dcl »«∩ó½∩ÑΓß∩ »«ß½Ñ «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿ ¿ »ÑαÑñ
- «Γ¬αδΓ«⌐ ½Ñó«⌐ ߬«í¬«⌐ Σπ¡¬µ¿¿. ¥Γá ¼á¬α« «íΩ∩ó½∩ÑΓß∩ ¬á¬ »«½¡«Ñ
- «»¿ßá¡¿Ñ »áαá¼ÑΓαá va_alist, «¬á¡τ¿óáεΘÑú«ß∩ Γ«τ¬«⌐ ß ºá»∩Γ«⌐,
- «ñ¡á¬«, ºá va_dcl ¡Ñ ¼«ªÑΓ ¿ñΓ¿ Γ«τ¬á ß ºá»∩Γ«⌐.
- 4. é¡πΓα¿ Σπ¡¬µ¿¿ ¼á¬α« va_start πßΓá¡áó½¿óáÑΓ arg-ptr ¬
- ¡áτá½π ß»¿ß¬á ¡Ñ«í∩ºáΓѽ∞¡δσ »áαá¼ÑΓα«ó, ¬«Γ«αδ⌐ »ÑαÑñáÑΓß∩ Σπ¡¬-
- µ¿¿. îá¬α« va_start ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ß∩ »ÑαÑñ va_arg, ¿ß»«½∞ºπ-
- Ѽ«⌐ ó »Ñαóδ⌐ αáº. Çαúπ¼Ñ¡Γ arg-ptr ñ«½ªÑ¡ ¿¼ÑΓ∞ Γ¿» va_list.
- 5. îá¬α« va_arg óδ»«½¡∩ÑΓ ß½ÑñπεΘÑÑ:
- * ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ºáñá¡¡«ú« Γ¿»á type ¿º Γ«ú« αáß»«½«-
- ªÑ¡¿∩, ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ »« áαúπ¼Ñ¡Γπ arg-ptr;
- * πóѽ¿τ¿óáÑΓ arg-ptr, τΓ«íδ π¬áºáΓ∞ ¡á ß½ÑñπεΘ¿⌐ áαúπ¼Ñ¡Γ
- ó ß»¿ß¬Ñ, ¿ß»«½∞ºπ∩ αẼÑα type ñ½∩ «»αÑñѽѡ¿∩ ¡áτá½á αáß»«½«ªÑ-
- ¡¿∩ ß½ÑñπεΘÑú« áαúπ¼Ñ¡Γá.
- é¡πΓα¿ Σπ¡¬µ¿⌐ ¼á¬α« va_arg ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ½εí«Ñ ¬«-
- ½¿τÑßΓó« αáº, τΓ«íδ ó«ºóαáΓ¿Γ∞ ΓαÑíπѼδÑ áαúπ¼Ñ¡Γδ ¿º ß»¿ß¬á.
- 6. Å«ß½Ñ ó«ºóαáΘÑ¡¿∩ óßÑσ áαúπ¼Ñ¡Γ«ó va_end πßΓá¡áó½¿óáÑΓ
- π¬áºáΓѽ∞ ó NULL.
-
- îá¬α«, »αÑñ½áúáѼδÑ ßΓá¡ñáαΓ«¼ ANSI C ¿ «íΩ∩ó½Ñ¡¡δÑ ó
- <stdarg.h>, ¡Ñº¡áτ¿Γѽ∞¡« «Γ½¿τáεΓß∩ «Γ ¼á¬α«, ¬«Γ«αδÑ «íΩ∩ó½Ñ¡δ
- ó <varargs.h>.
- 1. éßÑ ΓαÑíπѼδÑ áαúπ¼Ñ¡Γδ ñ½∩ Σπ¡¬µ¿¿ «íΩ∩ó½∩εΓß∩ ¬á¬ »á-
- αá¼ÑΓαδ. îá¬α« va_dcl ¡Ñ ¿ß»«½∞ºπÑΓß∩ ó¼ÑßΓÑ ß ¼á¬α« <stdarg.h>.
- 2. îá¬α« va_start πßΓá¡áó½¿óáÑΓ arg-ptr ¡á »Ñαóδ⌐ ¡Ñ«í∩ºá-
- Γѽ∞¡δ⌐ áαúπ¼Ñ¡Γ ¿º ß»¿ß¬á áαúπ¼Ñ¡Γ«ó, ¬«Γ«αδ⌐ »ÑαÑñáÑΓß∩ Σπ¡¬-
- µ¿¿. Çαúπ¼Ñ¡Γ arg-prt ñ«½ªÑ¡ ¿¼ÑΓ∞ Γ¿» va_list. Çαúπ¼Ñ¡Γ
- prev-param ∩ó½∩ÑΓß∩ ¿¼Ñ¡Ñ¼ ΓαÑíπѼ«ú« »áαá¼ÑΓαá, ¡Ñ»«ßαÑñßΓóÑ¡¡«
- »αÑñΦÑñßΓóπεΘÑú« »Ñαó«¼π ¡Ñ«í∩ºáΓѽ∞¡«¼π »áαá¼ÑΓαπ ¿º ß»¿ß¬á áα-
- úπ¼Ñ¡Γ«ó. îá¬α« va_start ñ«½ª¡á íδΓ∞ ¿ß»«½∞º«óá¡á »ÑαÑñ va_arg,
- ¿ß»«½∞ºπѼ«⌐ ó »Ñαóδ⌐ αáº.
- 3. îá¬α« va_arg óδ»«½¡∩ÑΓ ß½ÑñπεΘÑÑ:
- * ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á type ¿º Γ«ú« αáß»«½«ªÑ¡¿∩, ¬«Γ«-
- α«Ñ «»αÑñѽ∩ÑΓß∩ »« áαúπ¼Ñ¡Γπ arg-ptr.
- * τΓ«íδ π¬áºáΓ∞ ¡á ß½ÑñπεΘ¿⌐ áαúπ¼Ñ¡Γ ó ß»¿ß¬Ñ, «¡á πóѽ¿-
- τ¿óáÑΓ arg-ptr ¿ ¿ß»«½∞ºπÑΓ αẼÑα type ñ½∩ «»αÑñѽѡ¿∩ ¡áτá½á
-
- - 254 -
-
-
- αáß»«½«ªÑ¡¿∩ ß½ÑñπεΘÑú« áαúπ¼Ñ¡Γá.
- é¡πΓα¿ Σπ¡¬µ¿⌐ ¼á¬α« va_arg ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ½εí«Ñ ¬«-
- ½¿τÑßΓó« αáº, τΓ«íδ ó«ºóαáΓ¿Γ∞ ΓαÑíπѼδÑ áαúπ¼Ñ¡Γδ ¿º ß»¿ß¬á.
- 4. Å«ß½Ñ ó«ºóαáΘÑ¡¿∩ óßÑσ áαúπ¼Ñ¡Γ«ó, va_end »ÑαÑπßΓá¡áó½¿-
- óáÑΓ π¬áºáΓѽ∞ ó NULL.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- îá¬α« va_arg ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ áαúπ¼Ñ¡Γ; va_start ¿ va_end
- º¡áτÑ¡¿⌐ ¡Ñ ó«ºóαáΘáεΓ.
- æ¼. Γá¬ªÑ vfprintf, vprintf, vsprintf.
-
- Åα¿¼Ñα:
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ ½¿ßΓ¿¡ú »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ <varargs.h>
- ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß UNIX V.
-
- #include <stdio.h>
- #include <varargs.h>
-
- main()
- {
- int n;
- .
- .
- .
- /* óδºδóáÑΓß∩ Σπ¡¬µ¿∩ 4-σ áαúπ¼Ñ¡Γ«ó; »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ
- ºáñáÑΓß∩ αáó¡δ¼ -1, τΓ«íδ «Γ¼ÑΓ¿Γ∞ ¬«¡Ñµ ß»¿ß¬á áαúπ¼Ñ¡Γ«ó */
-
- n = average(2, 3, 4, -1);
- printf("Average is: %d\n", n);
- .
- .
- .
- /* óδºδóáÑΓß∩ Σπ¡¬µ¿∩ 5-Γ¿ áαúπ¼Ñ¡Γ«ó; »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ
- ºáñáÑΓß∩ αáó¡δ¼ -1, τΓ«íδ «Γ¼ÑΓ¿Γ∞ ¬«¡Ñµ ß»¿ß¬á áαúπ¼Ñ¡Γ«ó */
-
- n = average(5, 7, 9, 11, -1);
- printf("Average is: %d\n", n);
- }
-
- average(va_alist)
- va_dcl
- {
- int i = 0, count = 0, sum = 0;
- va_list arg_marker;
-
- va_start(arg_marker);
-
- /* ó«ºóαáΘÑ¡¿Ñ áαúπ¼Ñ¡Γ«ó ¿ »α¿íáó½Ñ¡¿Ñ ¬ sum, »«¬á ¡Ñ óßΓ-
- αÑΓ¿Γß∩ »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ -1. */
-
- for (; (i = va_arg(arg_marker, int)) >= 0;
- sum+=i, count++)
- ;
-
- - 255 -
-
-
- return (count ? (sum/count) : count);
- }.
-
-
- ǡὫú¿τ¡á∩ »α«úαá¼¼á, »ÑαѺỿßá¡¡á∩ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß«
- ßΓá¡ñáαΓ«¼ ANSI C.
-
- #include <stdio.h>
- #include <stdarg.h>
-
- main()
- {
- int n;
- .
- .
- .
- /* óδºδóáÑΓß∩ Σπ¡¬µ¿∩ 4-σ áαúπ¼Ñ¡Γ«ó; »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ
- ºáñáÑΓß∩ αáó¡δ¼ -1, τΓ«íδ «Γ¼ÑΓ¿Γ∞ ¬«¡Ñµ ß»¿ß¬á áαúπ¼Ñ¡Γ«ó */
-
- n = average(2, 3, 4, -1);
- printf("Average is: %d\n", n);
- .
- .
- .
- /* óδºδóáÑΓß∩ Σπ¡¬µ¿∩ 5-Γ¿ áαúπ¼Ñ¡Γ«ó; »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ
- ºáñáÑΓß∩ αáó¡δ¼ -1, τΓ«íδ «Γ¼ÑΓ¿Γ∞ ¬«¡Ñµ ß»¿ß¬á áαúπ¼Ñ¡Γ«ó */
-
- n = average(5, 7, 9, 11, -1);
- printf("Average is: %d\n", n);
- }
-
- average(first)
- int first;
- {
- int i = 0, count = 0, sum;
- va_list arg_marker;
-
- va_start(arg_marker, first);
-
- /* »Ñαóδ⌐ áαúπ¼Ñ¡Γ »α¿íáó½∩ÑΓß∩ ¬ sum ¿ πóѽ¿τ¿óáÑΓß∩
- count; Ñß½¿ »Ñαóδ⌐ áαúπ¼Ñ¡Γ αáóÑ¡ -1, »α«¿ßσ«ñ¿Γ ó«ºóαáΓ */
-
- if (first != -1)
- sum = first;
- else
- return (0);
- count++;
- /* ó«ºóαáΘÑ¡¿Ñ ñ«»«½¡¿Γѽ∞¡δσ áαúπ¼Ñ¡Γ«ó ¿ »α¿íáó½Ñ¡¿Ñ ¬
- sum, »«¬á ¡Ñ óßΓαÑΓ¿Γß∩ »«ß½Ññ¡¿⌐ áαúπ¼Ñ¡Γ -1. */
-
- for (; (i = va_arg(arg_marker, int)) >= 0;
- sum+=i, count++)
- ;
- return (sum/count);
- }.
-
- - 256 -
-
-
-
-
-
- VFPRINTF - VSPRINTF
-
- #include <stdio.h>
- #include <varargs.h> ΓαÑíπÑΓß∩ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß
- UNIX V.
-
- #include <stdarg.h> ΓαÑíπÑΓß∩ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß«
- ßΓá¡ñáαΓ«¼ ANSI C.
-
- int vfprintf(stream, format-string, arg-ptr);
- int vprintf(format-string, arg-ptr);
- int vsprintf(buffer, format-string, arg-ptr);
-
- FILE *stream; π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ Γ¿»á
- FILE.
- char *buffer; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ αѺπ½∞-
- ΓáΓá
- char *format-string; ßΓ᫬á π»αáó½Ñ¡¿∩ Σ«α¼áΓ«¼
- va_list arg-ptr; π¬áºáΓѽ∞ ¡á ß»¿ß«¬ áαúπ-
- ¼Ñ¡Γ«ó.
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ vfprintf, vprintf, vsprintf Σ«α¼áΓ¿απεΓ ¿ óδó«ñ∩Γ
- ñá¡¡δÑ ß««ΓóÑΓßΓóÑ¡¡« ó »«Γ«¬ stream, »«Γ«¬ ßΓá¡ñáαΓ¡«ú« óδó«ñá ¿
- íπΣÑα buffer. ¥Γ¿ Σπ¡¬µ¿¿ »«σ«ª¿ ¡á ßó«¿ ñó«⌐¡¿¬¿ fprintf,
- printf, sprintf, ¡« ¿ß»«½∞ºπεΓ π¬áºáΓѽ∞ ¡á ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó
- ó¼ÑßΓ« ß»¿ß¬á áαúπ¼Ñ¡Γ«ó.
- Format-string ¿¼ÑÑΓ Γπ ªÑ ßá¼πε Σ«α¼π ¿ Σπ¡¬µ¿ε, τΓ« ¿ áα-
- úπ¼Ñ¡Γ ßΓ᫬¿ Σ«α¼áΓá ñ½∩ Σπ¡¬µ¿¿ printf; (ß¼. «»¿ßá¡¿Ñ Σπ¡¬µ¿¿
- printf).
- Åáαá¼ÑΓα arg-ptr ¿¼ÑÑΓ Γ¿» va_list, «»αÑñѽ∩Ѽδ⌐ ó
- <vararg.h> ¿ <stdarg.h>. ¥Γ«Γ »áαá¼ÑΓα π¬áºδóáÑΓ ¡á ß»¿ß«¬ áαúπ-
- ¼Ñ¡Γ«ó, ¬«Γ«αδÑ »αÑ«íαẫóδóáεΓß∩ ¿ óδó«ñ∩Γß∩ ß«ú½áß¡« ß««ΓóÑΓßΓ-
- óπεΘ¿¼ ߻ѵ¿Σ¿¬áµ¿∩¼ Σ«α¼áΓá ó format-string.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáÑ¼δ¼ º¡áτÑ¡¿Ñ¼ ∩ó½∩ÑΓß∩ ¬«½¿τÑßΓó« óδóÑñÑ¡¡δσ ß¿¼-
- 󫽫ó.
- æ¼. Γá¬ªÑ fprintf, printf, sprintf, va_arg, va_end,
- va_start.
-
- Åα¿¼Ñα:
-
- é ¬áτÑßΓóÑ »α¿¼Ñαá »α¿ó«ñ¿Γß∩ ½¿ßΓ¿¡ú »α«úαá¼¼δ, ¿ß»«½∞ºπε-
- ΘÑ⌐ <varargs.h> ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß UNIX V.
-
- #include <stdio.h>
- #include <varargs.h>
-
- main ()
- {
-
- - 257 -
-
-
- int line = 1;
-
- char *filename = "EXAMPLE";
- .
- .
- .
- error("Error: line %d, file %s\n", line, filename);
- .
- .
- .
- error("Syntax error\n");
- }
-
- error(va_alist);
- va_dcl;
- {
- char *fmt;
- va_list arg_ptr;
-
- va_start(arg_ptr);
- /* arg_ptr ßÑ⌐τáß π¬áºδóáÑΓ ¡á ßΓ᫬π Σ«α¼áΓá */
- fmt = va_arg(arg_ptr, char *);
- /* arg_ptr ßÑ⌐τáß π¬áºδóáÑΓ ¡á áαúπ¼Ñ¡Γ »«ß½Ñ ßΓ᫬¿ Σ«α¼á-
- Γá */
- vprintf(fmt, arg_ptr);
- va_end(arg_ptr);
- }
-
- ìá óδσ«ñÑ:
-
- Error: line 1, file EXAMPLE
- Syntax error.
-
- ì¿ªÑ »α¿ó«ñ¿Γß∩ á¡á½«ú¿τ¡á∩ »α«úαá¼¼á, »ÑαѺỿßá¡¡á∩ ñ½∩
- ß«ó¼ÑßΓ¿¼«ßΓ¿ ß« ßΓá¡ñáαΓ«¼ ANSI C.
-
- #include <stdio.h>
- #include <stdarg.h>
-
- main ()
- {
- int line = 1;
- char *filename = "EXAMPLE";
- .
- .
- .
- error("Error: line %d, file %s\n", line, filename);
- .
- .
- .
- error("Syntax error\n");
- }
-
- error(fmt);
- char *fmt;
-
- - 258 -
-
-
- {
- va_list arg_ptr;
- va_start(arg_ptr, fmt);
-
-
- /* arg_ptr ßÑ⌐τáß π¬áºδóáÑΓ ¡á áαúπ¼Ñ¡Γ »«ß½Ñ ßΓ᫬¿ Σ«α¼á-
- Γá */
- vprintf(fmt, arg_ptr);
- va_end(arg_ptr);
- }
-
- ìá óδσ«ñÑ:
-
- Error: line 1, file EXAMPLE
- Syntax error.
-
-
-
-
- WRITE
-
- #include<io.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- int write (handle, buffer, count);
- int handle; handle-α, ßßδ½áεΘ¿⌐ß∩ ¡á «Γ¬αδΓδ⌐
- Σá⌐½
- char *buffer; ºá»¿ßδóáѼδÑ ñá¡¡δÑ
- unsigned int count; τ¿ß½« íá⌐Γ«ó
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ write ºá»¿ßδóáÑΓ íá⌐Γδ count ¿º íπΣÑαá buffer ó
- Σá⌐½, ßó∩ºá¡¡δ⌐ ß handle. Ä»Ñαᵿ¿ write ¡áτ¿¡áεΓß∩ ß ΓѬπΘÑ⌐ »«-
- º¿µ¿¿ π¬áºáΓѽ∩ ¡á Σá⌐½ (π¬áºáΓѽ∞ áßß«µ¿¿α«óá¡ ß ºáñá¡¡δ¼ Σá⌐-
- ½«¼). àß½¿ Σá⌐½ «Γ¬αδΓ ñ½∩ ñ«íáó½Ñ¡¿∩, «»Ñαᵿ¿ óδ»«½¡∩εΓß∩ ó ¬«-
- ¡Ñµ Σá⌐½á. Å«ß½Ñ «ßπΘÑßΓó½Ñ¡¿∩ «»Ñαᵿ⌐ ºá»¿ß¿ π¬áºáΓѽ∞ ¡á Σá⌐½
- (Ñß½¿ «¡ ÑßΓ∞) πóѽ¿τ¿óáÑΓß∩ ¡á ¬«½¿τÑßΓó« ñÑ⌐ßΓó¿Γѽ∞¡« ºá»¿ßá¡-
- ¡δσ íá⌐Γ«ó.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ write ó«ºóαáΘáÑΓ τ¿ß½« ñÑ⌐ßΓó¿Γѽ∞¡« ºá»¿ßá¡¡δσ
- íá⌐Γ«ó. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ñ«½ª¡« íδΓ∞ »«½«ª¿Γѽ∞¡δ¼, ¡« ¼Ñ¡∞-
- ΦÑ τ¿ß½á count (¡á»α¿¼Ñα, ¬«úñá αẼÑα ñ½∩ ºá»¿ß¿ count íá⌐Γ«ó
- óδσ«ñ¿Γ ºá »αÑñÑ½δ »α«ßΓαá¡ßΓóá ¡á ñ¿ß¬Ñ). 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ
- -1 π¬áºδóáÑΓ ¡á «Φ¿í¬π; errno πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º ß½ÑñπεΘ¿σ
- º¡áτÑ¡¿⌐:
-
- çìÇùàìêà àâÄ æî¢æï
-
- EACCES Σá⌐½ «Γ¬αδΓ ñ½∩ τΓÑ¡¿∩ ¿½¿ ºá¬αδΓ ñ½∩
- ºá»¿ß¿
-
- EBADF ¡ÑóÑα¡δ⌐ handle-α Σá⌐½á
-
- - 259 -
-
-
-
- ENOSPC ¡á πßΓα«⌐ßΓóÑ ¡ÑΓ ßó«í«ñ¡«ú« ¼ÑßΓá
-
- àß½¿ ó Σá⌐½ ºá»¿ßá¡« í«½ÑÑ 32è (¼á¬ß¿¼á½∞¡δ⌐ αẼÑα ñ½∩
- Γ¿»á int), ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ íπñÑΓ ¿¼ÑΓ∞ Γ¿» unsigned int
- (ß¼.¡¿ªÑß½ÑñπεΘ¿⌐ »α¿¼Ñα). Äñ¡á¬«, ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« ºá»¿ßδóáÑ-
- ¼δσ íá⌐Γ«ó ó Σá⌐½ αáó¡« 65534; »«ß¬«½∞¬π τ¿ß½« 65535 ∩ó½∩ÑΓß∩ ¡Ñ-
- «Γ½¿τ¿¼δ¼ «Γ -1, Γ« ó«ºóαáΘáÑΓß∩ «Φ¿í¬á. àß½¿ ºáñá¡¡δ⌐ Σá⌐½ «Γ¬-
- αδΓ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ¬áªñδ⌐ ß¿¼ó«½ "ÅÑαÑó«ñ ßΓ᫬¿" ¡á óδσ«ñÑ
- ºá¼Ñ¡∩ÑΓß∩ »áα«⌐ "髺óαáΓ ¬áαÑΓ¬¿-ÅÑαÑó«ñ ßΓ᫬¿". ¥Γá ºá¼Ñ¡á ¡Ñ
- ó½¿∩ÑΓ ¡á ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
- æ¼.Γá¬ªÑ fwrite, open, read.
-
- çá¼Ñτá¡¿Ñ. Åα¿ ºá»¿ß¿ ó Σá⌐½, «Γ¬αδΓδ⌐ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ,
- ß¿¼ó«½ Γαá¬ΓπÑΓß∩ ¬á¬ ½«ú¿τÑ߬¿⌐ ¬«¡Ñµ Σá⌐½á. Åα¿ ºá»¿ß¿ ¡á πßΓ-
- α«⌐ßΓó« ß¿¼ó«½ ó íπΣÑαÑ ó½¿∩ÑΓ ¡á «¬«¡τá¡¿Ñ #include<io.h>.
-
- #include<stdio.h>
- #include<fcntl.h>
-
- char buffer [60000];
-
- main ()
-
- {
- int fh;
- unsigned int nbytes = 60000, byteswritten;
-
- if ((fh=open("c:/data/conf.dat",O_WRONLY))==-1) {
- perror("open failed on output file");
- exit (1);
- }
- if ((byteswritten=write(fh,buffer,nbytes))==-1)
- perror ("");
- else
- printf("Wrote %u bytes to file\n",byteswritten);
- .
- .
- .
- }
- .
- - 260 -
-
-
-
-
-
-
- Å É ê ï Ä å à ì ê à
-
-
- æ««íΘÑ¡¿∩ «í «Φ¿í¬áσ
-
-
- 1. éóÑñÑ¡¿Ñ
-
-
- é φΓ«¼ »α¿½«ªÑ¡¿¿ ß«ñÑনΓß∩ ß»¿ß«¬ ¿ «»¿ßá¡¿Ñ º¡áτÑ¡¿⌐, ó
- ¬«Γ«αδÑ πßΓá¡áó½¿óáÑΓß∩ »ÑαѼѡ¡á∩ errno, Ñß½¿ »α¿ ó맮óÑ í¿í½¿«-
- ΓÑτ¡«⌐ »α«µÑñπαδ 󫺡¿¬áÑΓ «Φ¿í¬á. çá¼ÑΓ¿¼, τΓ« ¡Ñ¬«Γ«αδÑ »α«µÑ-
- ñπαδ ßἿ πßΓá¡áó½¿óáεΓ »ÑαѼѡ¡πε errno. æ««íΘÑ¡¿∩ «í «Φ¿í¬áσ
- ßó∩ºá¡δ ß ¬áªñδ¼ º¡áτÑ¡¿Ñ¼ errno. ¥Γ¿ ß««íΘÑ¡¿∩ ¿ ß««íΘÑ¡¿∩, »«ß-
- Γáó½∩ѼδÑ »«½∞º«óáΓѽ∩¼¿, »ÑτáΓáεΓß∩ »«ßαÑñßΓó«¼ »α¿¼Ñ¡Ñ¡¿∩ Σπ¡¬-
- 樨 perror.
- ç¡áτÑ¡¿Ñ errno «ΓαáªáÑΓ ß««ΓóÑΓßΓóπεΘÑÑ º¡áτÑ¡¿Ñ «Φ¿í¬¿ ñ½∩
- Γ«ú« ó맮óá, ó ¬«Γ«α«¼ πßΓá¡«ó½Ñ¡« errno. ç¡áτÑ¡¿Ñ errno áóΓ«¼á-
- Γ¿τÑ߬¿ ¡Ñ πí¿αáÑΓß∩. Å«φΓ«¼π, τΓ«íδ »«½πτ¿Γ∞ »αáó¿½∞¡δÑ αѺπ½∞-
- ΓáΓδ αáí«Γδ »α«úαá¼¼δ, ¡πª¡« ßαáºπ ªÑ »«ß½Ñ ó맮óá φΓ«⌐ »α«úαá¼¼δ
- »α«óÑα∩Γ∞ ÑÑ ¡á «Φ¿í¬¿ ¿ »ÑτáΓáΓ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ ß««íΘÑ¡¿∩ «í
- «Φ¿í¬áσ .
- Include-Σá⌐½ <erno.h> ß«ñÑαª¿Γ «íΩ∩ó½Ñ¡¿∩ º¡áτÑ¡¿⌐ errno.
- Äñ¡á¬« ó MS DOS ¿ß»«½∞ºπεΓß∩ ¡Ñ óßÑ «íΩ∩ó½Ñ¡¿∩, ºáñá¡¡δÑ ó
- <errno.h>. Include-Σá⌐½ ß«ñÑαª¿Γ Γá¬ªÑ »«½¡«Ñ ¼¡«ªÑßΓó« º¡áτÑ¡¿⌐,
- ¬«Γ«α«Ñ «íÑß»Ñτ¿óáÑΓ »«ññÑ᪬π ß«ó¼ÑßΓ¿¼«ßΓ¿ ß XENIX ¿ UNIX
- include-Σá⌐½á¼¿, ¿¼ÑεΘ¿¼¿ á¡á½«ú¿τ¡«Ñ ¿¼∩. é φΓ«¼ »α¿½«ªÑ¡¿¿ »α¿-
- ó«ñ¿Γß∩ ß»¿ß«¬ º¡áτÑ¡¿⌐ errno, ¿ß»«½∞ºπѼδσ ó MS DOS. Å«½¡δ⌐ ß»¿-
- ß«¬ º¡áτÑ¡¿⌐ errno »α¿óÑñÑ¡ ó include-Σá⌐½Ñ <errno.h>. çñÑß∞ ß«-
- ñÑনΓß∩ Γá¬ªÑ ß»¿ß«¬ «Φ¿í«¬, 󫺡¿¬áεΘ¿σ »α¿ óδ»«½¡Ñ¡¿¿ ¼áΓѼá-
- Γ¿τÑ߬¿σ »α«µÑñπα. ¥Γ¿ «Φ¿í¬¿ ß««ΓóÑΓßΓóπεΓ Γᬿ¼ Γ¿»á¼ «Φ¿í«¬,
- ¬«Γ«αδÑ «íΩ∩ó½Ñ¡δ ó <math.h> ¿ »α¿ 󫺡¿¬¡«óÑ¡¿¿ ¼áΓѼáΓ¿τÑ߬«⌐
- «Φ¿í¬¿ ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐ matherr.
-
-
- 2. ç¡áτÑ¡¿∩ errno
-
- é Γáí½¿µÑ Ç.1 ºáñá¡δ º¡áτÑ¡¿∩ errno, ¿ß»«½∞ºπѼδÑ ó MS DOS,
- ß¿ßΓѼ¡δÑ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ, ß««ΓóÑΓßΓóπεΘ¿Ñ ¬áªñ«¼π º¡áτÑ¡¿ε,
- á Γá¬ªÑ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ß½πτáÑó, »«ó½Ñ¬Φ¿σ «Φ¿í¬π.
-
- Æáí½¿µá Ç.1
-
- ç¡áτÑ¡¿∩ errno ¿ ¿σ «»¿ßá¡¿∩
-
- ç¡áτÑ¡¿Ñ æ««íΘÑ¡¿Ñ Ä»¿ßá¡¿Ñ
-
- E2BIG 滿߫¬ áαúπ¼Ñ¡Γ«ó 滿߫¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ
- «τÑ¡∞ ñ½¿¡¡δ⌐. 128è ¿½¿ »α«ßΓαá¡ßΓó«,
- ΓαÑíπѼ«Ñ ñ½∩ ¿¡Σ«α¼áµ¿¿
- «¬απªÑ¡¿∩, »αÑóδΦáÑΓ 32è.
-
- - 261 -
-
-
-
- EACCES ä«ßΓπ» ä«ßΓπ» ºá»αÑΘÑ¡: αáºαÑΦÑ¡¿Ñ,
- ºá»αÑΘÑ¡ πßΓá¡«ó½Ñ¡¡«Ñ ñ½∩ Σá⌐½á, ¡Ñ
- ºáñáÑΓ ΓαÑíπѼδ⌐ ñ«ßΓπ».
- ¥Γá «Φ¿í¬á 󫺡¿¬áÑΓ ó ΓÑσ
- ß½πτá∩σ, ¬«úñá ßñѽá¡á
- »«»δΓ¬á ñ«ßΓπ»á ¬ Σá⌐½π
- »πΓѼ, ¬«Γ«αδ⌐ ¡Ñß«ó¼ÑßΓ¿¼
- ß áΓα¿íπΓἿ Σá⌐½á.
- ìá»α¿¼Ñα, «Φ¿í¬á 󫺡¿¬½á
- »α¿ τΓÑ¡¿¿ ¿º Σá⌐½á, ¬«Γ«-
- αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼;
- »α¿ ºá»¿ß¿ ó «Γ¬αδΓδ⌐ Σá⌐½,
- »αÑñ¡áº¡áτÑ¡¡δ⌐ Γ«½∞¬« ñ½∩
- τΓÑ¡¿∩; »α¿ «Γ¬αδΓ¿¿
- ñ¿αÑ¬Γ«α¿∩ ó¼ÑßΓ« Σá⌐½á. é
- óÑαß¿∩σ MS DOS 3.0 ¿
- ßΓáαΦ¿σ EACCES ¼«ªÑΓ π¬áºδ-
- óáΓ∞ ¡á ¡áαπΦÑ¡¿Ñ í½«¬¿α«ó-
- ¬¿ ¿½¿ αѪ¿¼á αáºñѽѡ¿∩.
- ÄΦ¿í¬á 󫺡¿¬áÑΓ Γá¬ªÑ »α¿
- »ÑαÑ¿¼Ñ¡«óá¡¿¿ Σá⌐½á ¿½¿
- «ú½áó½Ñ¡¿∩; »α¿ π¡¿τΓ«ªÑ¡¿¿
- ßπΘÑßΓóπεΘÑú« ñ¿αÑ¬Γ«α¿∩.
-
- EBADF ìÑóÑα¡«Ñ Σá⌐½«ó«Ñ ç¡áτÑ¡¿Ñ handle ñ½∩ Σá⌐½á
- τ¿ß½«. ¡Ñ ∩ó½∩ÑΓß∩ »αáó¿½∞¡δ¼,½¿í«
- «¡« ¡Ñ ßßδ½áÑΓß∩ ¡á «Γ¬αδ-
- Γδ⌐ Σá⌐½; ½¿í« ßñѽá¡á
- »«»δΓ¬á ºá»¿ß¿ ó Σá⌐½ ¿½¿
- ¡á πßΓα«⌐ßΓó«, «Γ¬αδΓδÑ
- Γ«½∞¬« ñ½∩ τΓÑ¡¿∩ (¿ ¡á«í«-
- α«Γ).
-
- EDEADLOCK ÑΓ ó«º¡¿¬¡πΓ∞ Åα¿¡πñ¿Γѽ∞¡á∩ í½«¬¿α«ó¬á:
- ºáó¿ßá¡¿Ñ Σá⌐½ ¡Ñ ¼«ªÑΓ íδΓ∞
- (Γπ»¿¬) í½«¬¿α«óá¡ »«ß½Ñ 10
- »«»δΓ«¬ (ñ½∩ óÑαß¿¿ MS DOS
- 3.0 ¿ »«ß½ÑñπεΘ¿σ).
-
- EDOM îáΓѼáΓ¿τÑ߬¿⌐ Çαúπ¼Ñ¡Γ ñ½∩ ¼áΓѼáΓ¿τÑ߬«⌐
- áαúπ¼Ñ¡Γ. Σπ¡¬µ¿¿ ¡Ñ »α¿¡áñ½Ñª¿Γ
- «í½áßΓ¿ «»αÑñѽѡ¿∩ φΓ«⌐
- Σπ¡¬µ¿¿.
-
- EEXIST öá⌐½ ßπΘÑßΓóπÑΓ. ö½áú¿ O_CREATE ¿ O_EXCL
- «»αÑñÑ½Ñ¡δ »α¿ «Γ¬αδΓ¿¿
- Σá⌐½á, ¡« Σá⌐½ ß ºáñá¡¡δ¼
- ¿¼Ñ¡Ñ¼ πªÑ ßπΘÑßΓóπÑΓ.
-
- EINVAL ìÑóÑα¡δ⌐ çáñá¡ ¡ÑóÑα¡δ⌐ áαúπ¼Ñ¡Γ ñ½∩
- áαúπ¼Ñ¡Γ. «ñ¡«ú« ¿º áαúπ¼Ñ¡Γ«ó
- Σπ¡¬µ¿¿. ìá»α¿¼Ñα, º¡áτÑ¡¿Ñ
- ñ½∩ origin (áñαÑß ¡áτá½á
- »α«úαá¼¼δ), ºáñáÑΓß∩, ¬«úñá
-
- - 262 -
-
-
- π¬áºáΓѽ∞ ¡á Σá⌐½ ¡áσ«ñ¿Γß∩
- »ÑαÑñ ¡áτὫ¼ Σá⌐½á.
-
- EMFILE î¡«ú« «Γ¬αδΓδσ äαπú¿Ñ handle-αδ ñ½∩ Σá⌐½á
- ¡Ññ«ßΓπ»¡δ, Γᬠ¬á¬ ¡Ñ½∞º∩
- í«½∞ΦÑ «Γ¬αδΓ∞ ñαπú¿Ñ Σá⌐½δ.
-
- ENOENT ìÑΓ ñá¡¡«ú« Σá⌐½á çáñá¡¡δ⌐ Σá⌐½ ¿½¿
- ¿½¿ ñ¿αÑ¬Γ«α¿∩. ñ¿αÑ¬Γ«α¿⌐ ¡Ñ ßπΘÑßΓóπÑΓ
- ¿½¿ ¡Ñ ¼«ªÑΓ íδΓ∞ ¡á⌐ñÑ¡.
- ¥Γ« ß««íΘÑ¡¿Ñ 󫺡¿¬áÑΓ,
- Ñß½¿ ºáñá¡¡δ⌐ Σá⌐½ ¡Ñ ßπ-
- ΘÑßΓóπÑΓ ¿½¿ ó ßπΘÑßΓóπεΘѼ
- ñ¿αÑ¬Γ«α¿¿ ¡Ñ «»αÑñѽѡá
- ¬«¼»«¡Ñ¡Γá path-¿¼Ñ¡¿.
-
- ENOEXEC ÄΦ¿í¬á .EXE- æñѽá¡á »«»δΓ¬á ß«ºñáΓ∞
- Σ«α¼áΓá. Σá⌐½, ¬«Γ«αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩
- óδ»«½¡¿¼δ¼ ¿½¿ ¬«Γ«αδ⌐
- ¿¼ÑÑΓ ¡ÑóÑα¡δ⌐ .EXE-Σ«α¼áΓ.
-
- ENOMEM Åá¼∩Γ¿ ¡Ññ«ßΓá- ä«ßΓπ»¡« ¡Ññ«ßΓáΓ«τ¡«
- Γ«τ¡«. »á¼∩Γ¿. ¥Γ« ß««íΘÑ¡¿Ñ ¼«ªÑΓ
- 󫺡¿¬áΓ∞, ¬«úñá ñ½∩
- óδ»«½¡Ñ¡¿∩ child-»α«µÑßßá
- »á¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡«, ¿½¿
- ¬«úñá ñ½∩ »á¼∩Γ¿ ¡Ñ󫺼«ª¡«
- «íÑß»Ñτ¿Γ∞ Γá¬«Ñ αáß»«½«ªÑ-
- ¡¿Ñ, ¬«Γ«α«Ñ ΓαÑíπÑΓß∩ »α¿
- ó맮óáσ sbrk ¿½¿ getcwd.
-
- ENOSPC ìá πßΓα«⌐ßΓóÑ ¡Ñ æó«í«ñ¡«ú« »α«ßΓαá¡ßΓóá ¡á
- «ßΓὫß∞ ßó«í«ñ- πßΓα«⌐ßΓóÑ ¡Ññ«ßΓáΓ«τ¡«,
- ¡«ú« ¼ÑßΓá τΓ«íδ »α«¿ºóÑßΓ¿ ºá»¿ß∞,
- (¡á»α¿¼Ñα, ñ¿ß¬ »«½«¡).
-
- ERANGE ÉѺπ½∞ΓáΓ «τÑ¡∞ Çαúπ¼Ñ¡Γ ñ½∩ ¼áΓѼáΓ¿τÑ߬«⌐
- í«½∞Φ«⌐. Σπ¡¬µ¿¿ «τÑ¡∞ í«½∞Φ«⌐, »«-
- φΓ«¼π »α«¿ßσ«ñ¿Γ τáßΓ¿τ¡á∩
- ¿½¿ »«½¡á∩ »«ΓÑα∩ º¡áτ¿¼«ß-
- Γ¿ αѺπ½∞ΓáΓá. ¥Γá «Φ¿í¬á
- Γá¬ªÑ ¼«ªÑΓ ó«º¡¿¬¡πΓ∞ ó
- ñαπú¿σ Σπ¡¬µ¿∩σ, ¬«úñá
- áαúπ¼Ñ¡Γ í«½∞ΦÑ, τѼ
- »αÑñ»«½áúáÑΓß∩. (ìá»α¿¼Ñα,
- ¬«úñá áαúπ¼Ñ¡Γ path-¿¼Ñ¡¿
- ñ½∩ Σπ¡¬µ¿¿ getcwd í«½∞ΦÑ,
- τѼ »αÑñ»«½áúáÑΓß∩).
-
- EXDEV ÅÑαѬαÑßΓ¡á∩ ßó∩º∞ æñѽá¡á »«»δΓ¬á »ÑαѼÑΘÑ¡¿∩
- ß πßΓα«⌐ßΓó«¼. Σá⌐½á ¡á ñαπú«Ñ πßΓα«⌐ßΓó«
- (¿ß»«½∞ºπÑΓß∩ Σ-∩ rename).
-
-
-
-
- - 263 -
-
-
- 3. îáΓѼáΓ¿τÑ߬¿Ñ «Φ¿í¬¿
-
- ÄΦ¿í¬¿, »α¿óÑñÑ¡¡δÑ ¡¿ªÑ, »«α«ªñáεΓß∩ ¼áΓѼáΓ¿τÑ߬¿¼¿ »α«-
- µÑñπαἿ í¿í½¿«ΓѬ¿ æ¿. ¥Γ¿ «Φ¿í¬¿ ß««ΓóÑΓßΓóπεΓ Γ«½∞¬« ΓѼ Γ¿»á¼
- «Φ¿í«¬, ¬«Γ«αδÑ «íΩ∩ó½Ñ¡δ ó <math.h>, ¿ ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐
- matherr. ü«½ÑÑ »«ñα«í¡« «í« óßÑσ «Φ¿í¬áσ »α¿óÑñÑ¡« ó «»¿ßá¡¿¿
- Σπ¡¬µ¿¿ matherr ó τáßΓ¿ 2 ñá¡¡«ú« απ¬«ó«ñßΓóá.
-
-
- ÄΦ¿í¬á Ä»¿ßá¡¿Ñ
-
- DOMAIN Çαúπ¼Ñ¡Γ ñ½∩ Σπ¡¬µ¿¿ ¡áσ«ñ¿Γß∩ ó¡Ñ
- «í½áßΓ¿ «»αÑñѽѡ¿∩ Σπ¡¬µ¿¿.
-
- OVERFLOW ÉѺπ½∞ΓáΓ «τÑ¡∞ í«½∞Φ«⌐ ñ½∩ »αÑñ«ßΓáó-
- ½Ñ¡¿∩ Ñú« ó ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿.
-
- PLOSS 髺¡¿¬½á τáßΓ¿τ¡á∩ »«ΓÑα∩ º¡áτ¿¼«ßΓ¿.
-
- SING Äß«íÑ¡¡«ßΓ∞ áαúπ¼Ñ¡Γá: áαúπ¼Ñ¡Γ ñ½∩
- Σπ¡¬µ¿¿ ¿¼ÑÑΓ ¡ÑóÑα¡«Ñ º¡áτÑ¡¿Ñ
- (¡á»α¿¼Ñα, »ÑαÑßδ½áÑΓß∩ º¡áτÑ¡¿∩ 0 ¬
- Γ«⌐ Σπ¡¬µ¿¿, ¬«Γ«αá∩ ΓαÑíπÑΓ ¡Ñ¡π½Ñó«ú«
- º¡áτÑ¡¿∩).
-
- TLOSS 髺¡¿¬½á «íΘá∩ »«ΓÑα∩ º¡áτ¿¼«ßΓ¿.
-
- UNDERFLOW ÉѺπ½∞ΓáΓ «τÑ¡∞ ¼á½Ñ¡∞¬¿⌐ ñ½∩ »αÑñ«ßΓá-
- ó½Ñ¡¿∩ Ñú« ó ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿.
-
-
-
-
-