Fecha y hora actual: Sab 19 May, 2012 20:11 pm
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Abrir fichero con nombre de variable

Responder al Tema

Índice del Foro > C, C#, Visual C++ > Abrir fichero con nombre de variable

Autor Mensaje
Tururu_ru



Registrado: 11 Ene 2012
Mensajes: 4

Mensaje Publicado: Mie 11 Ene, 2012 18:29 pm

Título del mensaje: Abrir fichero con nombre de variable

Responder citando

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
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
Moderador Global


Registrado: 20 Mar 2009
Mensajes: 2084
Ubicación: y*width+x

Mensaje Publicado: Jue 12 Ene, 2012 17:43 pm

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

El código que muestras es válido para abrir un fichero, pero no es necesario que uses un stream, como la clase que usas fstream.

La variable fich tendrías que declararla con tipo string o const char[].

Presupongo que hablamos de C++


http://www.youtube.com/watch?v=-lT1zCukNQY
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Darkside-tk2
Usuario Activo


Registrado: 30 May 2011
Mensajes: 214
Ubicación: Portoviejo - Manabí - Ecuador

Mensaje Publicado: Mar 17 Ene, 2012 23:10 pm

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

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 Ok


Programador joven... Programar es compartir XD

Mis Proyectos, Guias y más.


C++ OWNS!
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
Tururu_ru



Registrado: 11 Ene 2012
Mensajes: 4

Mensaje Publicado: Vie 20 Ene, 2012 19:29 pm

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

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
Ver perfil del usuario Enviar mensaje privado
Darkside-tk2
Usuario Activo


Registrado: 30 May 2011
Mensajes: 214
Ubicación: Portoviejo - Manabí - Ecuador

Mensaje Publicado: Vie 20 Ene, 2012 20:19 pm

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

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
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
Manuel González
Usuario Activo


Registrado: 05 Jun 2011
Mensajes: 210
Ubicación: Venezuela-Miranda

Mensaje Publicado: Vie 20 Ene, 2012 23:03 pm

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

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.
Código:

FILE *fp;

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.
Código:

FILE *fp;

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
Ver perfil del usuario Enviar mensaje privado Enviar correo
Tururu_ru



Registrado: 11 Ene 2012
Mensajes: 4

Mensaje Publicado: Lun 30 Ene, 2012 11:38 am

Título del mensaje: Re: Abrir fichero con nombre de variable

Responder citando

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
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Cual es el error de esta variable en C++

Leisnar23 C, C#, Visual C++ 4 Jue 17 May, 2012 18:48 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Comopuedo recortar lineas pr el final de un fic...

eduar2083 Java 1 Jue 10 May, 2012 15:09 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Pasar variable por parametro

odin123 JavaScript 0 Mie 02 May, 2012 23:02 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Leer fichero binario en C.

WhiteSkull C, C#, Visual C++ 8 Sab 03 Mar, 2012 13:48 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Menu doble variable

tortola Programación Web en general 2 Mar 28 Feb, 2012 02:18 am Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,