File: stdio.3

package info (click to toggle)
manpages-es 1.55-9
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,468 kB
  • ctags: 6
  • sloc: sh: 1,629; makefile: 64
file content (367 lines) | stat: -rw-r--r-- 10,285 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
.\" Copyright (c) 1990, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)stdio.3	6.5 (Berkeley) 5/6/91
.\"
.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu
.\" Modified, 2001-12-26, aeb
.\" Translation revised Mon Aug 17 1998 by Juan Piernas <piernas@ditec.um.es>
.\" Traducción revisada por Miguel Pérez Ibars <mpi79470@alu.um.es> el 3-febrero-2005
.\"
.TH STDIO 3  "26 diciembre 2001" "" "Manual del Programador de Linux"
.SH NOMBRE
stdio \- funciones de biblioteca de entrada/salida estándar.
.SH SINOPSIS
.B #include <stdio.h>
.sp
.B FILE *stdin;
.br
.B FILE *stdout;
.br
.B FILE *stderr;
.SH DESCRIPCIÓN
La biblioteca de E/S estándar proporciona una interfaz de flujo (stream)
utilizando un sistema de buffers (memoria intermedia) simple y eficiente. La
entrada y la salida se mapean en flujos lógicos de datos y las
caracteristicas fisicas de E/S permanecen ocultas para el programador. Las
funciones y las macros se muestran mas adelante; para mas información se
puede recurrir a las paginas del manual individuales para cada una de ellas.
.PP
Un flujo se asocia con un archivo externo (el cual debe estar en un
dispositivo físico) 
.I abriendo 
un archivo, el cual se supone que debe ser creado. Crear un archivo
existente hara que dicho archivo quede vacio. Si un archivo soporta
posicionamiento (como un archivo en disco, y en contraposición a lo que
ocurre con un archivo de terminal) entonces un
.I marcador de posición
asociado al flujo se situará al principio del archivo (byte cero), a
no ser que el archivo sea abierto en modo añadir (append). Si se utiliza
esta última modalidad de apertura, el marcador de posición será situado al
final del archivo. el indicador de posicion se mantiene en sucesivas
lecturas, escrituras y reposicionamientos. Todas las entradas se hacen como
si los caracteres hubieran sido leidos mediante sucesivas llamadas a la
función
.BR fgetc (3)
todas las salidas se producen como si todos los caracteres fueran leidos
mediante llamadas sucesivas a la función
.BR fputc (3)
.PP
Un archivo se desentiende de un flujo
.I cerrando
dicho archivo. Los flujos de salida son descargados (toda el contenido
de la memoria intermedia que no fue escrita al archivo, se transmite en ese
momento) antes de que el flujo se desentienda del fichero. El valor de
un puntero que apunta a un objeto  
.B FILE
es indeterminado tras el cierre del archivo.
.PP
Un archivo sera reabierto repitidamente, por la misma u otras ejecuciones de
un programa, y sus contenidos seran leidos o modificados (si se puede
reposicionar al principio). Si la función main() retorna a quien llamo al
programa, o se utiliza la función 
.BR exit (3)
todos los archivos abiertos seran cerrados (consecuentemente todos los
flujos de salida serán descargados sobre sus respectivos ficheros) antes
de que se produzca el cierre efectivo del programa.Otras formas de terminar
un programa como
.BR abort (3)
no se preocupan de cerrar los archivos apropiadamente.
.PP
Cuando el programa comienza, tres flujos de texto se inician por defecto
y no necesitan ser abiertas explicitamente \(em
.I entrada estándar
(para la lectura de la entrada convencional), \(em
.I salida estándar
(para la escritura de la salida convencional) \(em
.I salida de error estándar
(para la salida de diagnósticos). Estos flujos se abrevian,
respectivamente, como
.IR stdin , stdout
y
.IR stderr .
Una vez abierta, el flujo de errores estándar no utiliza memoria
intermedia totalmente; los flujos estándar de entrada y salida lo harán
solamente en el caso de que dichos flujos no hagan referencia a un
dispositivo interactivo.
.PP
Los flujos de salida que hacen referencia a dispositivos de tipo
terminal, siempre utilizan memorias intermedias lineales por defecto;
durante la salida hacia cada flujo se escribe automáticamente un
flujo de entrada que hace referencia al dispositivo terminal que lee. En
los casos donde se requieren una enorme cantidad de calculos, despues de 
imprimir parte de una linea en un terminal de salida, es necesario efectuar
una descarga de la memoria intermedia en el flujo de salida estándar 
mediante
.BR fflush (3)
antes de dejarlo y comenzar los calculos para que la salida aparezca.
.PP
La biblioteca
.B stdio
es parte de la biblioteca
.B libc
y las rutinas se cargan automaticamente segun son necesitadas por los
compiladores
.BR cc (1)
y
.BR pc (1).
Las secciones
.B SINOPSIS
de las siguientes paginas del manual indican que archivos de cabecera
(include) deben ser utilizados, en forma de la declaración de la función y
mostrando que variables externas resultan de interes.
.PP
Las siguientes están definidas como macros; estos nombres no deben ser
reutilizados sin eliminar primero sus definiciones actuales mediante
.BR #undef :
.BR BUFSIZ ,
.BR EOF ,
.BR FILENAME_MAX ,
.BR FOPEN_MAX ,
.BR L_cuserid ,
.BR L_ctermid ,
.BR L_tmpnam,
.BR NULL ,
.BR SEEK_END ,
.BR SEEK_SET ,
.BR SEE_CUR ,
.BR TMP_MAX ,
.BR clearerr ,
.BR feof ,
.BR ferror ,
.BR fileno ,
.BR fropen ,
.BR fwopen ,
.BR getc ,
.BR getchar ,
.BR putc ,
.BR putchar ,
.BR stderr ,
.BR stdin ,
.BR stdout .
Existén versiones como función de las macros
.BR feof ,
.BR ferror ,
.BR clearerr ,
.BR fileno ,
.BR getc ,
.BR getchar ,
.BR putc ,
y
.B putchar
y serán utilizadas si las definiciones de las macros han sido eliminadas
explicitamente.
.SH "LISTA DE FUNCIONES"
.TP 10n
.B Función
.B Descripción
.TP
.B clearerr
comprueba y reinicia el estado del flujo
.TP
.B fclose
cierra un flujo
.TP
.B fdopen
funciones de apertura de flujo
.TP
.B feof
comprueba y reinicia el estado del flujo
.TP
.B ferror
comprueba y reinicia el estado del flujo
.TP
.B fflush
descarga la memoria intermedia del flujo sobre el fichero
.TP
.B fgetc
recoge el próximo caracter de un flujo de entrada
.\" .TP
.\" fgetline
.\" recoge una línea de una corriente de entrada
.TP
.B fgetpos
reposición en un flujo
.TP
.B fgets
recoge una linea de un flujo de entrada
.TP
.B fileno
comprueba y reinicia el estado del flujo
.TP
.B fopen
funciones de apertura de flujo
.TP
.B fprintf
conversión para salida formateada.
.TP
.B fpurge
descarga el buffer de un flujo sobre el fichero
.TP
.B fputc
envia un caracter o una palabra a un flujo
.TP
.B fputs
envia una línea a un flujo
.TP
.B fread
entrada/salida binaria
.TP
.B freopen
funciones de apertura de flujo
.TP
.B fropen
abre un flujo
.TP
.B fscanf
conversión para entrada con formato
.TP
.B fseek
reposiciona un flujo
.TP
.B fsetpos
reposiciona un flujo
.TP
.B ftell
reposiciona un flujo
.TP
.B fwrite
entrada/salida binaria
.TP
.B getc
recoge el próximo carácter o palabra de un flujo de entrada
.TP
.B getchar
recoge el próximo caracter o palabra de un flujo de entrada
.TP
.B gets
recoge una línea de un flujo 
.TP
.B getw
recoge el próximo caracter o palabra de un flujo de entrada
.TP
.B mktemp
crea un nombre de archivo temporal (único)
.TP
.B perror
mensajes de error del sistema
.TP
.B printf
conversión para salida formateada
.TP
.B putc
envia un carácter o palabra a un flujo
.TP
.B putchar
envía un carácter o palabra a un flujo
.TP
.B puts
envía una línea a un flujo
.TP
.B putw
envía un carácter o palabra a un flujo
.TP
.B remove
elimina una entrada de directorio
.TP
.B rewind
reposiciona un flujo
.TP
.B scanf
conversión para entrada formateada
.TP
.B setbuf
operaciones de flujo con memoria intermedia
.TP
.B setbuffer
operaciones de flujo con memoria intermedia
.TP
.B setlinebuf
operaciones de flujo con memoria intermedia
.TP
.B setvbuf
operaciones de flujo con memoria intermedia
.TP
.B sprintf
conversión para salida formateada
.TP
.B sscanf
conversión para entrada formateada
.TP
.B strerror
mensajes de error del sistema
.TP
.B sys_errlist
mensajes de error del sistema
.TP
.B sys_nerr
mensajes de error del sistema
.TP
.B tempnam
rutinas para archivado temporal
.TP
.B tmpfile
rutinas para archivado temporal
.TP
.B tmpnam
rutinas para archivado temporal
.TP
.B ungetc
ignora un carácter de un flujo de entrada
.TP
.B vfprintf
conversión para salida formateada
.TP
.B vfscanf
conversión para entrada formateada
.TP
.B vprintf
conversión para salida formateada
.TP
.B vscanf
conversión para entrada formateada
.TP
.B vsprintf
conversión para salida formateada
.TP
.B vsscanf
conversión para entrada formateada
.SH "CONFORME A"
La biblioteca 
.B stdio
es conforme con ANSI X3.159-1989 (``ANSI C'').
.SH "VÉASE TAMBIÉN"
.BR open (2),
.BR close (2),
.BR read (2),
.BR write (2),
.BR stdout (3)