home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-18 | 57.3 KB | 1,422 lines |
- - 214 -
-
-
-
- àß½¿ pathname ¡Ñ ¿¼ÑÑΓ αáßΦ¿αÑ¡¿∩ ñ½∩ ¿¼Ñ¡¿ Σá⌐½á ¿½¿ Ñß½¿
- «¡« ¡Ñ ºá¬á¡τ¿óáÑΓß∩ Γ«τ¬«⌐ (.), Γ«úñá Σπ¡¬µ¿∩ spawn πßΓá¡áó½¿óá-
- ÑΓ αáßΦ¿αÑ¡¿Ñ .EXE. àß½¿ pathname ¿¼ÑÑΓ αáßΦ¿αÑ¡¿Ñ, Γ« ¿ß»«½∞ºπ-
- ÑΓß∩ Γ«½∞¬« φΓ« αáßΦ¿αÑ¡¿Ñ. àß½¿ pathname ºá¬á¡τ¿óáÑΓß∩ Γ«τ¬«⌐,
- spawn «ßπΘÑßΓó½∩ÑΓ »«¿ß¬ pathname íѺ αáßΦ¿αÑ¡¿∩. Åα«µÑñπαδ
- execlp, execlpe, execvpe «ßπΘÑßΓó½∩εΓ »«¿ß¬ ñ½∩ pathname (¿ß»«½∞-
- ºπ∩ ΓÑ ªÑ »α«µÑñπαδ) ó ñ¿αÑ¬Γ«α¿∩σ, «»αÑñѽѡ¡δσ »ÑαѼѡ¡«⌐ «¬απ-
- ªÑ¡¿∩ PATH.
- Çαúπ¼Ñ¡Γδ ñ½∩ ¡«ó«ú« »α«µÑßßá »ÑαÑñáεΓß∩ ¬á¬ áαúπ¼Ñ¡Γδ ó
- ó맮óÑ spawn, ºáñáóá∩ «ñ¿¡ ¿½¿ í«½ÑÑ π¬áºáΓѽÑ⌐ ¡á ß¿¼ó«½∞¡δÑ
- ßΓ᫬¿. ¥Γ¿ ß¿¼ó«½∞¡δÑ ßΓ᫬¿ «íαáºπεΓ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó ñ½∩
- child-»α«µÑßßá. ÄíΘá∩ ñ½¿¡á ßΓ᫬, «íαáºπεΘ¿σ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó
- ñ½∩ ¡«ó«ú« »α«µÑßßá, ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞ 128 íá⌐Γ«ó. ìπ½Ñó«⌐ ß¿¼-
- ó«½ «¬«¡τá¡¿∩ '\0'ñ½∩ ¬áªñ«⌐ ßΓ᫬¿ ó φΓπ ñ½¿¡π ¡Ñ ºáßτ¿ΓδóáÑΓß∩,
- á ß¿¼ó«½δ »α«íѽá (áóΓ«¼áΓ¿τÑ߬¿ óßΓáó½∩ѼδÑ ñ½∩ áαúπ¼Ñ¡Γ«ó)-ºáß-
- τ¿ΓδóáεΓß∩.
- ô¬áºáΓѽ¿ áαúπ¼Ñ¡Γ«ó ¼«úπΓ »ÑαÑñáóáΓ∞ß∩ ¬á¬ «Γñѽ∞¡δÑ áαúπ-
- ¼Ñ¡Γδ (ó execl, execle, execlp, execlpe) ¿½¿ ¬á¬ ¼áßß¿ó π¬áºáΓÑ-
- ½Ñ⌐ (ó execv, execve, execvp, execvpe). Å« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ áα-
- úπ¼Ñ¡Γ - arg0 ¿½¿ argv[0] - ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ ¬ child-»α«µÑßßπ.
- Å« πß½«ó¿ε φëà áαúπ¼Ñ¡Γ ∩ó½∩ÑΓß∩ ¬«»¿Ñ⌐ áαúπ¼Ñ¡Γá pathname.
- (äαπú«Ñ º¡áτÑ¡¿Ñ «Φ¿í¬¿ ¡Ñ óδαáíáΓδóáÑΓß∩). é óÑαß¿∩σ MS DOS,
- αá¡¡¿σ «Γ 3.0, »ÑαÑñáóáѼ«Ñ º¡áτÑ¡¿Ñ arg0 ¿½¿ argv[0] ¡Ñ ñ«ßΓπ»¡«
- ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó child-»α«µÑßßÑ. Äñ¡á¬«, ñ½∩ óÑαß¿⌐ MS DOS 3.0
- ¿ ßΓáαΦÑ pathname ñ«ßΓπ»¡« τÑαѺ arg0 ¿½¿ argv[0].
- é맮óδ execl, execle, execlp, execlpe «íδτ¡« ¿ß»«½∞ºπεΓß∩
- Γ«úñá, ¬«úñá ¬«½¿τÑßΓó« áαúπ¼Ñ¡Γ«ó ¿ºóÑßΓ¡« ºáαá¡ÑÑ. Çαúπ¼Ñ¡Γ
- arg0 «íδτ¡« ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á pathname. Çαúπ¼Ñ¡Γδ «Γ arg1 ñ«
- argn ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿ ¡á ß¿¼ó«½∞¡δÑ ßΓ᫬¿, «íαáºπεΘ¿Ñ ¡«óδ⌐
- ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó. NULL-π¬áºáΓѽ∞, ¿ñπΘ¿⌐ ºá áαúπ¼Ñ¡Γ«¼ argn, «»-
- αÑñѽ∩ÑΓ ¬«¡Ñµ ß»¿ß¬á áαúπ¼Ñ¡Γ«ó.
- é맮óδ execv, execve, execvp, execvpe ¿ß»«½∞ºπεΓß∩, ¬«úñá
- τ¿ß½« áαúπ¼Ñ¡Γ«ó ñ½∩ ¡«ó«ú« »α«µÑßßá ∩ó½∩ÑΓß∩ »ÑαѼѡ¡δ¼. ô¬áºá-
- Γѽ¿ ¡á áαúπ¼Ñ¡Γδ »ÑαÑßδ½áεΓß∩ ¬á¬ ¼áßß¿ó argv. Çαúπ¼Ñ¡Γ argv[0]
- «íδτ¡« ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á pathname. Çαúπ¼Ñ¡Γδ «Γ argv[1] ñ«
- argv[n] ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿ ¡á ß¿¼ó«½∞¡δÑ ßΓ᫬¿, «íαáºπεΘ¿Ñ ¡«-
- óδ⌐ ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó. Çαúπ¼Ñ¡Γ argv[n+1] ¼«ªÑΓ íδΓ∞ NULL-π¬áºá-
- ΓѽѼ ñ½∩ «»αÑñѽѡ¿∩ ¬«¡µá ß»¿ß¬á áαúπ¼Ñ¡Γ«ó.
- öá⌐½δ, «Γ¬αδΓδÑ »α¿ ó맮óÑ spawn, «ßΓáεΓß∩ «Γ¬αδΓ묨 ó ¡«-
- ó«¼ »α«µÑßßÑ. é ó맮óáσ execl, execlp, execv, execvp, child-»α«-
- µÑßß ¡áß½ÑñπÑΓ «¬απªÑ¡¿Ñ parent-»α«µÑßßá. é맮óδ execle, execlpe,
- execve, execvpe »«ºó«½∩εΓ »«½∞º«óáΓÑ½ε ¿º¼Ñ¡∩Γ∞ «¬απªÑ¡¿Ñ ñ½∩
- child-»α«µÑßßá, »ÑαÑñáóá∩ ß»¿ß«¬ πßΓá¡«ó½Ñ¡¡«ú« «¬απªÑ¡¿∩ τÑαѺ
- áαúπ¼Ñ¡Γ envp.
- Çαúπ¼Ñ¡Γ envp ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ ß¿¼ó«½∞¡δσ π¬áºáΓѽÑ⌐, ¬áª-
- ñδ⌐ φ½Ñ¼Ñ¡Γ ¬«Γ«α«ú« (¿ß¬½ετá∩ »«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ) π¬áºδóáÑΓ ¡á
- ßΓ᫬π, ºá¬á¡τ¿óáεΘπεß∩ ¡π½Ñ¼ ¿ «»αÑñѽ∩εΘπε »ÑαѼѡ¡πε «¬απªÑ-
- ¡¿∩. Äíδτ¡« φΓá ßΓα«¬á ¿¼ÑÑΓ Σ«α¼π:
- NAME = value,
- úñÑ NAME - ¿¼∩ »ÑαѼѡ¡«⌐ «¬απªÑ¡¿∩, value - º¡áτÑ¡¿Ñ ßΓα«-
- ¬¿, ó ¬«Γ«α«⌐ πßΓá¡áó½¿óáÑΓß∩ φΓá »ÑαѼѡ¡á∩. (çá¼ÑΓ¿¼, τΓ« value
- ¡Ñ ºá¬½ετáÑΓß∩ ó ¬áóδτ¬¿ "..."). ū߽Ññ¡¿¼ φ½Ñ¼Ñ¡Γ«¼ ¼áßß¿óá envp
- ñ«½ªÑ¡ íδΓ∞ NULL.
- Child-»α«µÑßß ¡áß½ÑñπÑΓ πßΓá¡«ó½Ñ¡¡«Ñ «¬απªÑ¡¿Ñ parent-»α«-
- µÑßßá, ¬«úñá envp ∩ó½∩ÑΓß∩ NULL.
-
- - 215 -
-
-
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ ßΓáΓπß«¼ óδσ«ñá ¿º
- child-»α«µÑßßá. æΓáΓπß óδσ«ñá αáóÑ¡ 0, Ñß½¿ »α«µÑßß ¡«α¼á½∞¡« ºá-
- óÑαΦÑ¡. æΓáΓπß óδσ«ñá πßΓá¡áó½¿óáÑΓß∩ ó ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, Ñß½¿
- child-»α«µÑßß «ß«íδ¼ «íαẫ¼ óδºδóáÑΓ »α«µÑñπαπ exit ó¼ÑßΓÑ ß ¡Ñ-
- ¡π½Ñóδ¼ áαúπ¼Ñ¡Γ«¼. àß½¿ ßΓáΓπß ¡Ñ πßΓá¡«ó½Ñ¡, Γ« »«½«ª¿Γѽ∞¡δ⌐
- ßΓáΓπß óδσ«ñá π¬áºδóáÑΓ ¡á ¡Ñ»αÑñó¿ñÑ¡¡δ⌐ óδσ«ñ ¿º »α«úαá¼¼δ »«ß-
- αÑñßΓó«¼ abort ¿½¿ »αÑαδóá¡¿∩.
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í «Φ¿í¬Ñ
- (child-»α«µÑßß ¡Ñ ßΓáαΓ«óá½), ¿ errno πßΓá¡áó½¿óáÑΓß∩ ó «ñ¡« ¿º
- ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- çìÇùàìêà àâÄ æî¢æï
-
- E2BIG 滿߫¬ áαúπ¼Ñ¡Γ«ó »αÑóδΦáÑΓ 128 íá⌐Γ
- ¿½¿ »α«ßΓαáßΓó«, ΓαÑíπѼ«Ñ ñ½∩
- ¿¡Σ«α¼áµ¿¿ «¬απªÑ¡¿∩, »αÑóδΦáÑΓ 32è.
-
- EINVAL Çαúπ¼Ñ¡Γ modeflag ¡ÑóÑα¡δ⌐.
-
- ENOENT öá⌐½ ¿½¿ path-¿¼∩ ¡Ñ ¡á⌐ñÑ¡«.
-
- ENOEXEC Ä»αÑñѽѡ¡δ⌐ Σá⌐½ ¡Ñ ∩ó½∩ÑΓß∩ óδ»«½¿¼δ¼
- ¿½¿ ¿¼ÑÑΓ ¡ÑóÑα¡δ⌐ Σ«α¼áΓ.
-
- ENOMEN ä«ßΓáΓ«τ¡á∩ »á¼∩Γ∞ ¡Ñ ñ«ßΓπ»¡á ñ½∩
- óδ»«½¡Ñ¡¿∩ child-»α«µÑßßá.
-
- çá¼Ñτá¡¿Ñ! é맮óδ spawn ¡Ñ ß«σαá¡∩εΓ αѪ¿¼ »αÑ«íαẫóá¡¿∩
- ñ½∩ «Γ¬αδΓδσ Σá⌐½«ó. àß½¿ child-»α«µÑßß ¿ß»«½∞ºπÑΓ Σá⌐½δ, π¡áß½Ñ-
- ñ«óá¡¡δÑ «Γ parent-»α«µÑßßá, Γ«úñá »α«µÑñπαá setmode »α¿¼Ñ¡∩ÑΓß∩
- ñ½∩ πßΓá¡«ó¬¿ ΓαÑíπѼ«ú« αѪ¿¼á »αÑ«íαẫóá¡¿∩ ñ½∩ φΓ¿σ Σá⌐½«ó.
- é child-»α«µÑßßÑ, ß«ºñá¡¡«¼ ó맮óἿ »α«µÑñπα spawn, ß¿ú-
- ¡á½∞¡δÑ πßΓá¡«ó¬¿ ¡Ñ ß«σαá¡∩εΓß∩. é child-»α«µÑßßÑ «¡¿ »ÑαÑπßΓá-
- ¡áó½¿óáεΓß∩ »« π¼«½τá¡¿ε.
-
- C¼. Γá¬ªÑ abort, execl, execle, execlp, execlpe, execv,
- execve, execvp, execvpe, exit, _exit, onexit, system.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
- #include <process.h>
-
- extern char **environ;
-
- char *args[4];
- int result;
-
- args[0]="child";
- args[1]="one";
- args[2]="two";
-
- - 216 -
-
-
- args[3]=NULL;
- .
- .
- .
- /* óßÑ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ »«ºó«½∩εΓ »«α«ªñáΓ∞ »α«µÑßß,
- ¡áºóá¡¡δ⌐ "child.exe", ¿ »ÑαÑñáóáΓ∞ Ѽπ Γα¿ áαúπ¼Ñ¡Γá. ÅÑαóδÑ Γα¿
- áαúπ¼Ñ¡Γá »α¿«ßΓá¡áó½¿óáεΓ parent-»α«µÑßß, á »«ß½Ññ¡¿Ñ Γα¿ - ßó∩-
- ºδóáεΓ parent-»α«µÑßß ß child */.
-
- result=spawnl(P_WAIT,"child.exe","child","one","two",
- NULL);
- result=spawnle(P_WAIT,"child.exe","child","one",
- "two", NULL, environ);
- result=spawnlp(P_WAIT, "child.exe","child","one",
- "two", NULL);
- result=spawnv(P_OVERLAY, "child.exe", args);
- result=spawnve(P_OVERLAY, "child.exe", args, environ);
- result=spawnvp(P_OVERLAY, "child.exe", args);
-
-
- SPRINTF
-
- #include <stdio.h>
-
- int sprintf(buffer, format-string[, argument...]);
- char *buffer; »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ óδó«ñá
- char *format-string; ßΓ᫬á π»αáó½Ñ¡¿∩ Σ«α¼áΓ«¼
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ sprintf Σ«α¼áΓ¿απÑΓ ¿ ºá»«¼¿¡áÑΓ ¡áí«αδ ß¿¼ó«½«ó ¿
- º¡áτÑ¡¿⌐ ó buffer. èáªñδ⌐ áαúπ¼Ñ¡Γ argument (Ñß½¿ «¡ ÑßΓ∞), »αÑ-
- «íαáºπÑΓß∩ ¿ óδó«ñ¿Γß∩ ß«ú½áß¡« ß««ΓóÑΓßΓóπεΘÑ⌐ ߻ѵ¿Σ¿¬áµ¿¿ Σ«α-
- ¼áΓá ó format-string.
- Format-string ß«ßΓ«¿Γ ¿º »«α∩ñ¬«óδσ ß¿¼ó«½«ó ¿ ¿¼ÑÑΓ Γπ ªÑ
- ßá¼πε Σ«α¼π ¿ Σπ¡¬µ¿ε, τΓ« áαúπ¼Ñ¡Γ format-string ñ½∩ Σπ¡¬µ¿¿
- printf. 漫Γα¿ΓÑ Σπ¡¬µ¿ε printf ñ½∩ «»¿ßá¡¿∩ format-string ¿ áα-
- úπ¼Ñ¡Γ«ó.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ sprintf ó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« ß¿¼ó«½«ó, ºá»¿ßá¡¡δσ
- ó buffer.
- æ¼. Γá¬ªÑ fprintf, printf, sscanf.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
-
- char buffer[200];
- int i, j;
- double fp;
- char *s = "computer";
- char c;
- .
-
- - 217 -
-
-
- .
- .
-
- /* Σ«α¼áΓ¿απÑΓ ¿ »ÑτáΓáÑΓ αẽ¿τ¡δÑ ñá¡¡δÑ */
-
- j = sprintf(buffer, "%s\n", s);
- j + = sprintf(buffer+j, "%c\n", c);
- j + = sprintf(buffer+j, "%d\n",i);
- j + = sprintf(buffer+j, "%f\n",fp);.
-
-
- SQRT
-
- #include <math.h>
-
- double sqrt(x);
- double x; ¡Ñ«Γα¿µáΓѽ∞¡«Ñ º¡áτÑ¡¿Ñ ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ sqrt óδτ¿ß½∩ÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ x.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ sqrt ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ óδτ¿ß½Ñ¡¿∩ ¬óáñαáΓ¡«ú«
- ¬«α¡∩. àß½¿ x - «Γα¿µáΓѽ∞¡«Ñ, Σπ¡¬µ¿∩ »ÑτáΓáÑΓ ß««íΘÑ¡¿Ñ «í
- «Φ¿í¬Ñ DOMAIN ó stderr, πßΓá¡áó½¿óáÑΓ errno ó EDOM ¿ ó«ºóαáΘáÑΓ
- 0.
- Äíαaí«Γ¬a «Φ¿í«¬ ¼«ªÑΓ íδΓ∞ ¼«ñ¿Σ¿µ¿α«óa¡a »α¿ ¿º¼Ñ¡Ñ¡¿¿
- »α«µÑñπαδ matherr.
- æ¼. Γá¬ªÑ exp, log, matherr, pow.
-
- Åα¿¼Ñα.
-
- #include <math.h>
- #include <stdlib.h>
- double x,y,z;
- .
- .
- .
- if ((z = sqrt(x+y))==o.0)
- if((x+y) < 0.0)
- perror("sqrt of a negative number");
-
-
- SRAND
-
- #include<stdlib.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩
- «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿
-
- void srand(seed);
- unsigned seed; ¡áτá½∞¡«Ñ τ¿ß½« ñ½∩
- úÑ¡Ñαᵿ¿ ß½πτá⌐¡δσ
- τ¿ßѽ.
-
- - 218 -
-
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ srand πßΓá¡áó½¿óáÑΓ ¡áτá½∞¡πε Γ«τ¬π ñ½∩ úÑ¡Ñαᵿ¿
- ¼¡«ªÑßΓóá »ßÑóñ«ß½πτá⌐¡δσ µÑ½δσ. é ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá seed ñ½∩
- »ÑαÑπßΓá¡«ó¬¿ úÑ¡ÑαáΓ«αá ¿ß»«½∞ºπÑΓß∩ 1. ïεí«Ñ ñαπú«Ñ º¡áτÑ¡¿Ñ
- seed πßΓá¡áó½¿óáÑΓ úÑ¡ÑαáΓ«α ó ¡áτá½∞¡πε ß½πτá⌐¡πε Γ«τ¬π.
- öπ¡¬µ¿∩ rand ¿ß»«½∞ºπÑΓß∩ ñ½∩ »«¿ß¬á ßúÑ¡Ñα¿α«óá¡¡δσ ß½π-
- τá⌐¡δσ τ¿ßѽ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼. Γá¬ªÑ rand.
-
-
- Åα¿¼Ñα.
-
- #include <stdlib.h>
- #include <stdio.h>
-
- int x, ranvals [20];
-
- /* πßΓá¡áó½¿óáÑΓ úÑ¡ÑαáΓ«α ß½πτá⌐¡δσ τ¿ßѽ ó ¡áτá½∞¡«Ñ ß«ß-
- Γ«∩¡¿Ñ ¿ ß«σαá¡∩ÑΓ ó ¼áßß¿óÑ 20 »Ñαóδσ ßúÑ¡Ñα¿α«óá¡¡δσ ß½πτá⌐¡δσ
- τ¿ßѽ. */
-
- srand(17);
- for (x = 0; x < 20; ranvals[x++] = rand())
- ;.
-
-
- SSCANF
-
- #include <stdio.h>
-
- int sscanf(buffer, format-string[, argument...]);
- char *buffer; σαá¡¿¼δÑ ñá¡¡δÑ
- char *format-string; ßΓ᫬á π»αáó½Ñ¡¿∩ Σ«α¼áΓ«¼
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ sscanf τ¿ΓáÑΓ ñá¡¡δÑ ¿º buffer ó αáß»«½«ªÑ¡¿Ñ, ºá-
- ñáóáѼ«Ñ arguments. èáªñδ⌐ argument ñ«½ªÑ¡ íδΓ∞ π¬áºáΓѽѼ ¡á »Ñ-
- αѼѡ¡πε Γᬫú« Γ¿»á, ¬«Γ«αá∩ ß««ΓóÑΓßΓóπÑΓ Γ¿»π, «»αÑñѽ¡¡¡«¼π ó
- format-string.
- Format-string ¿¡ΓÑα»αÑΓ¿απÑΓ »«½∩ óó«ñá ¿ ¿¼ÑÑΓ Γπ ªÑ ßá¼πε
- Σ«α¼π ¿ Σπ¡¬µ¿ε, τΓ« áαúπ¼Ñ¡Γ format-string ñ½∩ Σπ¡¬µ¿¿ scanf.
- 漫Γα¿ΓÑ Σπ¡¬µ¿ε scanf ñ½∩ «»¿ßá¡¿∩ format-string.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ sscanf ó«ºóαáΘáÑΓ ¬«½¿τÑßΓó« πß»ÑΦ¡« »αÑ«íαẫóá¡-
- ¡δσ ¿ ¡áº¡áτÑ¡¡δσ »«½Ñ⌐. é ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿ ¡Ñ ß«ñÑαªáΓß∩
- »α«τ¿Γá¡¡δÑ ¡« ¡Ñ ¡áº¡áτÑ¡¡δÑ »«½∩. ç¡áτÑ¡¿Ñ EOF ó«ºóαáΘáÑΓß∩ »α¿
-
- - 219 -
-
-
- »«»δ⪥ ßτ¿Γδóá¡¿∩ ¬«¡µá ßΓ᫬¿.髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 «º¡áτáÑΓ,
- τΓ« ¡ÑΓ ¡áº¡áτÑ¡¡δσ »«½Ñ⌐.
- æ¼. Γá¬ªÑ fscanf, scanf, sprintf.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
- char *tokenstring = "15 12 14...";
- int i;
- float fp;
- char s[81];
- char c;
- .
- .
- .
- /* óó«ñ αẽ¿τ¡δσ ñá¡¡δσ */
-
- sscanf(tokenstring, "%s", s);
- sscanf(tokenstring, " %c", &c);
- sscanf(tokenstring, "%d", &i);
- sscanf(tokenstring, "%f", fp);.
-
- STACKAVAIL
-
- #include <malloc.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
- unsigned int stackavail();
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ stackavail ó«ºóαáΘáÑΓ »α¿í½¿º¿Γѽ∞¡δ⌐ αẼÑα ßΓѬá
- ó íá⌐Γáσ, ñ«ßΓπ»¡«ú« ñ½∩ ñ¿¡á¼¿τÑ߬«ú« αẼÑΘÑ¡¿∩ »á¼∩Γ¿ »«ßαÑñß-
- Γó«¼ Σπ¡¬µ¿¿ alloca.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ stackavail ó«ºóαáΘáÑΓ αẼÑα ó íá⌐Γáσ ¬á¬ íѺº¡á¬«-
- ó«Ñ µÑ½«Ñ.
- æ¼. Γá¬ªÑ alloca, freect, memavl.
-
- Åα¿¼Ñα.
-
- #include <malloc.h>
-
- main()
- {
- char * ptr;
-
- printf("Stack memory available before alloca=%u\n",
- stackavail());
- ptr=alloca(100*sizeof(char));
- printf("Stack memory available after alloca=%u\n",
- stackavail());
- }
-
- - 220 -
-
-
-
-
- STAT
-
- #include <sys\types.h>
- #include <sys\stat.h>
-
- int stat(pathname, buffer);
- char *pathname; path-¿¼∩ ßπΘÑßΓóπεΘÑú« Σá⌐½á
- struct stat *buffer; π¬áºáΓѽ∞ ¡á ßΓ᫬π, »α¿¡¿¼áεΘπε
- αѺπ½∞ΓáΓδ
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ stat »«½πτáÑΓ ¿¡Σ«α¼áµ¿ε « Σá⌐½Ñ ¿½¿ ñ¿αÑ¬Γ«α¿¿,
- «»αÑñѽѡ¡«¼ »« pathname, ¿ ºá»«¼¿¡áÑΓ ÑÑ ó ßΓαπ¬ΓπαÑ, ¡á ¬«Γ«απε
- π¬áºδóáÑΓ buffer. æΓαπ¬Γπαá stat, «íΩ∩ó½Ñ¡¡á∩ ó <sys\stat.h>,
- ß«ñÑαª¿Γ ß½ÑñπεΘ¿Ñ »«½∩.
-
- Å«½Ñ ç¡áτÑ¡¿Ñ
-
- st_mode ü¿Γ«óá∩ ¼á߬á ñ½∩ ¿¡Σ«α¼áµ¿¿ « αѪ¿¼Ñ
- Σá⌐½á. ü¿Γ S_IFDIR πßΓá¡áó½¿óáÑΓß∩,
- Ñß½¿ pathname «»αÑñѽ∩ÑΓ ñ¿αÑ¬Γ«α¿⌐;
- í¿Γ S_IFREG πßΓá¡áó½¿óáÑΓß∩, Ñß½¿
- pathname ßßδ½áÑΓß∩ ¡á «íδτ¡δ⌐ Σá⌐½.
- ü¿Γδ τΓÑ¡¿∩/ºá»¿ß¿ πßΓá¡áó½¿óáεΓß∩
- »«½∞º«óáΓѽѼ ó ß««ΓóÑΓßΓó¿¿ ß αѪ¿¼«¼
- ñ«ßΓπ»á ¬ Σá⌐½π. Å«½∞º«óáΓѽ∞ óδ»«½¡∩ÑΓ
- πßΓá¡«ó¬π í¿Γ«ó, ¿ß»«½∞ºπѼδσ ñ½∩ αáß-
- Φ¿αÑ¡¿∩ ¿¼Ñ¡¿ Σá⌐½á.
-
- st_dev 쫼Ñα πßΓα«⌐ßΓóá ñ¿ß¬á, ß«ñÑαªáΘÑú«
- Σá⌐½.
-
- st_rdev 쫼Ñα πßΓα«⌐ßΓóá ñ¿ß¬á, ß«ñÑαªáΘÑú«
- Σá⌐½.
- (á¡á½«ú¿τ¡« st_dev).
-
- st_nlink éßÑúñá 1.
-
- st_size ÉẼÑα Σá⌐½á ó íá⌐Γáσ.
-
- st_atime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á.
-
- st_mtime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á
- (á¡á½«ú¿τ¡« st_atime).
-
- st_ctime éαѼ∩ »«ß½Ññ¡Ñ⌐ ¼«ñ¿Σ¿¬áµ¿¿ Σá⌐½á
- (á¡á½«ú¿τ¡« st_atime ¿ st_mtime).
-
-
- é ßΓαπ¬ΓπαÑ Γ¿»á stat ßπΘÑßΓóπεΓ Γα¿ ñ«»«½¡¿Γѽ∞¡δσ »«½∩,
- ¬«Γ«αδÑ ñ½∩ MS DOS ¡Ñ ¿¼ÑεΓ ß¼δß½á.
-
-
- - 221 -
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ stat ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, Ñß½¿ »«½πτÑ¡á ¿¡Σ«α¼á-
- µ¿∩ « ßΓáΓπßÑ Σá⌐½á. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ -1 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
- «Φ¿í¬Ñ, ¿ errno πßΓá¡áó½¿óáÑΓß∩ ó ENOENT, Γ.Ñ. ¿¼∩ Σá⌐½á ¿½¿
- path-¿¼∩ ¡Ñ ¡á⌐ñÑ¡«.
-
- æ¼. Γá¬ªÑ access, fstat.
-
- çá¼Ñτá¡¿Ñ. àß½¿ ºáñá¡¡δ⌐ pathname ßßδ½áÑΓß∩ ¡á πßΓα«⌐ßΓó«,
- »«½∩ αẼÑαá ¿ óαѼѡ¿ ó ßΓαπ¬ΓπαÑ stat ¡Ñ ¿¼ÑεΓ «ß¼δ߽ѡ¡«ú«
- º¡áτÑ¡¿∩.
-
- Åα¿¼Ñα.
-
- #include <sys\types.h>
- #include <sys\stat.h>
- #include <stdio.h>
-
- struct stat buf;
- int result;
- char *args[4];
- .
- .
- .
- result = stat("child.exe", &buf);
-
- if (result == 0)
- if (buf.st_mode & S_IEXEC)
- execv("child.exe", args);
-
- _STATUS87
-
- #include <float.h>
-
- unsigned int _status87(); »«½πτáÑΓ ß½«ó« ßΓáΓπßá
- »½áóáεΘÑ⌐ Γ«τ¬¿
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ _status87 »«½πτáÑΓ ß½«ó« ßΓáΓπßá »½áóáεΘÑ⌐ Γ«τ¬¿.
- 潫ó« ßΓáΓπßá »½áóáεΘÑ⌐ Γ«τ¬¿ ∩ó½∩ÑΓß∩ ¬«¼í¿¡áµ¿Ñ⌐ 8087/80287
- ß½«óá ßΓáΓπßá ¿ ñαπú¿σ ß«ßΓ«∩¡¿⌐, «í¡áαπª¿óáѼδσ 8087/80287
- handler-«¼, Γᬿσ ¬á¬ »ÑαÑ»«½¡Ñ¡¿Ñ ¿ »«ΓÑα∩ º¡áτ¿¼«ßΓ¿ ßΓÑ¬á »½á-
- óáεΘÑ⌐ Γ«τ¬¿.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- ü¿Γδ ó ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿ «í«º¡áτáεΓ ßΓáΓπß »½áóáεΘÑ⌐
- Γ«τ¬¿. 漫Γα¿ΓÑ include-Σá⌐½ <float.h> ñ½∩ »«½¡«ú« «»¿ßá¡¿∩ í¿-
- Γ«ó, ó«ºóαáΘáѼδσ Σπ¡¬µ¿⌐ _status87.
-
- çá¼Ñτá¡¿Ñ! ü«½∞Φ¿¡ßΓó« ¿º ¼áΓѼáΓ¿τÑ߬¿σ í¿í½¿«ΓÑτ¡δσ Σπ¡¬-
- µ¿⌐ ¼«ñ¿Σ¿µ¿απεΓ ß½«ó« ßΓáΓπßá 8087/80287 ß ¡Ñ»αÑñ߬áºπÑ¼δ¼¿ αÑ-
- ºπ½∞ΓáΓἿ. 髺óαáΘáѼδÑ º¡áτÑ¡¿∩ Σπ¡¬µ¿⌐ _clear87 ¿ _status87
-
- - 222 -
-
-
- ßΓá¡«ó∩Γß∩ í«½ÑÑ ñ«ßΓ«óÑα¡δ¼¿ »«ß½Ñ óδ»«½¡Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ «»Ñαá-
- µ¿⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ß ¿ºóÑßΓ¡δ¼¿ ß««íΘÑ¡¿∩¼¿ ß½«óá ßΓáΓπßá
- »½áóáεΘÑ⌐ Γ«τ¬¿.
- æ¼. Γá¬ªÑ _clear87, _control87.
-
- Åα¿¼Ñα.
-
- #include <stdio.h>
- #include <float.h>
-
- double a = 1e-40, b;
- float x,y;
-
- main()
- {
- printf("status=%.4x-clear\n",_status87());
-
- /* ºá»«¼¡Ñ¡¡«Ñ ó y ∩ó½∩ÑΓß∩ ¡ÑΓ«τ¡δ¼ ¿ ß »«ΓÑα∩¡¡«⌐ º¡áτ¿-
- ¼«ßΓ∞ε */
- y = a;
- printf("status=%.4x-inexect,underflow\n",
- _status87());
-
- /* y ¡ÑóÑα¡« */
- b = y;
- printf("status=%.4x-inexect,underflow,denormal\n",
- _status87());
-
- /* «τ¿ßΓ¬á »«½∞º«óáΓѽѼ 8087 ßΓáΓπßá */
- _clear87();
- }
-
-
- STRCAT-STRDUP
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strcat(string1,string2);
- ñ«íáó½∩ÑΓ string2 ¬ string1
- char *string1; ßΓ᫬á-»α¿Ñ¼¡¿¬
- char *string2; ßΓ᫬á-¿ßΓ«τ¡¿¬
-
- char *strchr(string,c); ¡áσ«ñ¿Γ »Ñαó«Ñ óσ«ªñÑ¡¿Ñ
- c ó string
- char *string; ßΓ᫬á-¿ßΓ«τ¡¿¬
- int c; »«¿ß¬«óδ⌐ ß¿¼ó«½
-
- int strsmp(string1,string2); ßαáó¡¿óáÑΓ ßΓ᫬¿
- char *string1;
- char *string2;
-
- int strcmpi(string1,string2); ßαáó¡¿óáÑΓ ßΓ᫬¿ ó¡Ñ
- ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á
- αÑú¿ßΓαá
-
- - 223 -
-
-
- char *string1;
- char *string2;
-
- char strcpy(string1,string2); ¬«»¿απÑΓ string2 ó
- string1
- char *string1; ßΓ᫬á-»α¿Ñ¼¡¿¬
- char *string2; ßΓ᫬á-¿ßΓ«τ¡¿¬
-
- int strcspn(string1,string2); ¡áσ«ñ¿Γ »Ñαóπε »«ñßΓ᫬π
- ß¿¼ó«½«ó ó string1, ¡Ñ
- óσ«ñ∩Θπε ó string2
- char *string1; ßΓ᫬á-¿ßΓ«τ¡¿¬
- char *string2; ¼¡«ªÑßΓó« ß¿¼ó«½«ó
-
- char *strdup(string); ñπí½¿απÑΓ ßΓ᫬π
- char *string; ßΓ᫬á-¿ßΓ«τ¡¿¬
-
- int stricmp(string1,string2); ßαáó¡¿óáÑΓ ßΓ᫬¿ ó¡Ñ
- ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á
- αÑú¿ßΓαá
- char *string1;
- char *string2;
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ strcat, strchr, strcmp, strcmpi, strcpy, strspn,
- strdup, stricmp αáí«ΓáεΓ ß« ßΓα«¬á¼¿, «¬á¡τ¿óáεΘ¿¼¿ß∩ '\0' ß¿¼ó«-
- ½«¼. Çαúπ¼Ñ¡Γδ ßΓ᫬ ñ½∩ φΓ¿σ Σπ¡¬µ¿⌐ »αÑñ»«½áúáεΓ ¡á½¿τ¿Ñ ¡π½Ñ-
- ó«ú« ß¿¼ó«½á ('\0'), «Γ¼ÑτáεΘÑú« ¬«¡Ñµ ßΓ᫬¿.
- Åα¿ ¬«»¿α«óá¡¿¿ ¿½¿ ñ«íáó½Ñ¡¿¿ ßΓ᫬ »α«óÑα¬á ¡á »ÑαÑ»«½¡Ñ-
- ¡¿Ñ ¡Ñ óδ»«½¡∩ÑΓß∩.
- öπ¡¬µ¿∩ strcat ñ«íáó½∩ÑΓ string2 ¬ string1, ºá¬á¡τ¿óáÑΓ αÑ-
- ºπ½∞Γ¿απεΘπε ßΓ᫬π ¡π½Ñóδ¼ ß¿¼ó«½«¼ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á
- ßΓ᫬π-»α¿Ñ¼¡¿¬ (string1).
- öπ¡¬µ¿∩ strchr ó«ºóαáΘÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ c ó
- string. æ¿¼ó«½ c ¼«ªÑΓ íδΓ∞ ¡π½Ñóδ¼ ß¿¼ó«½«¼ ('\0'); ¡π½Ñó«⌐ ß¿¼ó«½
- «¬«¡τá¡¿∩ string ó¬½ετáÑΓß∩ ó »«¿ß¬. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ NULL, Ñß-
- ½¿ ß¿¼ó«½ ¡Ñ ¡á⌐ñÑ¡.
- öπ¡¬µ¿∩ strcmp ½Ñ¬ß¿¬«úαáΣ¿τÑ߬¿ ßαáó¡¿óáÑΓ ßΓ᫬¿ string1
- ¿ string2 ¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, «í«º¡áτáεΘÑÑ ¿σ ß««Γ¡«ΦÑ¡¿Ñ Γá¬,
- ¬á¬ »«¬áºá¡« ¡¿ªÑ.
-
- ç¡áτÑ¡¿Ñ àú« ß¼δß½
-
- ¼Ñ¡∞ΦÑ 0 string 1 ¼Ñ¡∞ΦÑ string 2
-
- 0 string 1 αáó¡á string 2
-
- í«½∞ΦÑ 0 string 1 í«½∞ΦÑ string 2
-
- öπ¡¬µ¿¿ strcmpi ¿ stricmp ∩ó½∩εΓß∩ »α¿τ¿¡¡«-¡ÑτπóßΓó¿Γѽ∞-
- ¡δ¼¿ óÑαß¿∩¼¿ strcmp. äóá áαúπ¼Ñ¡Γá string1 ¿ string2 ßαáó¡¿óáεΓ-
- ß∩ ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á αÑú¿ßΓαá; φΓ« «í«º¡áτáÑΓ, τΓ« Σ«α¼δ
- íπ¬ó óÑασ¡Ñú« ¿ ¡¿ª¡Ñú« αÑú¿ßΓα«ó αáßß¼áΓα¿óáεΓß∩ φ¬ó¿óá½Ñ¡Γ¡δ¼¿.
- öπ¡¬µ¿∩ strcpy ¬«»¿απÑΓ string2 (ó¬½ετá∩ ¡π½Ñó«⌐ ß¿¼ó«½
-
- - 224 -
-
-
- «¬«¡τá¡¿∩) ó αáß»«½«ªÑ¡¿Ñ, ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ »« string1, ¿
- ó«ºóαáΘáÑΓ string1.
- öπ¡¬µ¿∩ strcspn ó«ºóαáΘáÑΓ ¿¡ñÑ¬ß »Ñαó«ú« ß¿¼ó«½á ó
- string1, ¬«Γ«αδ⌐ »α¿¡áñ½Ñª¿Γ ¼¡«ªÑßΓóπ ß¿¼ó«½«ó srting2. ¥Γ« º¡á-
- τÑ¡¿Ñ φ¬ó¿óá½Ñ¡Γ¡« ñ½¿¡Ñ ¡áτá½∞¡«⌐ »«ñßΓ᫬¿ ßΓ᫬¿ string1, ¬«-
- Γ«αá∩ ß«ñÑαª¿Γ óßÑ ß¿¼ó«½δ, ¡Ñ óσ«ñ∩Θ¿Ñ ó ßΓ᫬π string2. Åα¿ »«-
- ¿ß¬Ñ ¡π½ÑóδÑ ß¿¼ó«½δ «¬«¡τá¡¿∩ ¡Ñ αáßß¼áΓα¿óáεΓß∩. àß½¿ string1
- ¡áτ¿¡áÑΓß∩ ß ß¿¼ó«½á, ß«ñÑαªáΘÑú«ß∩ ó ßΓα«¬Ñ string2, strcspn
- ó«ºóαáΘáÑΓ 0.
- öπ¡¬µ¿∩ strdup ºáσóáΓδóáÑΓ »á¼∩Γ∞ (ß ó«ºóαáΓ«¼ malloc) ñ½∩
- ¬«»¿α«óá¡¿∩ string ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »á¼∩Γ∞, ß«ñѪáΘπε
- ߬«»¿α«óá¡¡πε ßΓ᫬π. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ NULL, Ñß½¿ »á¼∩Γ∞ ¡Ñ ¼«-
- ªÑΓ íδΓ∞ ºáσóáτÑ¡á.
-
- 髺óαáΘáѼδÑ º¡áτÑ¡¿∩ ñ½∩ φΓ¿σ Σπ¡¬µ¿⌐ «»¿ßá¡δ óδΦÑ.
- æ¼. Γá¬ªÑ strncat, strncmp, strncpy, ctrnic,p, strrchr,
- strspn.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[100], template[100], *result;
- int numresult;
- .
- .
- .
- /* ß«ºñáÑΓ ßΓ᫬π "computer program" »«ßαÑñßΓó«¼ ¿ß»«½∞º«-
- óá¡¿∩ strcpy ¿ strcat */
- strcpy(string, "computer");
- result = strcat(string," program");
- /* ¡áσ«ñ¿Γ ßΓ᫬π, ó ¬«Γ«α«⌐ »Ñαóδ⌐ αẠ«í¡áαπªÑ¡« 'a' */
- result = strchr(string,'a');
- /* «»αÑñѽ∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ ßΓ᫬á í«½∞ΦÑ, ¼Ñ¡∞ΦÑ ¿½¿ αáó¡«⌐
- ñαπú«⌐ */
- numresult = strcmp(string, template);
- /* ßαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á αÑú¿ßΓαá
- */
- numresult = strcmpi("hello", "HELLO");
- /* ß«ºñáÑΓ ¬«»¿ε ßΓ᫬¿ */
- result = strcpy(template,string);
- /* ¡áσ«ñ¿Γ "a","b","c" ó ßΓα«¬Ñ */
- strcpy(string,"xyzabbc");
- result = strcspn(string,"abc");
- /* ß«ºñáÑΓ ¡«óδ⌐ π¬áºáΓѽ∞ ¡á ßΓ᫬π ñ½∩ ñπí½¿α«óá¡¿∩ ßΓα«-
- ¬¿ */
- result = strdup(string);
-
- STRERROR
-
- #include <string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strerror(string);
- char *string; ß««íΘÑ¡¿Ñ, »«ßΓáó½∩Ѽ«Ñ
-
- - 225 -
-
-
- »«½∞º«óáΓѽѼ
-
- int errno; ßτÑΓτ¿¬ «Φ¿í«¬
- int sys_nerr; ßτÑΓτ¿¬ ß««íΘÑ¡¿⌐ ß¿ßΓѼδ
- char sys_errlist[sys_nerr];
- ¼áßß¿ó ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ
-
- Ä»¿ßá¡¿Ñ.
-
- àß½¿ string αáó¡á NULL, Σπ¡¬µ¿∩ strerror ó«ºóαáΘáÑΓ π¬áºá-
- Γѽ∞ ¡á ßΓ᫬π, ß«ñÑαªáΘπε ß¿ßΓѼ¡«Ñ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ñ½∩ »«ß-
- ½Ññ¡Ñú« í¿í½¿«ΓÑτ¡«ú« ó맮óá, ó ¬«Γ«α«¼ óδαáí«Γá¡á «Φ¿í¬á; φΓá
- ßΓα«¬á «¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ ¡«ó«⌐ ßΓ᫬¿ ('\n').
- àß½¿ string ¡Ñ αáó¡á NULL, strerror ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á
- ßΓ᫬π, ß«ñÑαªáΘπε ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ, »«ßΓáó½∩Ѽ«Ñ »«½∞º«óáΓÑ-
- ½Ñ¼; ñó«ÑΓ«τ¿Ñ; »α«íѽ; ß¿ßΓѼ¡«Ñ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ñ½∩ »«ß½Ññ-
- ¡Ñú« í¿í½¿«ΓÑτ¡«ú« ó맮óá, óδαáí«ΓáóΦÑú« «Φ¿í¬π; ¿ ß¿¼ó«½ ¡«ó«⌐
- ßΓ᫬¿ ('\n'). æ««íΘÑ¡¿Ñ »«½∞º«óáΓѽ∩ ¼«ªÑΓ ¿¼ÑΓ∞ ¼á¬ß¿¼á½∞¡πε ñ½¿-
- ¡π ñ« 94 íá⌐Γá.
- é «Γ½¿τ¿¿ «Γ perror, strerror ¡Ñ »ÑτáΓáÑΓ ¡¿¬á¬¿σ ß««íΘÑ-
- ¡¿⌐. ä½∩ »ÑτáΓ¿ ß««íΘÑ¡¿∩, ó«ºαáΘáѼ«ú« strerror ó stderr, ó
- »α«úαá¼¼Ñ ñ«½ªÑ¡ íδΓ∞ «»ÑαáΓ«α printf, ¡á»α¿¼Ñα:
- if((access("datafile",2))++-1)
- printf(strerror(NULL));
-
- 쫼Ñα «Φ¿í¬¿ σαá¡¿Γß∩ ó »ÑαѼѡ¡«⌐ errno, ¬«Γ«αá∩ «íΩ∩ó½Ñ¡á
- ¡á ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ. æ¿ßΓѼ¡δÑ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ñ«ßΓπ»¡δ τÑαѺ
- »ÑαѼѡ¡πε sys_errlist, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ ß««íΘÑ¡¿⌐ ñ½∩
- «Φ¿í«¬ ¿º ßτÑΓτ¿¬á «Φ¿í«¬. Å« Σπ¡¬µ¿¿ strerror »«ßαÑñßΓó«¼ ¿ß-
- »«½∞º«óá¡¿∩ º¡áτÑ¡¿∩ errno ¬á¬ ¿¡ñѬßá ¬ sys_errlist ¼«ª¡« πßΓá-
- ¡«ó¿Γ∞ »α¿í½¿º¿Γѽ∞¡δÑ ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ. ç¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
- sys_nerr «»αÑñѽ∩ÑΓß∩ ¬á¬ ¼á¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó ¼áßß¿óÑ
- sys_errlist.
- ùΓ«íδ óδαáí«ΓáΓ∞ »αáó¿½∞¡δ⌐ αѺπ½∞ΓáΓ, Σπ¡¬µ¿∩ strerror
- ñ«½ª¡á íδΓ∞ óδºóá¡á ßαáºπ »«ß½Ñ í¿í½¿«ΓÑτ¡«⌐ »α«µÑñπαδ, ó«ºóαáΘá-
- εΘÑ⌐ «Φ¿í¬π. ê¡áτÑ º¡áτÑ¡¿Ñ errno ¼«ªÑΓ íδΓ∞ »ÑαѺỿßá¡« ñ½∩
- »«ß½ÑñπεΘ¿σ ó맮ó«ó.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strerror ¡Ñ ó«ºóαáΘáÑΓ ¡¿¬á¬«ú« º¡áτÑ¡¿∩.
- æ¼. Γá¬ªÑ clearerr, ferror, perror.
-
-
- çá¼Ñτá¡¿Ñ. é MS DOS ¡Ñ¬«Γ«αδÑ º¡áτÑ¡¿∩ errno, »α¿óÑñÑ¡¡δÑ ó
- <errno.h>, ¡Ñ ¿ß»«½∞ºπεΓß∩. æ¼. »α¿½«ªÑ¡¿Ñ Ç "æ««íΘÑ¡¿∩ «í «Φ¿í-
- ¬áσ", úñÑ »α¿óÑñÑ¡ ß»¿ß«¬ º¡áτÑ¡¿⌐ errno ¿ ß««ΓóÑΓßΓóπεΘ¿Ñ ß««í-
- ΘÑ¡¿∩ «í «Φ¿í¬áσ, ¬«Γ«αδÑ »α¿¼Ñ¡∩εΓß∩ ó MS DOS . ä½∩ ½εí«ú« º¡á-
- τÑ¡¿∩ errno, ¡Ñ ¿ß»«½∞ºπѼ«ú« ó MS DOS, Σπ¡¬µ¿∩ strerror »ÑτáΓáÑΓ
- »πßΓπε ßΓ᫬π.
-
- Åα¿¼Ñα.
-
- #include <fcntl.h>
- #include <sys\types.h>
-
- - 226 -
-
-
- #include <sys\stat.h>
- #include <io.h>
- #include <stdlib.h>
-
- int fh1, fh2;
-
- fh1 = open("data1", O_RDONLY);
- if (fh1==-1)
- strerror("open failed on input file");
-
- fh2 = open("data2", O_WRONLY : O_CREAT,
- S_IREAD : S_IWRITE);
- if (fh2==-1)
- srterror("open failed on output file");
-
- STRLEN
-
- #include <string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- int strlen(string);
- char *string; ßΓ᫬á, ºá¬á¡τ¿óáεΘá∩ß∩ ¡π½Ñóδ¼
- ß¿¼ó«½«¼
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strlen ó«ºóαáΘáÑΓ ó íá⌐Γáσ ñ½¿¡π ßΓ᫬¿ string,
- »α¿τѼ ¡π½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ ('\0') ó ñ½¿¡π ¡Ñ ºáßτ¿ΓδóáÑΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ñ½¿¡π string. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó
- ß½πτáÑ ó«ºóαáΓá ¡ÑΓ.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char *string="some space";
- int result;
- .
- .
- .
- /* «»αÑñѽ∩ÑΓ ñ½¿¡π ßΓ᫬¿ */
- result=strlen(string); /* result = 10 */
-
-
- STRLWR
-
- #include <string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char strlwr(string);
- char *string; »αÑ«íαáºπѼá∩ ßΓ᫬á
-
-
- - 227 -
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strlwr »αÑ«íαẫóδóáÑΓ ½εíδÑ íπ¬óδ óÑασ¡Ñú« αÑú¿ßΓ-
- αá ¿º ºáñá¡¡«⌐ ßΓ᫬¿ string, ºá¬á¡τ¿óáεΘÑ⌐ß∩ ¡π½Ñóδ¼ ß¿¼ó«½«¼, ó
- íπ¬óδ ¡¿ª¡Ñú« αÑú¿ßΓαá. äαπú¿Ñ ß¿¼ó«½δ ¡Ñ αáßß¼áΓα¿óáεΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strlwr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »αÑ«íαáºπѼπε ßΓ᫬π
- string. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼. Γá¬ªÑ strupr.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[100], *copy;
- .
- .
- .
- /* ß«ºñáÑΓ ¬«»¿ε ßΓ᫬¿ ó ß¿¼ó«½áσ ¡¿ª¡Ñú« αÑú¿ßΓαá */
-
- copy=strlwr(strdup(string));
-
-
-
- STRNCAT-STRNSET
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strncat(string1,string2,n);
- ñ«íáó½∩ÑΓ n ß¿¼ó«½«ó string2 ¬
- string1
- char *string1; ßΓ᫬á-»α¿Ñ¼¡¿¬
- char *string2; ßΓ᫬á-¿ßΓ«τ¡¿¬
- unsigned int n; ¬«½¿τÑßΓó« ñ«íáó½∩Ѽδσ ß¿¼ó«½«ó
-
- char *strncmp(string1,string2,n);
- ßαáó¡¿óáÑΓ »ÑαóδÑ n ß¿¼ó«½«ó
- ßΓ᫬
- char *string1;
- char string2;
- unsigned int n; ¬«½¿τÑßΓó« ßαáó¡¿óáѼδσ ß¿¼ó«-
- ½«ó
-
- int strnicmp(string1,string2,n);
- ßαáó¡¿óáÑΓ »ÑαóδÑ n ß¿¼ó«½«ó
- ßΓ᫬¿
-
- char *string1;
- char string2;
- unsigned int n; ¬«½¿τÑßΓó« ßαáó¡¿óáѼδσ ß¿¼ó«-
- ½«ó
-
-
- - 228 -
-
-
-
- char *strncpy(string1,string2,n);
- ¬«»¿απÑΓ n ß¿¼ó«½«ó string2 ó
- string1
- char *string1; ßΓ᫬á-»α¿Ñ¼¡¿¬
- char *string2; ßΓ᫬á-¿ßΓ«τ¡¿¬
- unsigned int n; ¬«½¿τÑßΓó« ñ«íáó½∩Ѽδσ ß¿¼ó«½«ó
-
- char *strnset(string,c,n,);
- ¿¡¿µ¿á½¿º¿απÑΓ n »Ñαóδσ ß¿¼ó«-
- ½«ó ßΓ᫬¿ string
- char *string; ¿¡¿µ¿á½¿º¿απѼá∩ ßΓ᫬á
- int c; ß¿¼ó«½-»α¿Ñ¼¡¿¬
- unsigned int n; ¬«½¿τÑßΓó« »α¿¡¿¼áѼδσ ß¿¼ó«½«ó
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ strncat, strnsmp, stricmp, strncpy, strnset αáí«Γá-
- εΓ ß »Ñαó묨 n ß¿¼ó«½á¼¿ ßΓ᫬, «¬á¡τ¿óáεΘ¿¼¿ß∩ ¡π½Ñóδ¼ ß¿¼ó«½«¼.
- öπ¡¬µ¿∩ strncat ñ«íáó½∩ÑΓ n »Ñαóδσ ß¿¼ó«½«ó ßΓ᫬¿ string2
- ¬ ßΓα«¬Ñ string1, ºá¬á¡τ¿óáÑΓ αѺπ½∞Γ¿απεΘπε ßΓ᫬π ¡π½Ñóδ¼ ß¿¼-
- 󫽫¼ ('\0') ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π-»α¿Ñ¼¡¿¬ (string1).
- àß½¿ n í«½∞ΦÑ, τѼ ñ½¿¡á ßΓ᫬¿ string2, Γ«úñá ó¼ÑßΓ« n ¿ß»«½∞ºπ-
- ÑΓß∩ ñ½¿¡á ßΓ᫬¿.
- öπ¡¬µ¿∩ strncmp ½Ñ¬ß¿¬«úαáΣ¿τÑ߬¿ ßαáó¡¿óáÑΓ »ÑαóδÑ n ß¿¼-
- 󫽫ó ßΓ᫬ string1 ¿ string2 ¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ π¬á-
- ºδóáÑΓ ¡á «Γ¡«ΦÑ¡¿Ñ ¼Ñªñπ »«ñßΓα«¬á¼¿, ¬á¬ »α¿óÑñÑ¡« ¡¿ªÑ:
-
- ç¡áτÑ¡¿Ñ àú« ß¼δß½
-
- ¼Ñ¡∞ΦÑ 0 substring 1 ¼Ñ¡∞ΦÑ substring 2
-
- 0 substring 1 αáó¡á substring 2
-
- í«½∞ΦÑ 0 substring 1 í«½∞ΦÑ substring 2
-
- öπ¡¬µ¿∩ stricmp ∩ó½∩ÑΓß∩ »α¿τ¿¡¡«-¡ÑτπóßΓó¿Γѽ∞¡«⌐ óÑαß¿Ñ⌐
- strncmp; Σπ¡¬µ¿∩ stricmp ßαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ string1 ¿ string2
- ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ τπóßΓó¿Γѽ∞¡«ßΓ¿ ¬ αÑú¿ßΓαá¼; φΓ« «í«º¡áτáÑΓ,
- τΓ« Σ«α¼δ íπ¬ó óÑασ¡Ñú« ¿ ¡¿ª¡Ñú« αÑú¿ßΓα«ó αáßß¼áΓα¿óáεΓß∩ ¬á¬
- φ¬ó¿óá½Ñ¡Γ¡δÑ.
- öπ¡¬µ¿∩ strncpy ¬«»¿απÑΓ Γ«τ¡« n ß¿¼ó«½«ó ßΓ᫬¿ string2 ¬
- ßΓα«¬Ñ string1 ¿ ó«ºóαáΘáÑΓ string1. àß½¿ n ¼Ñ¡∞ΦÑ, τѼ ñ½¿¡á
- string2, ¡π½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ ('\0') áóΓ«¼áΓ¿τÑ߬¿ ¡Ñ ñ«íáó½∩-
- ÑΓß∩ ¬ ¬«»¿απѼ«⌐ ßΓ᫬Ñ. àß½¿ n í«½∞ΦÑ, τѼ ñ½¿¡á string2, αÑ-
- ºπ½∞ΓáΓ string1 ºá»«½¡∩ÑΓß∩ ¡π½Ñó묨 ß¿¼ó«½á¼¿, 󻽫Γ∞ ñ« ñ«ßΓ¿-
- ªÑ¡¿∩ ñ½¿¡δ n.
- öπ¡¬µ¿∩ strnset πßΓá¡áó½¿óáÑΓ »ÑαóδÑ n ß¿¼ó«½«ó string ó
- ß¿¼ó«½ c ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¿º¼Ñ¡Ñ¡¡πε ßΓ᫬π. àß½¿ n
- í«½∞ΦÑ, τѼ ñ½¿¡á ßΓ᫬¿ string, ó¼ÑßΓ« n ¿ß»«½∞ºπÑΓß∩ ñ½¿¡á
- string.
- æ¼. Γá¬ªÑ strcat, strcmp, strcpy, strset.
-
-
- - 229 -
-
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[30]={"12345678901234567890"};
-
- main()
- {
- char copy[100], suffix[100], *result;
- int numresult;
- unsigned int nresult;
- .
- .
- .
- /* ¬«¼í¿¡¿απÑΓ ßΓ᫬π ß« ßΓ᫬«⌐ suffix, ¡Ñ í«½ÑÑ τѼ 10
- ß¿¼ó«½«ó (30 ¼¿¡πß ñ½¿¡á ¡áτá½∞¡«⌐ ßΓ᫬¿). (àß½¿ ó »α¿¼ÑαÑ ¿ß-
- »«½∞ºπÑΓß∩ í«½ÑÑ 10 ß¿¼ó«½«ó, ó »á¼∩Γ∞ íπñÑΓ ºá»¿ßá¡« ½εí«Ñ ñαπ-
- ú«Ñ º¡áτÑ¡¿Ñ) */
-
- result = strncat(string,suffix,10);
-
- /* «»αÑñѽ∩ÑΓ »«α∩ñ«¬ ß½«ó ó ßΓ᫬Ñ, ¬«Γ«αá∩ ß«ñÑনΓß∩ ó
- "program", ¡« αáßß¼áΓα¿óáÑΓ ¡Ñ í«½ÑÑ 7 ß¿¼ó«½«ó. àß½¿ ßΓ᫬á ß«-
- ñÑαª¿Γ »αÑΣ¿¬ß "program", strncmp ó«ºóαáΘáÑΓ 0 */
-
- strcpy(string,"programmer");
- numresult = strncmp(string,"program",7);
-
- /* ßαáó¡¿óáÑΓ 4 ß¿¼ó«½á ñóπσ ßΓ᫬ ó¡Ñ ºáó¿ß¿¼«ßΓ¿ «Γ Γ¿»á
- αÑú¿ßΓαá */
-
- strcpy(string,"PROGRESS");
- nresult = stricmp(string,"program",4);
-
- /* ¬«»¿απÑΓ 99 ß¿¼ó«½«ó ßΓ᫬¿ */
-
- result = strncpy(copy,string,99);
-
- /* πßΓá¡áó½¿óáÑΓ »ÑαóδÑ 4 ß¿¼ó«½á ßΓ᫬¿ ó ß¿¼ó«½ 'x' */
-
- result = strnset("computer",'x',4);
- }
-
-
- STRPBRK
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strpbrk(string1,string2);
- ¡áσ«ñ¿Γ ½εí«⌐ ß¿¼ó«½ ¿º string2
- ó string1
- char *string1; ßΓ᫬á-¿ßΓ«τ¡¿¬
- char *string2; ¼¡«ªÑßΓó« ß¿¼ó«½«ó
-
-
- - 230 -
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strpbrk ¡áσ«ñ¿Γ »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ó string1 ½εí«ú«
- ß¿¼ó«½á ¿º string2. ìπ½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ »α¿ »«¿ß¬Ñ ¡Ñ αáßß-
- ¼áΓα¿óáÑΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strpbrk ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ
- ß¿¼ó«½á ¿º string2 ó string1.
- NULL-π¬áºáΓѽ∞ «»αÑñѽ∩ÑΓ «ΓßπΓßΓó¿Ñ «íΘ¿σ ß¿¼ó«½«ó ó
- string1 ¿ ó string2.
- æ¼. Γá¬ªÑ strchr, strrchr.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[10], *result;
- .
- .
- .
- /* ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ó ßΓα«¬Ñ ½¿í«
- 'a,' ½¿í« 'b' */
-
- result = strpbrk(string,"ab");
-
- STRRCHR
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strrchr(string,c);
- ¡áσ«ñ¿Γ »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ c ó
- string
- char *string; ßΓ᫬á-¿ßΓ«τ¡¿¬
- int c; ß¿¼ó«½ »«¿ß¬á
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strrchr ¡áσ«ñ¿Γ »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ ß¿¼ó«½á c ó
- ßΓα«¬Ñ string. ìπ½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ ('\0') ßΓ᫬¿ string ó¬½ε-
- τáÑΓß∩ ó »«¿ß¬. (êß»«½∞ºπÑΓß∩ strchr ñ½∩ »«¿ß¬á »Ñαó«ú« óσ«ªñÑ¡¿∩
- c ó ßΓα«¬Ñ string).
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strrchr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ
- c ó string. ô¬áºáΓѽ∞ NULL ó«ºóαáΘáÑΓß∩, Ñß½¿ ºáñá¡¡δ⌐ ß¿¼ó«½ ¡Ñ
- ¡á⌐ñÑ¡.
- æ¼. Γá¬ªÑ strchr, strpbrk.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
-
- - 231 -
-
-
- char string[100], *result;
- .
- .
- .
- /* ¡áσ«ñ¿Γ »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ ß¿¼ó«½á 'a' ó ßΓα«¬Ñ */
- result = strrchr(string,'a');.
-
- STRREV
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strrev(string);
- char *string; ß«σαá¡∩Ѽá∩ ßΓ᫬á
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strrev ß«σαá¡∩ÑΓ »«α∩ñ«¬ ß¿¼ó«½«ó ó ºáñá¡¡«⌐ ßΓ᫬Ñ
- string. ìπ½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ ('\0') «ßΓáÑΓß∩ ¡á ¼ÑßΓÑ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strrev ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¿º¼Ñ¡Ñ¡¡πε string.
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼. Γá¬ªÑ strcpy, strset.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[100];
- int result;
- .
- .
- .
- /* «»αÑñѽ∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ ßΓα«¬á »á½¿¡ñα«¼«¼, Γ.Ñ. τ¿ΓáÑΓ-
- ß∩ «ñ¿¡á¬«ó« ó »α∩¼«¼ ¿ «íαáΓ¡«¼ »«α∩ñ¬Ñ */
- result = strcmp(string,strrev(strdup(string)));
- /* Ñß½¿ result == 0, ßΓ᫬á ∩ó½∩ÑΓß∩ »á½¿¡ñα«¼«¼ */
-
-
- STRSET
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strset(string,c);
- char *string; πßΓá¡áó½¿óáѼá∩ ßΓ᫬á
- int c; ß¿¼ó«½-»α¿Ñ¼¡¿¬
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strset πßΓá¡áó½¿óáÑΓ ó c óßÑ ß¿¼ó«½δ ¿º ºáñá¡¡«⌐
- ßΓ᫬¿ string, ¿ß¬½ετá∩ ¡π½Ñó«⌐ ß¿¼ó«½ «¬«¡τá¡¿∩ ('\0').
-
- - 232 -
-
-
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strset ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¿º¼Ñ¡Ñ¡¡πε ßΓ᫬π.
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼. Γá¬ªÑ strnset.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char string[100], *result;
- .
- .
- .
- /* πßΓá¡áó½¿óáÑΓ ßΓ᫬π, ß«ßΓ«∩Θπε ¿º »α«íѽ«ó */
- result = strset(string, ' ');
-
-
- STRSPN
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- int strspn(string1,string2);
- char *string1; »«¿ß¬«óá∩ ßΓ᫬á
- char *string2; ¼¡«ªÑßΓó« ß¿¼ó«½«ó
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strspn ó«ºóαáΘáÑΓ ¿¡ñÑ¬ß »Ñαó«ú« ß¿¼ó«½á ó ßΓ᫬Ñ
- string1, ¬«Γ«αδ⌐ ¡Ñ »α¿¡áñ½Ñª¿Γ ¼¡«ªÑßΓóπ ß¿¼ó«½«ó string2. ¥Γ«
- º¡áτÑ¡¿Ñ φ¬ó¿óá½Ñ¡Γ¡« ñ½¿¡Ñ ¡áτá½∞¡«⌐ »«ñßΓ᫬¿ ó ßΓα«¬Ñ string1,
- ¬«Γ«αá∩ »«½¡«ßΓ∞ε ß«ßΓ«¿Γ ¿º ß¿¼ó«½«ó ßΓ᫬¿ string2. ìπ½Ñó«⌐
- ß¿¼ó«½ «¬«¡τá¡¿∩ ßΓ᫬¿ string2 ¡Ñ αáßß¼áΓα¿óáÑΓß∩. àß½¿ string1
- ¡áτ¿¡áÑΓß∩ ß ß¿¼ó«½á, ¡Ñ óσ«ñ∩ΘÑú« ó string2, strcpn ó«ºóαáΘáÑΓ
- 0.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strspn ó«ºóαáΘáÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ, «»αÑñѽ∩εΘÑÑ »«-
- º¿µ¿ε »Ñαó«ú« ß¿¼ó«½á ó string1, ¿ ¡Ñ ß«ñÑαªáΘÑú«ß∩ ó string2.
- æ¼. Γá¬ªÑ strcspn.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- char *string="cabbadge";
- int result;
- .
- .
- .
- /* «»αÑñѽ∩ÑΓ ñ½¿¡π »αÑΣ¿¬ßá, ß«ñÑαªáΘÑú« a,b ¿ c */
- result = strspn(string,"abc"); /* result = 5 */
-
- - 233 -
-
-
-
- STRSTR
-
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strstr(srting1,string2);
- char *string1; »«¿ß¬«óá∩ ßΓ᫬á
- char *string2; ßΓ᫬á-Φáí½«¡
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strstr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ
- string1 ó string2.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strstr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á string1, Ñß½¿
- string1 «í¡áαπªÑ¡á, ¿ NULL - Ñß½¿ string1 ¡ÑΓ.
- æ¼. Γá¬ªÑ strcspn.
-
- Åα¿¼Ñα.
-
- #include <string.h>
-
- main()
- {
- char *string1="needle in a haystack";
- char *string2="hay";
-
- printf("%s\n", strstr(string1,string2));
- }
-
- ìá óδσ«ñÑ:
- haystack
-
- STRTOD-STRTOL
-
- #include <stdlib.h>
-
- double strtod(nptr, endptr); »αÑ«íαáºπÑΓ ßΓ᫬π,
- ¡á ¬«Γ«απε π¬áºδóáÑΓ
- nptr, ó double
-
- char *nptr; π¬áºáΓѽ∞ ¡á ßΓ᫬π
- char **endptr; π¬áºáΓѽ∞ ¡á ¬«¡Ñµ
- »α«ß¼«Γαá
-
- long strol(nptr,endptr,base); »αÑ«íαáºπÑΓ ßΓ᫬π ó
- long ñÑß∩Γ¿τ¡«Ñ µÑ-
- ½«Ñ, φ¬ó¿óá½Ñ¡Γ¡«Ñ
- τ¿ß½π ß ñá¡¡δ¼ «ß¡«-
- ó᡿Ѽ base
- char *nptr;
-
- - 234 -
-
-
- char **endptr;
- int base; ¿ß»«½∞ºπѼ«Ñ «ß¡«óá-
- ¡¿Ñ
-
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿¿ strtod ¿ strtol ß««ΓóÑΓßΓóÑ¡¡« »αÑ«íαáºπεΓ ß¿¼ó«½∞-
- ¡πε ßΓப㠪 º¡áτÑ¡¿ε ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε ¿½¿ ¬ ñ½¿¡¡«¼π µÑ½«¼π
- º¡áτÑ¡¿ε. êßσ«ñ¡á∩ ßΓ᫬á string »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óá-
- Γѽ∞¡«ßΓ∞ ß¿¼ó«½«ó, ¬«Γ«αδÑ ¿¡ΓÑα»αÑΓ¿απεΓß∩ ¬á¬ τ¿ß½«ó«Ñ º¡áτÑ-
- ¡¿Ñ ߻ѵ¿á½∞¡«ú« Γ¿»á. ¥Γ¿ Σπ¡¬µ¿¿ »αѬαáΘáεΓ τΓÑ¡¿Ñ ßΓ᫬¿ ¬á¬
- Γ«½∞¬« óßΓαÑΓ¿Γß∩ ß¿¼ó«½, ¬«Γ«αδ⌐ ¡Ñ ¼«ªÑΓ íδΓ∞ τáßΓ∞ε τ¿ß½á (φΓ«
- ¼«ªÑΓ íδΓ∞ ¡π½Ñó«⌐ ß¿¼ó«½ '\0 ó ¬«¡µÑ ßΓ᫬¿); ñ½∩ strtol ß¿¼ó«½«¼
- »αÑαδóá¡¿∩ ¼«ªÑΓ íδΓ∞ Γá¬ªÑ »Ñαóδ⌐ µ¿Σα«ó«⌐ ß¿¼ó«½, ¬«Γ«αδ⌐ í«½∞-
- ΦÑ ¿½¿ αáóÑ¡ base. àß½¿ endptr - ¡Ñ NULL, *endptr π¬áºδóáÑΓ ¡á
- Γ«Γ ß¿¼ó«½, ¡á ¬«Γ«α«¼ «ßΓá¡áó½¿óáÑΓß∩ »α«ß¼«Γα.
- öπ¡¬µ¿∩ strtod »αÑñ»«½áúáÑΓ, τΓ« nptr π¬áºδóáÑΓ ¡á ßΓ᫬π,
- ¿¼ÑεΘπε ß½ÑñπεΘπε Σ«α¼π:
-
- [whitespace][sign][digiits][.digits][{d:D:e:E}[sign]digits]
-
- Åα¿ »«∩ó½Ñ¡¿¿ »Ñαó«ú« ß¿¼ó«½á, ¡Ñ «ΓóÑτáεΘÑú« φΓ«⌐ Σ«α¼Ñ,
- «íαáí«Γ¬á »αѬαáΘáÑΓß∩.
- öπ¡¬µ¿∩ strtol »αÑñ»«½áúáÑΓ, τΓ« nptr π¬áºδóáÑΓ ¡á ßΓ᫬π
- ß½ÑñπεΘÑ⌐ ßΓαπ¬Γπαδ:
-
- [whitespace][sign][0][x][digits]
-
- àß½¿ base ½Ñª¿Γ ¼Ñªñπ 2 ¿ 36, φΓ« º¡áτÑ¡¿Ñ ¿ß»«½∞ºπÑΓß∩ ¬á¬
- «ß¡«óá¡¿Ñ ß¿ßΓѼδ ßτ¿ß½Ñ¡¿∩ ñá¡¡«ú« τ¿ß½á.
- àß½¿ base = 0, ¡áτá½∞¡δÑ ß¿¼ó«½δ ßΓ᫬¿, ¡á ¬«Γ«αδÑ π¬áºδ-
- óáÑΓ nptr, ¿ß»«½∞ºπεΓß∩ ñ½∩ «»αÑñѽѡ¿∩ «ß¡«óá¡¿∩. àß½¿ »Ñαóδ⌐
- ß¿¼ó«½ - 0 ¿ óΓ«α«⌐ - «ñ¡á ¿º µ¿Σα «Γ 1 ñ« 7, Γ« ßΓα«¬á ¿¡ΓÑα»αÑ-
- Γ¿απÑΓß∩ ¬á¬ ó«ß∞¼Ñα¿τ¡«Ñ µÑ½«Ñ; Ñß½¿ »Ñαóδ⌐ ß¿¼ó«½ 0, á óΓ«α«⌐ x
- ¿½¿ X, Γ«úñá ßΓα«¬á »«¡¿¼áÑΓß∩ ¬á¬ ΦÑßΓ¡áñµáΓÑα¿τ¡«Ñ µÑ½«Ñ; Ñß½¿
- »Ñαóδ⌐ ß¿¼ó«½ »α¿¡áñ½Ñª¿Γ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ 1-9, Γ« ßΓα«¬á »«¡¿-
- ¼áÑΓß∩ ¬á¬ ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strtod ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ τ¿ß½á ß »½áóáεΘÑ⌐ Γ«τ-
- ¬«⌐, ¿ß¬½ετá∩ ß½πτá¿ »ÑαÑ»«½¡Ñ¡¿∩ ¿½¿ »«ΓÑα¿ αѺπ½∞ΓáΓá (Γ.Ñ. áí-
- ß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ αѺπ½∞ΓáΓá ¼Ñ¡∞ΦÑ, τѼ φΓ« ñ«»πßΓ¿¼« ñ¿á»áº«¡«¼
- »αÑñßΓáó½Ñ¡¿∩ τ¿ß½á). é ß½πτáÑ »ÑαÑ»«½¡Ñ¡¿∩ ¿½¿ »«ΓÑα¿ º¡áτ¿¼«ßΓ¿
- αѺπ½∞ΓáΓá ó«ºóαáΘáÑΓß∩ ß««ΓóÑΓßΓóÑ¡¡« +HUGE ¿½¿ -HUGE.
- öπ¡¬µ¿∩ strtol ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »αÑ«íαẫóá¡¡«⌐ ßΓ᫬¿,
- ¿ß¬½ετá∩ ß½πτá⌐ »ÑαÑ»«½¡Ñ¡¿∩ ¿½¿ »«ΓÑα¿ αѺπ½∞ΓáΓá. é φΓ«¼ ß½πτáÑ
- ó«ºóαáΘáÑΓß∩ ß««ΓóÑΓßΓóÑ¡¡« LONG_MAX ¿½¿ LONG_MIN. ÄíÑ Σπ¡¬µ¿¿
- πßΓá¡áó½¿óáεΓ errno ó ERANGE.
- æ¼. Γá¬ªÑ atof, atol.
-
- Åα¿¼Ñα.
-
- #include <stdlib.h>
-
- - 235 -
-
-
-
- main()
- {
- char *string, *stopstring;
- double x;
- long l;
- int bs;
-
- string="3.1415926This stopped it";
- x=strtod (string, &stopstring);
- printf ("string=%s\n",string);
- printf ( strtod=%ld (base %d)\n", l, bs);
- printf (" Stopped scan at %s\n\n", stopstring);
- string="10110134932";
- printf ("string=%s\n", string);
- for (bs=2; bs<=8; bs*=2) {
- l=strtol(string, &stopstring, bs);
- printf (" strtol=%ld (base %d)\n",l,bs);
- printf (" Stopped scan at %s\n\n",stopstring);
- }
- }
-
- ìá óδσ«ñÑ:
-
- string = 3.1415926This stopped it
- strtod = 3.141593
- Stopped scan at This stopped it
-
- string = 10110134932
- strtol = 45 (base 2)
-
-
- Stopped scan at 34932
-
- strtol = 4423 (base 4)
- Stopped scan at 4932
-
- strtol = 2134108 (base 8)
- Stopped scan at 932
-
- STRTOK
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- char *strtor(string1,string2);
- ¡áσ«ñ¿Γ ß¿¼ó«½ ó string1
- char *string1; ßΓ᫬á, ß«ñÑαªáΘá∩ ß¿¼ó«½δ
- char *string2; ¼¡«ªÑßΓó« ß¿¼ó«½«ó-«úαá¡¿τ¿ΓѽÑ⌐
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strtok τ¿ΓáÑΓ ßΓ᫬π string1 ¬á¬ ¼¡«ªÑßΓó« ¡π½∞ ¿½¿
- í«½ÑÑ º¡á¬«ó, ß½πªáΘ¿σ ó ¬áτÑßΓóÑ «úαá¡¿τ¿ΓѽÑ⌐ ñ½∩ ß¿¼ó«½«ó ó
- string1. 濼ó«½δ ó string1 ¼«úπΓ «Γñѽ∩Γ∞ß∩ «ñ¡¿¼ ¿½¿ í«½ÑÑ «úαá-
-
- - 236 -
-
-
- ¡¿τ¿ΓѽѼ «Γ string2. 濼ó«½δ ó string1 αáºαδóáεΓß∩ ßΓ«½∞¬« αáº,
- ߬«½∞¬« óδºδóáÑΓß∩ strtok. Åα¿ »Ñαó«¼ ó맮óÑ strtok ñ½∩ ºáñá¡¡«⌐
- ßΓ᫬¿ string1, strtok ¡áσ«ñ¿Γ »Ñαóδ⌐ ß¿¼ó«½ ó string1, »α«»π߬á∩
- »αÑñδñπΘ¿Ñ «úαá¡¿τ¿Γѽ¿. ô¬áºáΓѽ∞ ó«ºóαáΘáÑΓß∩ ¡á »Ñαóδ⌐ º¡á¬.
- ä½∩ Γ«ú«, τΓ«íδ »α«τ¿ΓáΓ∞ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿º string1, Σπ¡¬µ¿∩
- strtok óδºδóáÑΓß∩ ó¼ÑßΓÑ ß NULL º¡áτÑ¡¿Ñ¼ ñ½∩ áαúπ¼Ñ¡Γá string1.
- Çαúπ¼Ñ¡Γ NULL ßΓ᫬¿ string1 óδºδóáÑΓ strtok ñ½∩ »«¿ß¬á ß½ÑñπεΘÑ-
- ú« º¡á¬á ó »αÑñδñπΘÑ⌐ ßΓα«¬Ñ ß¿¼ó«½«ó. î¡«ªÑßΓó« «úαá¡¿τ¿ΓѽÑ⌐
- ¼«ªÑΓ íδΓ∞ αẽ¿τ¡δ¼ «Γ ó맮óá ¬ ó맮óπ, Γᬠ¬á¬ string2 ¼«ªÑΓ
- »α¿¡¿¼áΓ∞ ½εíδÑ º¡áτÑ¡¿∩.
- çá¼Ñτá¡¿Ñ. String1 ¼«ª¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ ó맮óἿ strtok,
- Γᬠ¬á¬ »«ß½Ñ ó맮óá strtok ó string1 óßΓáó½∩ÑΓß∩ ¡π½Ñó«Ñ º¡áτÑ-
- ¡¿Ñ ('\0').
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- Åα¿ ó맮óÑ strtok »Ñαóδ⌐ αáº, «¡á ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á
- »Ñαóδ⌐ ß¿¼ó«½ ó string1. Åα¿ »«ß½ÑñπεΘ¿σ ó맮óáσ ó φΓ«⌐ ªÑ ßἫ⌐
- ßΓα«¬Ñ ß¿¼ó«½«ó, strtok ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ ß¿¼ó«½
- ó ßΓ᫬Ñ. ô¬áºáΓѽ∞ NULL ó«ºóαáΘáÑΓß∩, ¬«úñá ¡ÑΓ í«½∞ΦÑ ß¿¼ó«½«ó.
- éßÑ ß¿¼ó«½δ «¬á¡τ¿óáεΓß∩ ¡π½Ñ¼.
- æ¼. Γá¬ªÑ strcspn, strspn.
-
- Åα¿¼Ñα.
-
- #include <string.h>
- #include <stdio.h>
-
- char *string = "a string, of , ,tokens";
- .
- .
- .
- /* ó ß½ÑñπεΘѼ µ¿¬½Ñ ß«í¿αáεΓß∩ ß¿¼ó«½δ («Γñѽѡ¡δÑ »α«íÑ-
- ½á¼¿ ¿½¿ ºá»∩Γ묨) ¿º ßΓ᫬¿ ñ« ΓÑσ »«α, »«¬á ó ¡Ñ⌐ ¡¿τÑú« ¡Ñ «ß-
- Γá¡ÑΓß∩ */
- token = strtok(string,",");
-
- while (token !=NULL) {
- /* óßΓáó½∩ÑΓ ¬«ñ ñ½∩ «íαáí«Γ¬¿ ß¿¼ó«½á ó µ¿¬½Ñ */
- .
- .
- .
- token = strtok(NULL,",");
- /* íÑαÑΓ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ */
- }
-
- /* ó«ºóαáΘáÑ¼δ¼¿ ß¿¼ó«½á¼¿ ∩ó½∩εΓß∩ "a","string", "of",
- "tokens". æ½ÑñπεΘ¿⌐ ó맮ó strtok ó«ºóαáΓ¿Γ NULL ¿ µ¿¬½ ºáóÑαΦáÑΓ-
- ß∩ */
-
-
- STRUPR
-
- #include<string.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ «íΩ∩ó½Ñ¡¿∩
- Σπ¡¬µ¿¿
-
- - 237 -
-
-
-
- char *strupr(string);
- char *string; ßΓ᫬á, »αÑ«íαáºπѼá∩ ¬
- óÑασ¡Ñ¼π αÑú¿ßΓαπ
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ strupr »αÑ«íαáºπÑΓ ½εíδÑ íπ¬óδ ¡¿ª¡Ñú« αÑú¿ßΓαá ¿º
- ºáñá¡¡«⌐ string ¬ íπ¬óá¼ óÑασ¡Ñú« αÑú¿ßΓαá. äαπú¿Ñ ß¿¼ó«½δ ¡Ñ
- αáßß¼áΓα¿óáεΓß∩.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- öπ¡¬µ¿∩ strupr ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »αÑ«íαáºπѼπε ßΓ᫬π
- string. 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ó ß½πτáÑ «Φ¿í¬¿ ¡ÑΓ.
- æ¼. Γá¬ªÑ strlwr.
-
- Åα¿¼Ñα.
-
- #include<string.h>
-
- char string[100], *copy;
- .
- .
- .
- /* ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ñѽáÑΓ ¬«»¿ε ßΓ᫬¿ ó óÑασ¡Ñ¼ αÑú¿ßΓ-
- ॠ*/
- copy = strupr(strdup(string));
-
-
- SWAB
-
- #include <stdlib.h> ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩
- «íΩ∩ó½Ñ¡¿∩ Σπ¡¬µ¿¿
-
- void swab(source, destination, n);
- char *source; ¬«»¿απѼδÑ ¿ »ÑαÑßΓáó-
- ½∩ѼδÑ («í¼Ñ¡¿óáѼδÑ)
- ñá¡¡δÑ
- char *destination; σαá¡Ñ¡¿Ñ »ÑαÑßΓáó½Ñ¡-
- ¡δσ ñá¡¡δσ
- int n; τ¿ß½« ¬«»¿απѼδσ
- íá⌐Γ«ó
-
- Ä»¿ßá¡¿Ñ.
-
- öπ¡¬µ¿∩ swab ¬«»¿απÑΓ n íá⌐Γ«ó ¿º source, »ÑαÑßΓáó½∩ÑΓ («í-
- ¼Ñ¡¿óáÑΓ) ¬áªñπε »áαπ ߼Ѫ¡δσ íá⌐Γ«ó ¿ σαá¡¿Γ αѺπ½∞ΓáΓ ó
- destination. ûѽδÑ n ¼«úπΓ íδΓ∞ «ñ¿¡á¬«ó묨 τ¿ß½á¼¿, »«ñ½ÑªáΘ¿¼¿
- »ÑαÑßΓá¡«ó¬Ñ («í¼Ñ¡π).
- öπ¡¬µ¿∩ swab «íδτ¡« ¿ß»«½∞ºπÑΓß∩ ñ½∩ »«ñú«Γ«ó¬¿ ñó«¿τ¡δσ
- ñá¡¡δσ »α¿ »ÑαÑßδ½¬Ñ ¿σ ¬ óδτ¿ß½¿Γѽ∞¡«⌐ ¼áΦ¿¡Ñ, ¬«Γ«αá∩ ¿ß»«½∞-
- ºπÑΓ αẽ¿τ¡δ⌐ »«α∩ñ«¬ íá⌐Γ«ó.
-
- 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ.
-
- 髺óαáΘáѼ«ú« º¡áτÑ¡¿∩ ¡ÑΓ.
- æ¼. Γá¬ªÑ fgets, fputs.
-
-
-