SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: nerwolf en Sábado 20 de Agosto de 2005, 23:11

Título: Problemilla De Principiante, No??
Publicado por: nerwolf en Sábado 20 de Agosto de 2005, 23:11
Me estoy volviendo loco... , se que es una tonteria pero me he ofuscado... a ver si alguien me puede dar algo de luz...

Tengo un clase como la siguiente (no es la misma es solo ejemplo):

class Persona{
private:
nombre *char;
edad *int;
}

quiero construirla a partir de datos de un archivo de texto, miro la ayuda y me dice que con un FileStream y despues con un ReadStream , mi problema es con el *char, porque el FileStream me devuelve *String y me es imposible asignarlo a mi *char. Seguro que habeis tenido este problema en vuestros inicios, alguna sugerencia??

Tambien habia pensado en cambiar estructura de la clase para aceptar System::String, pero no me deja , a parte no me gusta.

Acepto no usar filestream

Gracias a todos
Título: Re: Problemilla De Principiante, No??
Publicado por: Eternal Idol en Sábado 20 de Agosto de 2005, 23:42
¿System::String? ¿.NET? Me parece que estas mezclado un poco las cosas sin querer o trabajando con Visual C++ .NET  :devil:

Hay varias formas de leer un archivo, empezando con funciones ANSI C, pasando por clases de la STL y terminando en la API de Windows.

Una cosa orientada a C++ podria ser algo asi:

Código: Text
  1.  
  2. #include <iostream>
  3. #include <ios>
  4. #include <fstream>
  5. #include <string>
  6. using namespace std;
  7.  
  8. class Persona
  9. {
  10.   public:
  11.     string nombre;
  12.     int *edad;
  13. };
  14.  
  15. void main()
  16. {
  17.   fstream lectura("nombres.cpp", ios::in);
  18.   Persona Carlitos;
  19.   lectura >> Carlitos.nombre;
  20.   cout << Carlitos.nombre;
  21. }
  22.  
  23.  
Título: Re: Problemilla De Principiante, No??
Publicado por: Diodo en Sábado 20 de Agosto de 2005, 23:54
Hola

Aca hay varios metodos para pasar de string a *char

http://support.microsoft.com/default.aspx?...;311259&sd=msdn (http://support.microsoft.com/default.aspx?scid=kb;es;311259&sd=msdn)

saludos  :hola: