Pregunta de C++

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Pregunta de C++

Postby erkosone » Sun May 01, 2011 7:28 pm

Tengo este codigo que crea un file y después lo lee para cargar dos datos a dos variables..
Para que en la primera asignación de lectura a "nombre" solo me coja el valor que he guardad como nombre, osea, "Luis", tengo que meter una chapuza como esta:
Code: Select all
f_out << " ";

Es para separar los dos datos entre si..
Eso está bien hecho así o se puede hacer mejor de otra manera sin hacer esta chapuza?
Code: Select all
#include <iostream>
#include <fstream>
using namespace std;

int main() {
    // creo el file..
    string nombre = "Luis";
    int edad = 32;
 
    ofstream f_out("data.txt");  // declaro fs como archivo de salida..
 
    f_out << nombre;             // envio la variable nombre al file..
    f_out << " ";
    f_out << edad;               // envio la variable edad al file..
     
    f_out.close();               // cierro el archivo..
   
   
   
    // cargo variables desde el file..
    ifstream f_in("data.txt");
    f_in >> nombre >> edad;
    cout << "DATOS CARGADOS DEL ARCHIVO data.txt" << endl;
    cout << "-----------------------------------" << endl;
    cout << "NOMBRE: " << nombre << endl;
    cout << "EDAD:   " << edad << endl;
   
    f_in.close();
    system("pause");
    return 0;
}


User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Pregunta de C++

Postby CicTec » Sun May 01, 2011 8:54 pm

Hola erkos,

El operador << y >> pueden ser concatenados en C++, asi el codigo:
Source Code (C++) [ Download ] [ Hide ]
  • f_out << nombre;             // envio la variable nombre al file..
  • f_out << " ";
  • f_out << edad;               // envio la variable edad al file..
  •  


Puede ponerse:
Source Code (C++) [ Download ] [ Hide ]
  • f_out << nombre << " " << edad;  // envio las variable nombre y edad al file..
  •  


Incluso puedes ponerlo en mas lineas:
Source Code (C++) [ Download ] [ Hide ]
  • f_out << nombre /* envio la variable nombre al file.. */
  •       << " "
  •       << edad;  /* envio las variable edad al file.. */
  •  
User avatar
CicTec
 
Posts: 16575
Joined: Thu Jul 31, 2008 10:18 pm

Re: Pregunta de C++

Postby erkosone » Sun May 01, 2011 10:42 pm

mmm.... ok, veo que así hago solo una llamada a la función en vez de 3.. vale gracias CicTec.

Supongo que enviar el " " es algo normal para separar los datos.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Pregunta de C++

Postby CicTec » Sun May 01, 2011 10:51 pm

Si, es normal.
User avatar
CicTec
 
Posts: 16575
Joined: Thu Jul 31, 2008 10:18 pm


Return to Offtopic

Who is online

Users browsing this forum: No registered users and 4 guests

cron