|
|
1.1 root 1:
2:
3: fflush() STDIO Function fflush()
4:
5:
6:
7:
8: Flush output stream's buffer
9:
10: #include <stdio.h>
11: iinntt fffflluusshh(_f_p) FFIILLEE *_f_p;
12:
13: fflush flushes any buffered output data associated with the file
14: stream fp. The file stream stays open after fflush is called.
15: fclose calls fflush, so there is no need for you to call it when
16: normally closing a file or buffer.
17:
18: ***** Example *****
19:
20: This example demonstrates fflush. When run, you will see the
21: following:
22:
23:
24: Line 1
25: -----
26: Line 1
27: -----
28: Line 1
29: Line 2
30: -----
31:
32:
33: The call
34:
35:
36: fprintf(fp, "Line 2\n");
37:
38:
39: goes to a buffer and is not in the file when file foo is listed.
40: However if you redirect the output of this program to a file and
41: list the file, you will see:
42:
43:
44: Line 1
45: Line 1
46: Line 1
47: Line 2
48: -----
49: -----
50: -----
51:
52:
53: because the line
54:
55:
56: printf("-----\n");
57:
58:
59: goes into a buffer and is not printed until the program is over
60: and all buffers are flushed by exit().
61:
62:
63:
64: COHERENT Lexicon Page 1
65:
66:
67:
68:
69: fflush() STDIO Function fflush()
70:
71:
72:
73: Although the COHERENT screen drivers print all output im-
74: mediately, not all operating systems work this way, so when in
75: doubt, fflush().
76:
77:
78: #include <stdio.h>
79:
80:
81:
82: main()
83: {
84: FILE *fp;
85:
86:
87:
88: if (NULL == (fp = fopen("foo", "w")))
89: exit(1);
90: fprintf (fp, "Line 1\n");
91: fflush (fp);
92: system ("cat foo"); /* print Line 1 */
93:
94:
95:
96: printf("-----\n");
97: fprintf(fp, "Line 2\n");
98: system("cat foo"); /* print Line 1 */
99: printf("-----\n");
100:
101:
102:
103: fflush(fp);
104: system("cat foo"); /* print Line 1 Line 2 */
105: printf("-----\n");
106: }
107:
108:
109: ***** See Also *****
110:
111: fclose(), setbuf(), STDIO, write()
112:
113: ***** Diagnostics *****
114:
115: fflush returns EOF if it cannot flush the contents of the buff-
116: ers; otherwise it returns a meaningless value.
117:
118: Note, also, that all STDIO routines are buffered. fflush should
119: be used to flush the output buffer if you follow a STDIO routine
120: with an unbuffered routine.
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.