2008/1/18 Leandro Lucarella <[EMAIL PROTECTED]>:
> personaje, el 18 de enero a las 13:53 me escribiste:
> > Hola gente,
> >
> >    Existe una funcion C++ portable para reservar espacio de disco para
> > un archivo?
>
> Definí "reservar" y "portable" =)

reservar = que el SO y C/C++ "crean" que tiene el tamaño que le di y
que si copio el archivo que se copie completo.

portable = windows 98 - Vista + Linux 2.4 - 2.6

> Ampliamente cabeza, o no portable, o ambas =)

lo de cabeza no es problema....

>
> Mirá:
>
> [EMAIL PROTECTED]:/tmp$ cat t.cpp
> #include <iostream>
> #include <fstream>
>
> int main()
> {
>         std::ofstream fo("/tmp/salida");
>         fo.seekp(1 << 20);
>         fo << 'c';
>         return 0;
> }
>
> [EMAIL PROTECTED]:/tmp$ make t
> g++     t.cpp   -o t
> [EMAIL PROTECTED]:/tmp$ ./t
> [EMAIL PROTECTED]:/tmp$ ls -l salida
> -rw-rw-r-- 1 luca luca 1048577 2008-01-18 14:30 salida
> [EMAIL PROTECTED]:/tmp$ #    ^^^^^^^ ohhh! muchos bytes!

exactamente como me salia a mi.

> [EMAIL PROTECTED]:/tmp$ du salida
> 4       salida
> [EMAIL PROTECTED]:/tmp$ # En realidad no. du nos tira la papa.

claro, ni me calente más allá de un ls


>
> Qué pachó?! Sparse files[1].

es verdad, no las tenía presentes

>
> Tal vez deberías escribir todos ceros para que eso funcione y sea
> "portable".

me jode que tenga que escribir para reservar y despues para pasar los
datos, son 2 escrituras (y trabajo con gran cantidad de datos)


Saludos

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a