%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:06:41 1996 %%Pages: (atend) %%DocumentFonts: (atend) /devps 180 dict def devps begin /res 10.000000 def /y_offset 843 def /X{exch}bind def /mm {transform round X round X itransform} bind def /r{rmoveto}bind def /m{moveto}bind def /l{lineto}bind def /rl{rlineto}bind def /st{stroke}bind def /gs{gsave}bind def /gr{grestore}bind def /cp{currentpoint}bind def /np{newpath}bind def /ct{curveto}bind def systemdict /setpacking known { /savepacking currentpacking def true setpacking } if /m0{0 0 moveto}bind def /xc{//res div}bind def /yc{//res neg div //y_offset add}bind def /lc{yc X xc X l st}bind def /mc{yc X xc X m}bind def /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def /V{//res neg div //y_offset add currentpoint pop X m}bind def /H{//res div 0 transform X round X itransform pop currentpoint X pop moveto}bind def /h{//res div 0 r}bind def /v{//res neg div 0 X r}bind def /S{X H show}bind def /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def /psize 10 def /height 0 def /cheight { height 0 ne { height } { psize } ifelse } bind def /slant 0 def /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def /shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}bind def 1 setlinecap /resolution res 72 mul def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def }bind def /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto }bind def /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore }bind def /globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def /globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def }bind def /fontnum 1 def systemdict /setpacking known { savepacking setpacking} if end /BP{ save mark devps begin m0 /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def }bind def /EP{ end cleartomark restore showpage}def /Encoding-1 256 array def 0 1 255 {Encoding-1 exch /.notdef put} for Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi Encoding-1 dup 8#41 /copyright put dup 8#42 /registered put dup 8#43 /trademark put dup 8#44 /logicalnot put dup 8#45 /Eth put dup 8#46 /eth put dup 8#47 /Thorn put dup 8#50 /thorn put dup 8#51 /brokenbar put dup 8#52 /degree put dup 8#53 /divide put dup 8#54 /multiply put dup 8#55 /minus put dup 8#56 /onehalf put dup 8#57 /onequarter put dup 8#60 /threequarters put dup 8#101 /Aacute put dup 8#102 /Acircumflex put dup 8#103 /Adieresis put dup 8#104 /Agrave put dup 8#105 /Aring put dup 8#106 /Atilde put dup 8#107 /Ccedilla put dup 8#110 /Eacute put dup 8#111 /Ecircumflex put dup 8#112 /Edieresis put dup 8#113 /Egrave put dup 8#114 /Iacute put dup 8#115 /Icircumflex put dup 8#116 /Idieresis put dup 8#117 /Igrave put dup 8#120 /Ntilde put dup 8#121 /Oacute put dup 8#122 /Ocircumflex put dup 8#123 /Odieresis put dup 8#124 /Ograve put dup 8#125 /Otilde put dup 8#126 /Scaron put dup 8#127 /Uacute put dup 8#130 /Ucircumflex put dup 8#131 /Udieresis put dup 8#132 /Ugrave put dup 8#133 /Ydieresis put dup 8#134 /Zcaron put dup 8#135 /aacute put dup 8#136 /acircumflex put dup 8#137 /adieresis put dup 8#140 /agrave put dup 8#141 /aring put dup 8#142 /atilde put dup 8#143 /ccedilla put dup 8#144 /eacute put dup 8#145 /ecircumflex put dup 8#146 /edieresis put dup 8#147 /egrave put dup 8#150 /iacute put dup 8#151 /icircumflex put dup 8#152 /idieresis put dup 8#153 /igrave put dup 8#154 /ntilde put dup 8#155 /oacute put dup 8#156 /ocircumflex put dup 8#157 /odieresis put dup 8#160 /ograve put dup 8#161 /otilde put dup 8#162 /scaron put dup 8#163 /uacute put dup 8#164 /ucircumflex put dup 8#165 /udieresis put dup 8#166 /ugrave put dup 8#167 /ydieresis put dup 8#170 /zcaron put pop /Enc-dict 30 dict def Enc-dict /tmpstr1 50 string put Enc-dict /tmpstr2 50 string put Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put /AEnc-def { % arguments: the original font's name, encoding nr Enc-dict begin tmpstr2 cvs /Enc-no exch def % Remember the number in a string dup /OrigName exch def % remember the name findfont dup maxlength dict /newdict exch def % get dictionary for new font { exch dup /FID ne { exch newdict 3 1 roll put } { pop pop } % Ignore FID ifelse } forall newdict begin /Encoding tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval cvn load def % Replace encoding currentdict /UniqueID known { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID end % newdict /FNlength OrigName tmpstr1 cvs length def % convert name, remember length FNlength 1 add Enc-no length add string dup 0 OrigName tmpstr1 cvs putinterval dup FNlength (-) putinterval dup FNlength 1 add Enc-no putinterval dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name cvn dup newdict /FontName 3 2 roll put newdict definefont end % Enc-dict } def /Times-Roman 1 AEnc-def pop /R-1{/Times-Roman-1 FF}def /R{/Times-Roman FF}def /B{/Times-Bold FF}def /I{/Times-Italic FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(FOPEN)S 1048(\()S 1090(3)S 1148(\))S 2696(Eighth)S (Edition)296 2989 A 4799(FOPEN)S 5127(\()S 5169(3)S 5227(\))S 960 V 9 R 720(N)S 722(NA)S 790(AM)S 858(ME)S 940(E)S 1080 V 10 R 1080(fopen,)S 1359(freopen,)S (fdopen)279 1717 A 10 R-1 2021(-)S 10 R 2103(open)S 2323(a)S 2393(stream)S 1248 V 9 R 720(S)S 722(SY)S 774(YN)S 842(NO)S 910(OP)S 978(PS)S 1030(SI)S 1082(IS)S 1115(S)S 1368 V 10 B 1080(#include)S 1482()S 1608 V 1080(FILE)S 1353(*fopen\(const)S 1940(char)S 2174(*)S 10 I 2224(\256lename)S 10 B 2565(,)S 2628(const)S 2890(char)S 3124(*)S 10 I 3174(type)S 10 B 3342(\))S 1728 V 1080(FILE)S 1353(*freopen\(const)S 2030(char)S 2264(*)S 10 I 2314(\256lename)S 10 B 2655(,)S 2718(const)S 2980(char)S 3214(*)S 10 I 3264(type)S 10 B 3432(,)S 3495(FILE)S 3768(*)S 10 I 3818(stream)S 10 B 4092(\))S 1848 V 1080(FILE)S 1353(*fdopen\(int)S 10 I 1890(\256ldes)S 10 B 2102(,)S 2165(const)S 2427(char)S 2661(*)S 10 I 2711(type)S 10 B 2879(\))S 2016 V 9 R 720(D)S 722(DE)S 790(ES)S 848(SC)S 900(CR)S 962(RI)S 1024(IP)S 1057(PT)S 1109(TI)S 1167(IO)S 1200(ON)S 1268(N)S 2136 V 10 B 1080(Fopen)S 10 R 1377(opens)S 1639(the)S 1790(\256le)S 1947(named)S 2244(by)S 10 I 2373(\256lename)S 10 R 2743(and)S 2917(associates)S 3349(a)S 3423(stream)S 3721(with)S 3929(it.)S 10 B 4064(Fopen)S 10 R 4362(returns)S 4671(a)S 4745(pointer)S 5059(to)S 5166(be)S 2256 V 1080(used)S 1289(to)S 1392(identify)S 1730(the)S 1878(stream)S 2172(in)S 2275(subsequent)S 2746(operations.)S 2424 V 10 I 1080(Type)S 10 R 1301(is)S 1393(a)S 1463(character)S 1859(string)S 2113(having)S 2411(one)S 2581(of)S 2690(the)S 2838(following)S 3254(values:)S 2592 V 1080("r")S 1330(open)S 1550(for)S 1693(reading)S 2760 V 1080("w")S 1330(create)S 1597(for)S (writing)291 1740 A 2928 V 1080("a")S 1330(append:)S 1673(open)S 1893(for)S (writing)291 2036 A 2352(at)S 2450(end)S 2620(of)S 2729(\256le,)S 2908(or)S 3017(create)S 3284(for)S (writing)291 3427 A 3096 V 1080(In)S (addition,)354 1195 A (each)185 1580 A 10 I 1796(type)S 10 R 1995(may)S 2199(be)S 2325(followed)S 2714(by)S 2845(a)S 2921("+")S 3091(to)S 3200(have)S 3421(the)S 3575(\256le)S 3735(opened)S 4056(for)S 4205(reading)S 4538(and)S (writing.)316 4715 A 5088("r+")S 3216 V (positions)362 1080 A 1469(the)S 1619(stream)S 1915(at)S 2015(the)S 2165(beginning)S 2593(of)S 2704(the)S 2854(\256le,)S 3035("w+")S 3274(creates)S 3581(or)S 3691(truncates)S 4081(it,)S 4188(and)S 4359("a+")S (positions)362 4569 A 4957(it)S 5039(at)S 5138(the)S 3336 V 1080(end.)S 1319(Both)S 1558(reads)S 1815(and)S 2004(writes)S 2295(may)S 2512(be)S 2651(used)S 2879(on)S 3023(read/write)S 3477(streams,)S 3854(with)S 4077(the)S 4245(limitation)S 4681(that)S 4877(an)S 10 B 5017(fseek)S 10 R 5236(,)S 3456 V 10 B 1080(rewind)S 10 R 1383(,)S 1433(or)S 1542(reading)S 1869(an)S 1989(end-of-\256le)S 2440(must)S 2660(be)S 2780(used)S 2989(between)S 3350(a)S 3420(read)S 3619(and)S 3789(a)S 3859(write)S 4092(or)S 4201(vice-versa.)S 3624 V 10 B 1080(Freopen)S 10 R (substitutes)424 1466 A 1917(the)S 2067(named)S 2362(\256le)S 2518(in)S (place)213 2623 A 2863(of)S 2974(the)S 3124(open)S 10 I 3346(stream)S 10 R 3628(.)S 3706(It)S 3796(returns)S 4104(the)S 4255(original)S 4596(value)S 4842(of)S 10 I 4954(stream)S 10 R 5236(.)S 3744 V 1080(The)S 1262(original)S 1600(stream)S 1894(is)S 1986(closed.)S 3912 V 10 B 1080(Freopen)S 10 R 1473(is)S 1574(typically)S 1960(used)S 2178(to)S 2290(attach)S 2565(the)S 2723(preopened)S 3177(constant)S 3547(names,)S 10 B 3864(stdin,)S 4137(stdout,)S (stderr,)289 4466 A 10 R 4790(to)S 4903(speci\256ed)S 4032 V 1080(\256les.)S 4200 V 10 B 1080(Fdopen)S 10 R 1430(associates)S 1858(a)S 1928(stream)S 2222(with)S 2426(a)S 2496(\256le)S 2651(descriptor)S 3080(obtained)S 3452(from)S 10 B 3674(open)S 10 R 3881(,)S 10 B (dup)168 3932 A 10 R 4100(,)S 10 B (creat)219 4151 A 10 R 4370(,)S 4421(or)S 10 B 4531(pipe)S 10 R 4716(\(2\).)S 4910(The)S 10 I 5093(type)S 4320 V 10 R 1080(of)S 1189(the)S 1337(stream)S 1631(must)S 1851(agree)S 2095(with)S 2299(the)S 2447(mode)S 2695(of)S 2804(the)S 2952(open)S 3172(\256le.)S 4488 V 9 R 720(S)S 722(SE)S 774(EE)S 832(E)S 913(A)S 915(AL)S 983(LS)S 1041(SO)S 1093(O)S 4608 V 10 B 1080(open)S 10 R 1287(\(2\),)S 10 B 1455(fclose)S 10 R 1696(\(3\).)S 4776 V 9 R 720(D)S 722(DI)S 790(IA)S 823(AG)S 891(GN)S 959(NO)S 1027(OS)S 1095(ST)S 1147(TI)S 1205(IC)S 1238(CS)S 1300(S)S 4896 V 10 B 1080(Fopen)S 10 R 1392(and)S 10 B 1580(freopen)S 10 R 1954(return)S 2238(the)S 2404(pointer)S 9 B 2730(NULL)S 10 R 3025(if)S 10 I 3130(\256lename)S 10 R (cannot)268 3514 A 3825(be)S (accessed,)378 3963 A 4384(if)S 4489(too)S 4660(many)S 4926(\256les)S 5137(are)S 5016 V 1080(already)S 1402(open,)S 1647(or)S 1756(if)S 1843(other)S 2075(resources)S 2481(needed)S (cannot)268 2791 A 3084(be)S 3204(allocated.)S 5184 V 9 R 720(B)S 722(BU)S 784(UG)S 852(GS)S 920(S)S 5304 V 10 B 1080(Fdopen)S 10 R 1430(is)S 1522(not)S 1675(portable)S 2030(to)S 2133(systems)S 2476(other)S 2708(than)S 2906(UNIX.)S 5472 V 1080(The)S 1270(read/write)S 10 I 1713(types)S 10 R 1953(do)S 2086(not)S 2247(exist)S 2470(on)S 2603(all)S 2737(systems.)S 3139(Those)S 3419(systems)S (without)307 3771 A 4112(read/write)S 4556(modes)S (will)157 4852 A 5043(prob-)S 5592 V 1080(ably)S 1278(treat)S 1483(the)S 10 I 1631(type)S 10 R 1824(as)S 1933(if)S 2020(the)S 2168("+")S 2332(was)S 2514(not)S 2667(present.)S 3033(These)S 3299(are)S 3448(unreliable)S 3876(in)S 3979(any)S 4149(event.)S 7903 V 720(Page)S 941(1)S 2669(\()S 2711(May)S 2920(27,)S (1986)200 3070 A 3278(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 1