Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/04/2014, 05:46
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: fstream variable

Código C++:
Ver original
  1. // swapping ostringstream objects
  2. #include <string>       // std::string
  3. #include <iostream>     // std::cout
  4. #include <sstream>      // std::stringstream
  5. #include <fstream>
  6. using namespace std;
  7.  
  8. //esto tiene que estar en una funcion para no tener que generar variables del tipo ofstream sino
  9. //deberias generar tambien fichero1( ss.str() )...fichero2( ss.str() )...fichero3( ss.str() )... XDDD
  10. void createfile( int num ){
  11.     stringstream ss;
  12.     ss << "Salida" << num << ".txt";
  13.     //ss.str() junta Salida+num+.txt de forma que queda asi: Salida0.txt. Después a la segunda
  14.     //vuelta Salida1.txt... así hasta el máximo que es el n_archivos.
  15.     ofstream fichero( ss.str() );
  16. }
  17.  
  18. int main () {
  19.     //números de archivos del 1 al 10 si quieres mil cambia tu pero no quiero 1000 archivos en mi pc XDD            
  20.     int num = 1;
  21.     int n_archivos = 11;
  22.     stringstream ss;
  23.    
  24.     while ( num != n_archivos ) {
  25.         createfile( num );
  26.         num++;
  27.     }
  28.   return 0;
  29. }
http://www.cplusplus.com/reference/s.../stringstream/
para el str() leer aquí:
http://www.cplusplus.com/reference/s...ingstream/str/

Fíjese que tuve que poner la parte que imprime en una variable. Eso es por que para editar un archivo de texto debemos crear una variable tipo ofstream. Esa variable ofstream se asocia al archivo que especificamos dentro de las ():

ofstream mifichero("archivo.txt");

no puedo crear otro archivo ofstream mifichero("archivo2.txt");
Podía asociarlo con otro txt creo haciendo así: mifichero("otrofichero.txt");
Lo que hacíamos antes era declarar varios ofstream llamado "mifichero" que apuntaba a diferentes ficheros. Ojo con eso :D.
Pero como en la función una variable se destruye cuando la función termina pues creaba una variable ofstream lo creaba el fichero y se destruya la variable cada vez que llamamos la función.


Esto:
ofstream mifichero("archivo.txt");
ofstream mifichero("archivo2.txt");
Es ilegal. Intentamos declarar 2 variables mifichero que apuntan a diferentes archivos, solo el primero seria correcto.

A cambio:
ofstream mifichero("archivo.txt");
mifichero("archivo2.txt");
Esto puede que funcione, no lo he probado por que no me interesa XDD te lo dejo a ti que investigue.

Última edición por vangodp; 02/04/2014 a las 06:02