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

Responder a