Hola, muy buenas a tod@s. El problema que tengo es que al intentar cerrar un archivo de un programa que estoy creando, la función que realiza eso crashea el programa.
El código es
cPath.append(".bmp");
cFilteredImage.open(cPath,
std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
if(cFilteredImage.is_open() == true) {
cFilteredImage.write(lpbyHeader, 54);
for(unsigned int i = 0; i < stBmpData.uDataSize; i += stBmpData.uBitsPerPixel/8) {
fVectorLength = calculateLength(&(stBmpData.lpbyData[i]));
if(fVectorLength <= 100.0)
lpbyImageData[i/3] = true;
else
lpbyImageData[i/3] = false;
if(lpbyImageData[i/3] == true)
cFilteredImage.write("\xFF\xFF\xFF", 3);
else
cFilteredImage.write("\x00\x00\x00", 3);
}
cFilteredImage.close();
}
A lo mejor la respuesta es obvia, pero no la veo :P Gracias por prestar atención
PD.: El archivo se escribe correctamente. El problema es al cerrarlo
¿Qué código de error lanza?
No lanza ningún código de error. El problema es en tiempo de ejecución. El programa se cierra inesperadamente (un crash) cuando se intenta cerrar el archivo (al final de este código).
Depúralo, y sacarás un código de error.
Puedes usar cualquier debugguer q suelas usar.
Al final lo que he hecho es rehacer el código y ha resultado. Llevo tanto con esto que no tengo ganas de comprobar que era. Siento la intriga xD