o sea que:
FILE* stream = fopen("file.dat", "r");
char buffer[20];
fread(buffer, sizeof(char), 20, stream)
Es lo mismo en terminos de accesos a disco que:
FILE* stream = fopen("file.dat", "r");
char buffer[20];
for (int i=0; i<20; i++) fread(buffer++, sizeof(char), 1, stream);
?????????????????????
O sea, suponiendo que 20 es menor al tamaño del buffer interno, estos dos
algoritmos tienen un unico acceso a disco? No vale la pena que implemente mi
propio buffer?
> Date: Wed, 8 Apr 2009 01:15:44 -0300
> Subject: Re: [Prog] stdio vs fstream
> From: [email protected]
> To: [email protected]
>
> 2009/4/8 Carlos Charlie <[email protected]>
> >
> > Las funciones de stdio utilizan algun buffer interno? se puede parametrizar
> > su tamaño?
> >
>
> Pegate un vuelta por la documentación de POSIX[1] en relación con la
> biblioteca estándar de C.
>
> En resumen, lo que dice:
>
> >
> > stdio.h - standard buffered input/output
> >
> Así que, sí utiliza "buffers".
>
> >
> > The <stdio.h> header shall define the following macros as positive integer
> > constant
> > expressions:
> >
> > BUFSIZ
> > Size of <stdio.h> buffers.
> > _IOFBF
> > Input/output fully buffered.
> > _IOLBF
> > Input/output line buffered.
> > _IONBF
> > Input/output unbuffered.
>
> Sí, está parametrizado. El tamaño por defecto es la primer constante.
> Las otras son el modo en que opera el "buffer" y se utilizan junto a
> la función
>
> >
> > setvbuf - assign buffering to a stream
> >
> > int setvbuf(FILE *restrict stream, char *restrict buf, int type,
> > size_t size);
> >
>
> que permite establecer el bloque de memoria utilizado para realizar el
> "buffering" y su tamaño y modo de operación.
>
> Saludos
>
> [1] http://www.opengroup.org/onlinepubs/009695399/basedefs/stdio.h.html
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
_________________________________________________________________
Mantenete actualizado con MSN Noticias. Clic aquí
http://noticias.ar.msn.com/_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion