Pregunta de C++

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.
Post Reply
User avatar
erkosone
Posts: 10656
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.
Contact:

Pregunta de C++

Post by erkosone »

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
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: Pregunta de C++

Post by CicTec »

Hola erkos,

El operador << y >> pueden ser concatenados en C++, asi el codigo:
[Codebox=cpp file=Untitled.cpp]
f_out << nombre; // envio la variable nombre al file..
f_out << " ";
f_out << edad; // envio la variable edad al file..
[/Codebox]

Puede ponerse:
[Codebox=cpp file=Untitled.cpp]
f_out << nombre << " " << edad; // envio las variable nombre y edad al file..
[/Codebox]

Incluso puedes ponerlo en mas lineas:
[Codebox=cpp file=Untitled.cpp]
f_out << nombre /* envio la variable nombre al file.. */
<< " "
<< edad; /* envio las variable edad al file.. */
[/Codebox]
User avatar
erkosone
Posts: 10656
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.
Contact:

Re: Pregunta de C++

Post by erkosone »

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
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: Pregunta de C++

Post by CicTec »

Si, es normal.
Post Reply

Return to “Offtopic”