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 368 369 370 371
|
.\" 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
.\" Translation revised Mon Aug 17 1998 by Juan Piernas <piernas@ditec.um.es>
.\"
.TH STDIO 3 "29 Noviembre 1993" "BSD MANPAGE" "Manual del programador"
.SH NOMBRE
stdio \- funciones de biblioteca de entrada/salida estndar.
.SH SINOPSIS
.B #include <stdio.h>
.sp
.B FILE *stdin;
.br
.B FILE *stdout;
.br
.B FILE *stderr;
.SH DESCRIPCIN
La biblioteca de E/S estndar proporciona una interface de corriente (stream)
utilizando un sistema de buffers (memoria intermedia) simple y eficiente. La
entrada y la salida se mapean en corrientes logicas 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 informacin se
puede recurrir a las paginas del manual individuales para cada una de ellas.
.PP
Una corriente se asocia con un archivo externo (el cual debe estar en un
dispositivo fsico)
.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 contraposicin a lo que
ocurre con un archivo de terminal) entonces un
.I marcador de posicin
asociado a la corriente se situara al principio del archivo (byte cero), a
no ser que el archivo sea abierto en modo aadir (append). Si se utiliza
esta ltima modalidad de apertura, el marcador de posicin 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
funcin
.BR fgetc (3)
todas las salidas se producen como si todos los caracteres fueran leidos
mediante llamadas sucesivas a la funcin
.BR fputc (3)
.PP
Un archivo se desentiende de una corriente
.I cerrando
dicho archivo. Las corrientes de salida son descargadas (toda el contenido
de la memoria intermedia que no fue escrita al archivo, se transmite en ese
momento) antes de que la corriente se desentienda del archivo. 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 funcin main() retorna a quien llamo al
programa, o se utiliza la funcin
.BR exit (3)
todos los archivos abiertos seran cerrados (consecuentemente todos las
corrientes de salida seran descargadas 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 corrientes de texto se inician por defecto
y no necesitan ser abiertas explicitamente \(em
.I entrada estndar
(para la lectura de la entrada convencional), \(em
.I salida estndar
(para la escritura de la salida convencional) \(em
.I salida de error estndar
(para la salida de diagnsticos). Estas corrientes se abrevian,
respectivamente, como
.IR stdin , stdout
y
.IR stderr .
Una vez abierta, la corriente de errores estndar no utiliza memoria
intermedia totalmente; las corrientes estndar de entrada y salida lo haran
solamente en el caso de que dichas corrientes no hagan referencia a un
dispositivo interactivo.
.PP
Las corrientes de salida que hacen referencia a dispositivos de tipo
terminal, siempre utilizan memorias intermedias lineales por defecto;
durante la salida hacia cada corriente se escribe automaticamente una
corriente 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 la corriente de salida estndar
mediante
.BR fflush (3)
antes de dejarlo y comenzar los calculos para que la salida aparezca.
.PP
La libreria
.B stdio
es parte de la libreria
.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 declaracin de la funcin y
mostrando que variables externas resultan de interes.
.PP
Las siguientes estn 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 .
Existn versiones como funcin de las macros
.BR feof ,
.BR ferror ,
.BR clearerr ,
.BR fileno ,
.BR getc ,
.BR getchar ,
.BR putc ,
y
.B putchar
y sern utilizadas si las definiciones de las macros han sido eliminadas
explicitamente.
.SH "VEA TAMBIN"
.BR open (2),
.BR close (2),
.BR read (2),
.BR write (2),
.BR stdout (3)
.SH ERRORES
Las funciones estndar para el tratamiento de memoria intermedia no
interactuan bien con algunas otras librerias y funciones de sistema,
especialmente con
.B vfork y
.BR abort .
No deberia darse el caso bajo Linux.
.SH CONFORME A
La biblioteca
.B stdio
cumple con ANSI C3.159-1989 (``ANSI C'').
.SH "LISTA DE FUNCIONES"
.TP
.B Funcin
.B Descripcin
.TP
clearerr
comprueba y reinicia el estado de la corriente
.TP
fclose
cierra una corriente
.TP
fdopen
funciones de apertura de corriente
.TP
feof
comprueba y reinicia el estado de la corriente
.TP
ferror
comprueba y reinicia el estado de la corriente
.TP
fflush
descarga la memoria intermedia de una corriente sobre el archivo
.TP
fgetc
recoge el prximo caracter de una corriente de entrada
.TP
fgetline
recoge una lnea de una corriente de entrada
.TP
fgetpos
reposicin en una corriente
.TP
fgets
recoge una linea de una corriente de entrada
.TP
fileno
comprueba y reinicia el estado de la corriente
.TP
fopen
funciones de apertura de corriente
.TP
fprintf
conversin para salida formateada.
.TP
fpurge
descarga el buffer de una corriente sobre el archivo
.TP
fputc
envia un caracter o una palabra a una corriente
.TP
fputs
envia una linea a una corriente
.TP
fread
entrada/salida binaria
.TP
freopen
funciones de apertura de corriente
.TP
fropen
abre una corriente
.TP
fscanf
conversin para entrada con formato
.TP
fseek
reposiciona una corriente
.TP
fsetpos
reposiciona una corriente
.TP
ftell
reposiciona una corriente
.TP
fwrite
entrada/salida binaria
.TP
getc
recoge el prximo caracter o palabra de una corriente de entrada
.TP
getchar
recoge el prximo caracter o palabra de una corriente de entrada
.TP
gets
recoge una lnea de una corriente
.TP
getw
recoge el prximo caracter o palabra de una corriente de entrada
.TP
mktemp
crea un nombre de archivo temporal (nico)
.TP
perror
mensajes de error del sistema
.TP
printf
conversin para salida formateada
.TP
putc
envia un caracter o palabra a una corriente
.TP
putchar
enva un caracter o palabra a una corriente
.TP
puts
enva una lnea a una corriente
.TP
putw
enva un caracter o palabra a una corriente
.TP
remove
elimina una entrada de directorio
.TP
rewind
reposiciona una corriente
.TP
scanf
conversin para entrada formateada
.TP
setbuf
operaciones de corriente con memoria intermedia
.TP
setbuffer
operaciones de corriente con memoria intermedia
.TP
setlinebuf
operaciones de corriente con memoria intermedia
.TP
setvbuf
operaciones de corriente con memoria intermedia
.TP
sprintf
conversin para salida formateada
.TP
sscanf
conversin para entrada formateada
.TP
strerror
mensajes de error del sistema
.TP
sys_errlist
mensajes de error del sistema
.TP
sys_nerr
mensajes de error del sistema
.TP
tempnam
rutinas para archivado temporal
.TP
tmpfile
rutinas para archivado temporal
.TP
tmpnam
rutinas para archivado temporal
.TP
ungetc
ignora un caracter de una corriente de entrada
.TP
vfprintf
conversin para salida formateada
.TP
vfscanf
conversin para entrada formateada
.TP
vprintf
conversin para salida formateada
.TP
vscanf
conversin para entrada formateada
.TP
vsprintf
conversin para salida formateada
.TP
vsscanf
conversin para entrada formateada
|