
16-02-2010
|
 |
Moderador
|
|
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Reputación: 27
|
|
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.
|