[Duda] Sscanf - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Sscanf (
/showthread.php?tid=347781)
[Duda] Sscanf -
[H]ouse - 03.06.2012
Bien, pues leyendo el post del plugin Sscanf de ******, me doy cuenta que existe la posibilidad de asginar parametros a los componentes de un enumerador.
Bien, el ejemplo que da ****** es el siguiente:
pawn Код:
enum E_DATA
{
E_DATE_C, Float:E_DATA_X, E_DATA_NAME[32], E_DATA_Z
}
main
{
new var[E_DATA];
sscanf("1 12.0 Bob c", "e<ifs[32]c>", var);
}
Bien, yo quise implementar esto para leer los parбmetros desde un Archivo X y asignarlos al enumerador.
El problema esta en que los parбmetros escritos dentro del archivo, estan separados por '|', por lo tanto no asigna los parбmetros a las variables del enumerador.
Aquн esta como lo hice yo...
pawn Код:
enum Enumerador
{
EsInteger,
EsString[25],
Float:EsFloat
}
new Info[Numero][Enumerador];
forward LeerArchivo();
public LeerArchivo()
{
new Data[256], Hash = 1, File: File = fopen("Archivo.cfg", io_read);
if(File)
{
do
{
new ASD[Enumerador];
fread(File, Data);
sscanf(Data, "p<|>e<is[25]f>", ASD);
printf("Integer:[%i], String:[%s], Float:[%f]", Info[Hash][EsInteger], Info[Hash][EsString], Info[Hash][EsFloat]);
}
while(Hash < Max_Var);
fclose(File);
}
}
//El Archivo esta asн: 1|String|123.123
//Y lo que imprime en la consola es asн: Integer:[0], String:[], Float:[0.00000]
їAlguna idea sobre como lograr que funcione y asigne los parametros correctamente?
Re: [Duda] Sscanf -
Daniel-92 - 03.06.2012
Estas obteniendo la info en la variable ASD y vos haces el print con la variable Info, seria de esta forma
pawn Код:
sscanf(Data, "p<|>e<is[25]f>", Info[Hash]);
printf("Integer:[%i], String:[%s], Float:[%f]", Info[Hash][EsInteger], Info[Hash][EsString], Info[Hash][EsFloat]);
Respuesta: [Duda] Sscanf -
[H]ouse - 03.06.2012
Me sirviу a la perfecciуn. Gracias.