elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con Stat() en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con Stat() en C  (Leído 2,792 veces)
Borluck

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Problema con Stat() en C
« en: 7 Mayo 2013, 13:17 pm »

Hola!

Me gustaría poner una condición que me diga si existe un archivo txt o no, previamente creado y además no uso rutas ni directorios, simplemente lo creo donde el ejecutable. El nombre del archivo se guarda en una variable char y con un strcat le añado .txt. Uso windows 7 y code::blocks y además el programa esta hecho en C. Agradecería que me ayudasen con esta cuestión por favor.

Gracias por adelantado


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problema con Stat() en C
« Respuesta #1 en: 7 Mayo 2013, 14:26 pm »

Me gustaría poner una condición que me diga si existe un archivo txt o no, previamente creado y además no uso rutas ni directorios, simplemente lo creo donde el ejecutable. El nombre del archivo se guarda en una variable char y con un strcat le añado .txt.

Creo que te refieres a algo como esto:

Código
  1. fichero = fopen(NOM_ARCHIVO, "rt");
  2.    if (fichero == NULL)
  3.        {
  4.            printf("No existe el fichero!\n");
  5.            return 1;
  6.        }
  7.  

O bien a su forma más "refinada", con el uso de la librería stdlib:

Código
  1. if ((entrada = fopen(NOM_ARCHIVO, "r")) == NULL){
  2.      perror(NOM_ARCHIVO);
  3.      return EXIT_FAILURE;
  4.   }
  5.  

En ambos casos has de tener en cuenta que NOM_ARCHIVO ha de ir entre comillas.

Saluditos!. ...  


« Última modificación: 7 Mayo 2013, 15:31 pm por leosansan » En línea

Borluck

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema con Stat() en C
« Respuesta #2 en: 7 Mayo 2013, 16:42 pm »

Y en vez de poner el nombre del archivo entre comillado, no podría poner una variable en la que tenga guardada la string de carácteres?

ejemplo:
Código:
char ristra[] = "fichero.txt";

ahora usaría la variable ristra donde dices de poner el nombre del fichero, pero funcionaría? o quizás hay alguna manera?
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problema con Stat() en C
« Respuesta #3 en: 7 Mayo 2013, 16:44 pm »

Y en vez de poner el nombre del archivo entre comillado, no podría poner una variable en la que tenga guardada la string de carácteres?

ejemplo:
Código:
char ristra[] = "fichero.txt";

ahora usaría la variable ristra donde dices de poner el nombre del fichero, pero funcionaría? o quizás hay alguna manera?

Estando entrecomillado el nombre del fichero va O.K.

Saluditos!. ... 
En línea

Borluck

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema con Stat() en C
« Respuesta #4 en: 7 Mayo 2013, 17:06 pm »

perdona por insistir tanto pero lo que yo pongo no es el nombre del fichero, lo que quiero poner es una variable char en la cual tengo guardado el nombre del fichero...  :(.

He probado pero no funciona...hay alguna otra manera o quizás lo pongo mal...
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Problema con Stat() en C
« Respuesta #5 en: 7 Mayo 2013, 17:23 pm »

perdona por insistir tanto pero lo que yo pongo no es el nombre del fichero, lo que quiero poner es una variable char en la cual tengo guardado el nombre del fichero...  :(.

He probado pero no funciona...hay alguna otra manera o quizás lo pongo mal...

Tal como lo tienes en lugar de NOM_ARCHIVO puedes poner ristra y debe funcionar bien, si no el error estará en otro lado.

¿Por qué no cuelgas parte del código para analizarlo?.

Te pongo un ejemplo con ese uso de la variable como nombre del fichero que funciona sin problemas:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define NUM_ELEM  3
  4. int main ( )
  5. {
  6.        char NOM_ARCHIVO[]="ecuaciones.txt";
  7.        int i=0;
  8.        FILE *entrada;
  9.        float a[NUM_ELEM],b[NUM_ELEM],c[NUM_ELEM],A,B,C;
  10.        if ((entrada = fopen(NOM_ARCHIVO, "w")) == NULL){
  11.      perror(NOM_ARCHIVO);
  12.      return EXIT_FAILURE;
  13.   }
  14.        fprintf(entrada, "5x+2y=1\n");
  15.        fprintf(entrada, "5x+3y=1\n");
  16.        fprintf(entrada, "3x+8y=2");
  17.        fclose ( entrada );
  18.        if ((entrada = fopen(NOM_ARCHIVO, "r")) == NULL){
  19.      perror(NOM_ARCHIVO);
  20.      return EXIT_FAILURE;
  21.   }
  22.        while (fscanf (entrada, "%gx+%gy=%g", &A, &B, &C)==NUM_ELEM)
  23.        {
  24.            printf ("a= %g,b=%g,c=%g\n",A,B,C);
  25.            a[i]=A;
  26. b[i]=B;
  27. c[i]=C;
  28. printf ("a[%d]= %g,b[%d]=%g,c[%d]=%g\n",i,a[i],i,b[i],i,c[i]);
  29. i++;
  30.        }
  31.    fclose(entrada);
  32.    return 0;
  33. }
  34.  

Saluditos .. otra vez! ....
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Presentando Stat de Personajes de Rakion -1th class tutorial de mi juego Latino
Foro Libre
Weeken 0 7,556 Último mensaje 30 Abril 2012, 05:31 am
por Weeken
sys/stat, stat() problema (?) [Lenguaje C]
Programación C/C++
BatchianoISpyxolo 5 4,420 Último mensaje 27 Octubre 2012, 00:23 am
por Khronos14
Como utilizar Struct stat
Programación C/C++
txiki481 1 2,435 Último mensaje 6 Mayo 2018, 16:59 pm
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines