Hacer fichero relativo en c
Publicado por Luna (1 intervención) el 18/05/2010 13:49:33
Hola,
tengo un problema con un proyecto que estoy haciendo. Tengo que crear un fichero relativo en lenguaje C, que dado un numero de una comanda me lo transforme en string y pueda crear el nombre del fichero.
Os pongo un poco de código para que veais lo que tengo.
En abrir el archivo relativo, me da error (ERROR: en abrir el fichero en modo Inicio) y no se como solucionarlo, a ver si alguien sabe y me puede ayudar.
----------------------------------------
void escriure_linia (){
//variables
FILE *fr; // FITXER_REL T_producte
T_linia rr;
int xr; //para mirar error del fp
int num; //per saber el numero de la comanda
int flag; // boleano
char num_str[255];
struct ffblk ffblk;
/*Antes de inserir una nueva linia, tenemos que comprobar si hay algun producto en la tabla de productos */
flag=si_productes();
if (flag==0){
printf("ERROR: la taula PRODUCTES esta vacia");
getch();
exit(1);
}
/*Preguntaremos en que comanda queremos inserir la linia*/
printf ("Indica el numero de comanda que quieres inserir linia: ");
fflush (stdin);
scanf ("%d", &num);
/*comenzamos a mirar si el fichero relativo de linia existe o no, si no existe lo crearemos en modo Inicio 'I', si en canvio existe, lo abriremos en modo de actualizacion*/
itoa(num,num_str,10);
xr=findfirst("lin+num_str+.txt",&ffblk,FA_ARCH);
if (xr!=0){
xr=abrir_frl(&fr,"lin+num_str+.txt",'I'
if (xr!=0){
printf("ERROR: en abrir el fichero en modo Inicio");
getch();
exit(1);
}
}else{
xr=abrir_frl(&fr,"lin+num_str+.txt",'A');
if (xr!=0){
printf("ERROR: en abrir el fichero para actualizarlo");
getch();
exit(1);
}
.......... resto de la acción ...............
tengo un problema con un proyecto que estoy haciendo. Tengo que crear un fichero relativo en lenguaje C, que dado un numero de una comanda me lo transforme en string y pueda crear el nombre del fichero.
Os pongo un poco de código para que veais lo que tengo.
En abrir el archivo relativo, me da error (ERROR: en abrir el fichero en modo Inicio) y no se como solucionarlo, a ver si alguien sabe y me puede ayudar.
----------------------------------------
void escriure_linia (){
//variables
FILE *fr; // FITXER_REL T_producte
T_linia rr;
int xr; //para mirar error del fp
int num; //per saber el numero de la comanda
int flag; // boleano
char num_str[255];
struct ffblk ffblk;
/*Antes de inserir una nueva linia, tenemos que comprobar si hay algun producto en la tabla de productos */
flag=si_productes();
if (flag==0){
printf("ERROR: la taula PRODUCTES esta vacia");
getch();
exit(1);
}
/*Preguntaremos en que comanda queremos inserir la linia*/
printf ("Indica el numero de comanda que quieres inserir linia: ");
fflush (stdin);
scanf ("%d", &num);
/*comenzamos a mirar si el fichero relativo de linia existe o no, si no existe lo crearemos en modo Inicio 'I', si en canvio existe, lo abriremos en modo de actualizacion*/
itoa(num,num_str,10);
xr=findfirst("lin+num_str+.txt",&ffblk,FA_ARCH);
if (xr!=0){
xr=abrir_frl(&fr,"lin+num_str+.txt",'I'
if (xr!=0){
printf("ERROR: en abrir el fichero en modo Inicio");
getch();
exit(1);
}
}else{
xr=abrir_frl(&fr,"lin+num_str+.txt",'A');
if (xr!=0){
printf("ERROR: en abrir el fichero para actualizarlo");
getch();
exit(1);
}
.......... resto de la acción ...............
Valora esta pregunta
0