Dev - C++ - problema con fichero en dev c++

 
Vista:

problema con fichero en dev c++

Publicado por Talien (5 intervenciones) el 20/06/2006 07:08:11
estoy trabajando con ficheros binarios y quiero manejar imagenes. Bueno el problema en si es que en dev c++ 4.0 no puedo abrir un fichero. lo que hago es:

MIPROGRAMA.cpp

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{ FILE* arch;
if(arch=fopen("imagen.bmp","rb+"))
{cout<<"el archivo se abrio"<<endl;
...
}

else
{cout<<"el archivo no se pudo abrir" <<endln;...}
}

obviamente que quiero hacer algo mas complejo. pero el problema es que siempre me sale el mensaje "el archivo no se pudo abrir" y este programa si funciona en borland c y ademas el archivo "imagen.bmp" esta en el mismo directorio que "MIPROGRAMA.cpp" , o tengo que darle una ruta especifica en algun lugar?. A ver si alguien me da una manito con esto...gracias! y salud!!2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con fichero en dev c++

Publicado por Ismael (100 intervenciones) el 20/06/2006 13:53:37
Si el
if(arch=fopen("imagen.bmp","rb+"))
se ejecuta siempre es porque el contenido es cierto, o lo que es lo mismo, distinto de cero.
Debes poner:

if(arch=fopen("imagen.bmp","rb+")==NULL)

Un saludo

Ismael
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con fichero en dev c++

Publicado por Talien (5 intervenciones) el 20/06/2006 15:43:19
mmm...creo que no me explique bien. Se supone que debe entrar a la condicional if(...)cuando el puntero a FILE debe ser diferente de NULL.. Si hago lo que me sugieres no haria eso. Bueno , pero haciendo lo que me sugieres, igual surge otro problema cuando hago por ejemplo:

if((arch=fopen("imagen.bmp",rb+))==NULL)
{
cout<<"el archivo se abrio"<<endl;
fread(&num,sizeof(int),1,arch); //donde num es un entero
}
else
{...}

me sale una ventana de error donde dice:

"MIPROGRAMA.exe ha detectado un problema y debe cerrarse"
De todas maneras, gracias, pero aun necesito ams ayuda...salud!!2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar