leer fichero .txt

Iniciado por raquelsg88, 3 Junio 2013, 09:45 AM

0 Miembros y 1 Visitante están viendo este tema.

raquelsg88

Es no es lo que he preguntado, pero gracias

bemone

fijate que modifique el comentario anterior.
Odio los tipos de variable de Windows.

raquelsg88

estoy trabajando en C y no entiendo los comandos que has puesto.

Yo tengo dos ficheros,  uno es archivo.txt y dentro estará escrito el nombre de un fichero. Y el otro fichero es el escrito dentro del .txt.

Es decir, en el mismo directorio tengo:

- archivo.txt. En la primera linea esta escrito "download.mot", por ejemplo.
- download.mot

Quiero hacer esto porque no siempre se va a llamar igual el archivo que queremos abrir. Y una solución que se nos ha ocurrido es escribir en un .txt el nombre del fichero que queremos usar en ese momento.

bemone

Eso es lo que hace el codigo anterior, abre un archivo (En este caso NOMBRE_ARCHIVO) y guarda en el char el nombre del otro archivo.
Luego abre el archivo (archivo2) el cual tiene el nombre que tenia dentro el txt anterior.
Busca la forma de pasarlo a C.
Odio los tipos de variable de Windows.

amchacon

El problema esta en el guion/espacio.

Eliminalos y haz la prueba.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

leosansan

#15
Cita de: raquelsg88 en  3 Junio 2013, 16:30 PM

Yo tengo dos ficheros,  uno es archivo.txt y dentro estará escrito el nombre de otro fichero. Y ( corrijo yo) en ese otro fichero esta escrito "download.mot".

Es decir, en el mismo directorio tengo:

- archivo.txt. En la primera linea esta escrito (corrijo yo) el nombre del otro fichero .
- (corrijo yo) En el otro fichero está escrito "download.mot"

Quiero hacer esto porque no siempre se va a llamar igual el archivo que queremos abrir. Y una solución que se nos ha ocurrido es escribir en un .txt, (amplio yo) o sea archivo.txt,  (amplio yo) el nombre del otro fichero que queremos usar en ese momento.


Con las puntualizaciones que he puesto tengo esta salida:


Código (cpp) [Seleccionar]

Creando el primer fichero archivo.txt y escribiendo el nombre del otro fichero
         que es: el_otro_fichero


Leyendo del fichero archivo.txt el nombre del otro fichero

"el_otro_fichero"

Escribo en el_otro_fichero:
"download.mot"


Leyendo de el_otro_fichero
"download.mot"



No sé si me he liado, si es así sorry. Pero la idea que capto es que tienes un fichero llamado archivo.txt en donde está escrito el nombre de otro fichero, que hay que leer mediante una variable, ya que lo iras cambiando, y a su vez en ese otro fichero tienes escrito algo, por ejemplo "download.mot". ¿No lo he entendido mal?.

Si es como he supuesto, una solución rapidita, sin comprobaciones de que los ficheros existen y esas cosas -¡faltaría más haciéndolo yo!  :laugh:- es la que te pongo a continuación y si es otra cosa ya me contaras con más detalles. Por cierto, en la realidad el fichero archivo.txt existe por lo que en lugar de abrirlo con la opción "w" se abriría con "r". Lo he hecho con "w" para comprobar que todo iba bien y que además pudieras ejecutar el código que te paso.


Código (cpp) [Seleccionar]
#include <stdio.h>
int main()
{
   FILE  *fichero1,*fichero2;
   char linea[81],leo[81],linea_sin_nulo[81];

   puts ("Creando el primer fichero archivo.txt y escribiendo el nombre del otro fichero\n\
         que es: el_otro_fichero\n\n");
   fichero1 = fopen("archivo.txt", "wt");

   fputs("\"el_otro_fichero\"", fichero1);
   fclose(fichero1);

   puts ("Leyendo del fichero archivo.txt el nombre del otro fichero\n\
         ");
   fopen("archivo.txt", "r");
   fgets(linea, 80, fichero1);
   printf("%s\n\n",linea);
   fclose(fichero1);

   puts("Escribo en el_otro_fichero:");
   puts("\"download.mot\"\n\n");
   fichero2 = fopen("linea", "wt");

   fputs("\"download.mot\"\n\n", fichero2);
   fclose(fichero2);


   puts ("Leyendo de el_otro_fichero");
   fopen("linea", "r");
   fgets(leo, 80, fichero2);
   printf("%s\n",leo);
   fclose(fichero2);

   return 0;
}


Funcionar, funciona pero no es el tema de ficheros mi fuerte. Seguro que alguien más curtido en el tema podrá colgar un código mejor. Pero, en fin, para que veas que lo que pretendes tiene solución.

Saluditos! ... ..