Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: itzg3 en 4 Diciembre 2010, 23:43 pm



Título: Calcular tamaño de un archivo.txt
Publicado por: itzg3 en 4 Diciembre 2010, 23:43 pm
Hola a todos,..... quisiera saber como puedo calcular el tamaño de un archivo en C++, es que quiero fragmentar mi diccionario de palabras en, digamos de 1Gb cada parte. Porque al hacerlo todo en 1 pesa 20 Gb y poreso quiero hacer esto.
Para no tener que esperar 1 año encendida mi pc ;D


Salu2 y gracias  ;)


Título: Re: Calcular tamaño de un archivo.txt
Publicado por: JuszR en 5 Diciembre 2010, 22:22 pm
GetFileSize() (http://msdn.microsoft.com/en-us/library/ms890939.aspx)


Título: Re: Calcular tamaño de un archivo.txt
Publicado por: winroot en 5 Diciembre 2010, 23:59 pm
Buenas!
Si es solo para windows, puedes usar GetFileSize.
No tengo idea si boost tiene algo para sacar el size de un fichero ^^.
Pero, probablemente si.
Saludos


Título: Re: Calcular tamaño de un archivo.txt
Publicado por: itzg3 en 7 Diciembre 2010, 02:40 am
Gracias, pero otra pregunta, ¿se puede usar una  funcion API de windows como GetFileSize, MessageBox o cualquier otra sin usar la funcion winmain, solo con main?
Algún ejemplito de codigo por favor.


Título: Re: Calcular tamaño de un archivo.txt
Publicado por: JuszR en 7 Diciembre 2010, 18:52 pm
Algún ejemplito de codigo por favor.
Fijate el link de MSDN.


Título: Re: Calcular tamaño de un archivo.txt
Publicado por: winroot en 7 Diciembre 2010, 19:21 pm
Gracias, pero otra pregunta, ¿se puede usar una  funcion API de windows como GetFileSize, MessageBox o cualquier otra sin usar la funcion winmain, solo con main?
Algún ejemplito de codigo por favor.
Buenas!
Si, se puede.
Digamos que main se usa para la consola, y winmain para gui (menúes,botones,controles,etc)
De todos modos, aquí hay una manera de hacerlo utlizando fstream,
http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/65034b81-db99-43e8-9a33-289c21314562
Código
  1. ifstream InFile;
  2. int InFilesize;
  3. InFile.open(Filename, ios_base::in);
  4. if (!InFile.is_open()) {
  5. cerr << "Error opening file\n";
  6. return;
  7. }
  8. InFile.seekg(0, ios::end); // To get file size
  9. InFilesize = static_cast <int> (InFile.tellg());
  10.  

Saludos