|
| Autor |
Mensaje |
Tururu_ru
Registrado: 11 Ene 2012 Mensajes: 4
|
Publicado: Mie 11 Ene, 2012 18:29 pm
Título del mensaje: Abrir fichero con nombre de variable |
|
|
Imaginaos que tengo una variable llamada "fich" a la cual le asigno un nombre que he metido por el teclado, por ejemplo, fichero1. Teniendo en cuenta que ya existe un archivo llamado fichero1.txt, quisiera abrirlo. Más o menos algo así:
fich = "fichero.txt";
fstream f;
f.open(fich, ios::in);
f.close();
¿Cómo podría hacer para abrir el fichero que quiero? Cualquier ayuda me serviría.
Muchas gracias. |
|
|
|
| Volver arriba |
|
|
WhiteSkull Moderador Global

Registrado: 20 Mar 2009 Mensajes: 2084 Ubicación: y*width+x
|
|
| Volver arriba |
|
|
Darkside-tk2 Usuario Activo

Registrado: 30 May 2011 Mensajes: 214 Ubicación: Portoviejo - Manabí - Ecuador
|
Publicado: Mar 17 Ene, 2012 23:10 pm
Título del mensaje: Re: Abrir fichero con nombre de variable |
|
|
Creo que se lo que quieres hacer
Si queremos crearlo con el nombre que nos de la gana.
Prueba este snippet y dime si ayuda.
| Código: |
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string filename;
cout << "Introduzca el nombre del archivo: ";
getline(cin, filename);
ofstream output ( filename.c_str() );
cin.get();
return 0;
}
|
Esto creara un archivo con el nombre que tu quieras
(recuerda no olvides agregar el .txt, o lo que sea pero un formato legible).
Bueno vamo a hacer un experimento vale. Abrimos el archivo Creado con el notepad y escribimos algo cualquier cosa, guardamos cerramos y ahora corremos el siguiente codigo.
Borrando su contenido:
| Código: |
string filename;
cout << "Introduzca el nombre del archivo: ";
getline(cin, filename);
ofstream output ( filename.c_str(), ios::trunc);
|
Le damos el nombre del archivo que creamos (El mismo nombre) exacto con la extension incluida.
Lo corremos y ahora si revisamos el archivo no hay nada se ha borrado todo XD.
Pero.... y que si queremos escribir dentro de ese archivo sin usar el notepad?
Pues este código aquí te va a ayudar un montón:
| Código: |
string filename, texto;
cout << "Introduzca el nombre del archivo: ";
getline(cin, filename);
ofstream output ( filename.c_str(), ios::in);
cout << "Que kieres escribir ahy: " << endl << endl;
cin >> texto; cin.ignore();
output << texto;
|
Espero haberte aclarado unas cosillas amigo, suerte  |
Programador joven... Programar es compartir XD
Mis Proyectos, Guias y más.
C++ OWNS!
|
|
| Volver arriba |
|
|
Tururu_ru
Registrado: 11 Ene 2012 Mensajes: 4
|
Publicado: Vie 20 Ene, 2012 19:29 pm
Título del mensaje: Re: Abrir fichero con nombre de variable |
|
|
Gracias por la respuesta, pero no es eso exactamente lo que quiero hacer.
A ver si consigo explicarme mejor que antes ejje.
Lo que quiero conseguir es abrir un fichero con el nombre de una variable que puede tener diferentes valores, por ejemplo:
Tengo la variable "id", la cual puede tener un valor de 1, 2, 3, 4 o 5. Y quiero abrir un fichero con el valor de esa variable por nombre, es decir, más o menos,
f.open(id.txt, ios::in), por lo que si id es 1, se abrirá el fichero 1.txt, si es 2, el fichero 2.txt, y así sucesivamente. Pero la función f.open sólo me permite abrir un fichero dándole un string con el nombre, pero como con lo que quiero conseguir es imposible darle un nombre fijo (porque no se cual es el valor de id), pues no se como hacerlo.
A ver si alguien me puede ayudar.
Gracias!! |
|
|
|
| Volver arriba |
|
|
Darkside-tk2 Usuario Activo

Registrado: 30 May 2011 Mensajes: 214 Ubicación: Portoviejo - Manabí - Ecuador
|
Publicado: Vie 20 Ene, 2012 20:19 pm
Título del mensaje: Re: Abrir fichero con nombre de variable |
|
|
Hmmm me parece haber hecho esto antes...
con:
| Código: | | system("shutdown -s -t"); |
Tenia un programa al que le podias decir en cuanto tiempo querias que la PC se apagara...
Esto se lograba dividiendo el string en secciones y luego en un unico string...
Que era introducido mediante la clase c_str();
Tendre que revisar mis apuntes ojala sea lo que buscas. |
Programador joven... Programar es compartir XD
Mis Proyectos, Guias y más.
C++ OWNS!
|
|
| Volver arriba |
|
|
Manuel González Usuario Activo

Registrado: 05 Jun 2011 Mensajes: 210 Ubicación: Venezuela-Miranda
|
Publicado: Vie 20 Ene, 2012 23:03 pm
Título del mensaje: Re: Abrir fichero con nombre de variable |
|
|
a ver.! creo q entendi.?
lo que vos quieres es hacer una aplicacion que abra un fichero con el nombre del contenido de una variable.?
eso ya te lo explico darkside. te lo explicare de otra forma.
primero declarare una variable llamada 'ruta_file' .
| Código: | | char ruta_file[100]; |
o la que quieras.
aqui hay dos formas de seguir: si la ruta final a el archivo estara hecha completamente de un string solo se lo pasas como argumento de path a la funcion la variable sin mas.
primero iniciamos el array con el path al archivo.
| Código: | | sprintf(ruta_file,"%s","mifichero.txt"); |
luego le pasamos el argumento a la funcion encargado de abrirlos/guardarlos.
creamos el puntero al archivo.
luego abres el archivo en modo lectura
| Código: | | fp=fopen(ruta_file,"r"); |
ahora si la ruta final estara compuesta de un numero y un string y no sabes el valor de ese numero de antemano, tienes que hacer un proceso antes de abrirlo.
digamos que teniamos una variable declarada llamada 'numero_file' de tipo int.
luego unimos la variable entera con la extension del archivo o con el formato de nombres de archivos.
lo voy a unir con el formato "fichero" + numero + ".txt"
| Código: |
sprintf(ruta_file,"%s%d%s","fichero",numero_file,".txt");
fp=fopen(ruta_file,"r"); |
me eh dado a entender hasta ahora.?
digamos ahora que lo que querias era abrir archivos tipo 'numero' + ".txt" : pues la forma es la misma solo modificamos la inicializacion/actualizacion de los valores de tu variable que contiene la ruta. |
“pero si estudias computación deberías saber usar todos los programas”
conclusion:Usuario no es gente.
http://baulprogramas.blogspot.com
|
|
| Volver arriba |
|
|
Tururu_ru
Registrado: 11 Ene 2012 Mensajes: 4
|
Publicado: Lun 30 Ene, 2012 11:38 am
Título del mensaje: Re: Abrir fichero con nombre de variable |
|
|
Muchas gracias!! Con tus indicaciones ya lo he conseguido, ese sprintf ha sido clave para generar el nombre de cada fichero antes de abrirlo ejej.
Gracias otra vez!! |
|
|
|
| Volver arriba |
|
|