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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema con con función para abrir archivos en C
« en: 15 Febrero 2017, 19:09 pm »

Buenas a todos!
Necesito ayuda con un problema para abrir archivos. Resulta que estoy haciendo un pequeño programa en el cual el usuario puede introducir el nombre del archivo y luego se llama a la respetiva funcion para abrir dicho archivo. Pero me salta el error siguiente: "invalid argument". 

Probé llamando a la función directamente pasando el nombre del archivo directamente y no tengo problema. ¿Cuál es el problema?

(El nombre del archivo a abrir se setea en la variable char* second)

Código
  1. #include....
  2. ....
  3.  
  4. FILE* in ;
  5.  
  6. FILE *open_A (char *A) { // Funcion para abrir el archivo. char*A  es el nombre ingresado por el usuario
  7.  
  8.    in = fopen(A, "r") ;
  9.    if ( in == NULL ) {
  10.                            fprintf(stderr, "Value of errno: %d\n", errno);
  11.                            fprintf(stderr, "Error opening file: %s\n", strerror(errno)) ;
  12.                            }
  13.    printf("\n\nI have opened:%s\n", A) ;
  14.    fseek(in,0,SEEK_END) ; file_size = ftell(in) ;
  15.    printf("   --- File of size %i bytes, allocated in %p\n", file_size, &in) ; //tamaño del archivo abierto
  16.    fseek (in, 0, SEEK_SET) ;
  17.    return in ;
  18. }
  19. int main()
  20. {
  21.    char word[100] ;
  22.  
  23.  
  24.    printf("-------------||| WELCOME |||--------------\n") ;  
  25.    printf("\n\n") ;
  26.  
  27.    printf("NOTE: functions are called as 'command_name-option'(no shortcuts are allowed)\n");
  28.    printf("\n\n\n\n") ;
  29.  
  30.    printf("||--Default settings:\n\n") ; // memoria reservada. Funciones en otro fichero
  31.    memory_space = 2048 ;
  32.    file_RAM_A(memory_space) ;
  33.    file_RAM_B(memory_space) ;
  34.    output_RAM((memory_space*2)) ;
  35.    printf("\n\n||-----------------------------------------||\n\n") ;
  36.  
  37.    do {
  38.            fflush(stdout) ;
  39.            printf("\n ...esperando al usuario....:") ;
  40.  
  41.            fgets(word, 99, stdin) ;
  42.  
  43.  
  44.            separate(word) ; // funcion que separa el string del usuario (word) en las variables first y second. Second lleva el nombre del archivo a abrir
  45.  
  46.            printf("\n You called function:%s\n", first) ;
  47.            printf("\n And argument:%s\n", second) ;
  48.  
  49.           if ( (strcmp(first,"open")) == 0 )
  50.                { open_A (second) ; } // llamo a la funcion para abrir el archivo (en la variable second)
  51.  
  52.    } while ( ( (strspn(word,"quit")) != 4 ) ) ;
  53.  
  54.  
  55.    open_A ("mezcla.txt") ; // Este es el llamado de la funcion pero usando un string (el nombre del archivo a abrir en cuestión).
  56. //En este caso, la funcion anda correctamente, pero no asi en el bucle do-while
  57.  
  58.    printf("\n\n\n") ;
  59.  
  60.  
  61.    return 0 ;
  62.  
  63. }
  64.  
  65.  
 


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema Con windows 7 abrir archivos
Windows
NachoEx 4 14,825 Último mensaje 11 Mayo 2011, 23:55 pm
por NachoEx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines