Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Abrir un archivo dado un nombre.

Estas en el tema de Abrir un archivo dado un nombre. en el foro de C/C++ en Foros del Web. Hola, me gustaría saber cómo abrir un archivo mediante un nombre dado por el usuario. Me explico, imaginemos que en una carpeta tengo 3 archivos, ...
  #1 (permalink)  
Antiguo 24/05/2015, 14:11
 
Fecha de Ingreso: abril-2015
Ubicación: Valparaíso
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Abrir un archivo dado un nombre.

Hola, me gustaría saber cómo abrir un archivo mediante un nombre dado por el usuario.
Me explico, imaginemos que en una carpeta tengo 3 archivos, uno es Juan.txt, el otro Marcos.txt y el último Pedro.txt. ¿Cómo podría abrir uno de ellos mediante una función que reciba como parámetro la cadena escrita por el usuario? Por ejemplo, que si el usuario ingresa "Pedro", cuente cuantas palabras hay en ese .txt... (Es sólo un ejemplo, el programa no está destinado a hacer eso). Sé hacerlo siempre con un archivo del cuál ya sé el nombre, pero no sé cómo pasar la cadena al archivo=fopen("____.txt","r"); De antemano, muchas gracias.
  #2 (permalink)  
Antiguo 24/05/2015, 14:37
Avatar de xKuZz  
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: Abrir un archivo dado un nombre.

Utilizando cadenas-C y la función strcat que te pone al final de la primera cadena-C dada como argumento el contenido de la segunda cadena-C tal que así:


Código C:
Ver original
  1. #include <stdlib.h>
  2.    #include <stdio.h>
  3.    #include <string.h>// strcat
  4.  
  5. int main ()
  6. {
  7.    char nombre[50];
  8.    printf ("Introduzca nombre del archivo (sin txt): ");
  9.    scanf("%s", &nombre); // Cojo el nombre
  10.    FILE * archivo;
  11.    strcat(nombre,".txt");  // Añado al final del nombre. txt
  12.    archivo=fopen(nombre,"r");
  13.    ......
  14.    fclose(archivo);
  15.    return(0);
  16. }
  #3 (permalink)  
Antiguo 25/05/2015, 16:05
 
Fecha de Ingreso: mayo-2015
Mensajes: 19
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Abrir un archivo dado un nombre.

Claro es pasando a la función copen la cadena con el nombre que introduzcas por teclado, guardándola en una variable cadena. Ten en cuenta que el archivo se buscara en la ruta de tu programa, a no se que introduzcas también la ruta en el nombre del archivo.

Etiquetas: busqueda, estructuras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:02.