C/Visual C - Binario pillado

   
Vista:

Binario pillado

Publicado por carcoma (4 intervenciones) el 13/12/2007 18:45:09
Hola

Alguien sabe si es posible que se quede pillado el binario cuando tiene que ejecutar un fopen ????

Gracias
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:Binario pillado

Publicado por Nelek (818 intervenciones) el 14/12/2007 11:32:07
Como posible es posible, sobre todo si se usa mal.

Que y como lo intentas hacer?
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:Binario pillado

Publicado por carcoma (4 intervenciones) el 14/12/2007 13:56:10
Supuestamente debe quedarse en esta función :

void escribir_linea_fichero_carga_ctr(char linea[TAM_MAX_BUFFER],char *tipo)
{
if ( control_fichero_carga_ctr == FICH_ERR_CERRADO )
{
crear_fichero_carga_ctr(tipo);
control_fichero_carga_ctr=FICH_ERR_ABIERTO;
Fichero_Carga_CTR=fopen(nombre_fichero_carga_ctr.c_str(),"w");

}
fputs(linea,Fichero_Carga_CTR);
}

Incluyo el codigo de la otra función que se llama para crear el nombre del fichero

void crear_fichero_carga_ctr(char *tipo)
{
string staux;
staux=string(nombre_fichero);
int posicion=0;
posicion=staux.rfind(CARGA_TABLA_DELIMITADOR);
if ( posicion != string::npos )
{
staux=staux.substr(posicion+1,staux.size());
}

if (strcmp(tipo,ACC_PAR) == 0)
{ nombre_fichero_carga_ctr=string(RUTA_FICH_CTR)+string(CARGA_TABLA_DELIMITADOR)+string(staux)+string(TER_CARGA_CTR_PAR);
}
else
{ nombre_fichero_carga_ctr=string(RUTA_FICH_CTR)+string(CARGA_TABLA_DELIMITADOR)+string(staux)+string(TER_CARGA_CTR_IMPAR);
}

}
-----------------------------------------------------
El proceso crea el fichero en el directorio correspondiente pero no escribe en él la linea que se le pasa por parametro, y a partir de ese momento se queda bloqueado el proceso
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:Binario pillado

Publicado por Nelek (818 intervenciones) el 17/12/2007 08:33:16
No me he puesto a mirarlo detenidamente ni a probarlo, pero algo que no me acaba de cuadrar es
"escribir_linea_fichero_carga_ctr(char linea[TAM_MAX_BUFFER],char *tipo)"

Por qué le pasas el parametro linea asi??

Yo te recomiendo que uses un char*. Creo que te estas complicando mas de lo necesario. Intenta esto a ver si te va bien:

char* cLinea = "Esto es una linea de prueba";

hFichero = fopen (nombre_fichero, "w");

fwrite (cLinea, sizeof( char ), strlen (cLinea), hFichero);
fclose (hFichero); //<---- Que por cierto en tu codigo no es usado, donde cierras?
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