|
|
1.1 root 1:
2:
3: getc() STDIO Macro getc()
4:
5:
6:
7:
8: Read character from file stream
9:
10: #include <stdio.h>
11: iinntt ggeettcc(_f_p) FFIILLEE *_f_p;
12:
13: getc is a macro that reads a character from the file stream _f_p,
14: and returns an int.
15:
16: ***** Example *****
17:
18: The following example creates a simple copy utility. It opens
19: the first file named on the command line and copies its contents
20: into the second file named on the command line.
21:
22:
23: #include <stdio.h>
24:
25:
26:
27: void fatal(string)
28: char *string;
29: {
30: printf("%s\n", string);
31: exit (1);
32: }
33:
34:
35:
36: main(argc, argv)
37: int argc; char *argv[];
38: {
39: int foo;
40: FILE *source, *dest;
41:
42:
43:
44: if (--argc != 2)
45: fatal("Usage: copy [source][destination]");
46:
47:
48:
49: if ((source = fopen(argv[1], "r")) == NULL)
50: fatal("Cannot open source file");
51: if ((dest = fopen(argv[2], "w")) == NULL)
52: fatal("Cannot open destination file");
53:
54:
55:
56: while ((foo = getc(source)) != EOF)
57: putc(foo, dest);
58: }
59:
60:
61:
62:
63:
64: COHERENT Lexicon Page 1
65:
66:
67:
68:
69: getc() STDIO Macro getc()
70:
71:
72:
73: ***** See Also *****
74:
75: fgetc(), getchar(), putc(), STDIO
76:
77: ***** Diagnostics *****
78:
79: getc returns EOF at end of file or on read fatal.
80:
81: ***** Notes *****
82:
83: Because getc is a macro, arguments with side effects probably
84: will not work as expected. Also, because getc is a complex
85: macro, its use in expressions of too great a complexity may cause
86: unforeseen difficulties. Use of the function fgetc may avoid
87: this.
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130: COHERENT Lexicon Page 2
131:
132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.