Programación General > C/C++

 [DUDA] Variable en open() de ofstream;

(1/1)

ChinoCr:
Hola, soy nuevo en este foro, y me integro con una duda que tengo. Verán; hice un código el cual me guarda en un archivo el contenido de un String, hasta ahí todo bien. Lo que me gustaría hacer, es que yo pueda introducir una variable en el nombre del archivo a guardar, a ver si me entendieron.

El código que tengo es este:


--- Código: C++ ---ofstream miScript;miScript.open("archivos/miScript.txt");miScript<< descripcionScript;miScript.close(); 
Y quiero que me quede algo como esto:


--- Código: C++ ---ofstream miScript;miScript.open("archivos/" + tituloScript + ".txt");miScript<< descripcionScript;miScript.close(); 
Sólo que no sé como se haría, ya que eso me da error de compilación.
Espero me puedan ayudar.

Saludos ^^

Epa:
Buenas.

En C++ un literal cadena ( "algo entre comillas dobles") devuelve un puntero
por lo que al hacer estas haciendo una suma de puntero, algo que no esta permitido y en caso de que lo estubiese, el resultado no seria el que eesperas.

"archivos/" + tituloScript + ".txt"

si existe una sobrecarga de open que hacepte una obejto string, podrias ahcer:

string path("archivos/");

path += tituloScript;

path += ".txt";

miScript.open(path);

sino tendrias que crear un vector de char y meter el path completo, y pasarle ese paramtero a open:

char path[50] = "archivos/";

strcat(path, tituloScript);

strcat(path, ".txt");

miScript.open(path);

Saludos

player_:
Buena solución.

Navegación

[0] Índice de Mensajes

Ir a la versión completa