Ver Mensaje Individual
  #2  
Antiguo 16-02-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Reputación: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
La verdad es que comparar C++ con Object Pascal... ¡Buf! Son dos filosofías muy diferentes, a pesar de sus similitudes.

Por ejemplo, el error se produce porque String es una clase de objeto mientras que fscanf trabaja con punteros a char, no con objetos String.

Es decir: estas mezclando C++ con C, y aunque no lo parezca, son dos lenguajes muy diferentes (mucho más que Pascal y Object Pascal) y no se llevan muy bien.

Deberías buscar un buen libro de programación C o de C++. Te recomiendo al autor Herbert Schild.

De todas formas, una posible solución sería:
Código:
#include <stdio.h>
.
.
.

 FILE *fichero;
 char Host[MAX], User[MAX], Pass[MAX];
 fichero= fopen("C:\\conect.dll", "r");
 if (fichero!= NULL)
   {
    fscanf (fichero, "%s", &Host);
    fscanf (fichero, "%s", &User);
    fscanf (fichero, "%s", &Pass);
   }
 else ShowMessage("El archivo de conexion no se pudo abrir");
 fclose(fichero);
De todas formas usar fscanf en este caso... Mejor fgets.

Otra solución sería con streams, pero nunca he trabajado con ellas en C++ así que no puedo ponerte un ejemplo.

Última edición por Ñuño Martínez fecha: 16-02-2010 a las 23:24:16.
Responder Con Cita