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