[C con Clase] Leer desde un archivo creado.

Steven Davidson srd4121 en njit.edu
Vie Sep 26 02:33:33 CEST 2008


Hola Rubén,

Rubén wrote:
> Buenas noches:
> 
> Estaba practicando cuando esto me ha dado un error que no he sabido
> solucionar:
> 

Nos deberías dar el mensaje del error y qué programa lo mostró. Veamos 
el código fuente.

> #include <iostream>
> #include <fstream>
> using namespace std;
> 
> int main()
> {
> 	ofstream f2;
> 	f2.open("fichero.txt", ofstream::out); 

El segundo parámetro no es necesario. La clase 'ofstream' ya presume que 
el modo de abertura es de salida; o sea, 'ios::out' es pasado por defecto.

> 
> 
> 	char nombre[100];  //Cadena de carácteres. 
> 	cout<<"Escriba su nombre y pulse Intro: ";
> 	cin >>nombre;  //Lee lo escrito
> 	f2 << nombre;  //Lo guarda en fichero.txt
> 
> 		char apellido[100];
> 		cout<<"Escriba su apellido y pulse Intro: ";
> 		cin>>apellido;  //Lee el apellido escrito.
> 		f2<<" ";  //Crea un espacio entre nombre y apellido.
> 		f2<<apellido;  //Escribe el apellido en fichero.txt
> 
> 	f2.close("fichero.txt");

Aquí tienes el error. La función miembro 'close()' no requiere ningen 
parámetro. Además, pasar un parámetro a esta función no tiene ningún 
sentido; el objeto 'f2' ya sabe que se trata del fichero "fichero.txt".

> 	f2.open("fichero.txt", ofstream::in); 

Esto no es válido. La clase 'ofstream' no ofrece ninguna funcionalidad 
para la lectura. Si quieres hacer esto, entonces usa la clase 'fstream' 
en lugar de 'ofstream'.

> 	f2<<apellido;

Necesitas la sentencia 'return'.

> }
> 


Espero que esto te ayude.

Steven





Más información sobre la lista de distribución Cconclase