Test Foro de elhacker.net SMF 2.1

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
Cita de: itzg3 en  7 Diciembre 2010, 02:40 AM
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
Cita de: 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.
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 (cpp) [Seleccionar]

 ifstream InFile;
 int InFilesize;
InFile.open(Filename, ios_base::in);
if (!InFile.is_open()) {
 cerr << "Error opening file\n";
 return;
 }
InFile.seekg(0, ios::end); // To get file size
InFilesize = static_cast <int> (InFile.tellg()); 


Saludos