Problema con tellg
Publicado por jose (2 intervenciones) el 16/11/2020 15:58:54
Hola a todos. Hice esta función para conocer el tamaño en bytes de un archivo cuyo nombre se pasa por teclado::
El caso es que funciona...cuando quiere. Esta tarde le añadí más código al programa y al parecer ya no quiere funcionar.
El error que da es éste:
Y sinceramente no entiendo qué es lo que pasa. Sin más código alrededor no da ningún tipo de problema.
El programa lo hice originalmente en "code::blocks" y al compilarlo y ejecutarlo ni siquiera sale la primera línea del "main" (que es un cout, y hasta donde se,debería salir aunque luego diese otro error).Luego lo pase al visual c++,adaptando un par de detalles(como que el codeblocks me dejaba crear arrays con variables y el visualc++ no, tuve que crear arrays con memoria dinámica) y al poner el programa entero y compilarlo y ejecutarlo el único error que no puedo arreglar es ese. Me dice que el programa compilado no es una aplicación Win32 válida, y como unica pista tengo ese warning.
Si alguien supiera decirme lo que pasa me ayudaría mucho. Muchas gracias.
1
2
3
4
5
6
7
8
int LongArchivo(string NameFile) {
ifstream Archivo;
Archivo.open(NameFile, ios_base::binary);
Archivo.seekg(0, ios_base::end);
int Tamanio = Archivo.tellg();
Archivo.close();
return Tamanio;
}
El error que da es éste:
1
warning C4244: 'inicializando': conversión de 'std::streamoff' a 'int'; posible pérdida de datos.
El programa lo hice originalmente en "code::blocks" y al compilarlo y ejecutarlo ni siquiera sale la primera línea del "main" (que es un cout, y hasta donde se,debería salir aunque luego diese otro error).Luego lo pase al visual c++,adaptando un par de detalles(como que el codeblocks me dejaba crear arrays con variables y el visualc++ no, tuve que crear arrays con memoria dinámica) y al poner el programa entero y compilarlo y ejecutarlo el único error que no puedo arreglar es ese. Me dice que el programa compilado no es una aplicación Win32 válida, y como unica pista tengo ese warning.
Si alguien supiera decirme lo que pasa me ayudaría mucho. Muchas gracias.
Valora esta pregunta


0