GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: dipsnark - 2013. szeptember 07. - 19:05:52

Cím: Sscanf segítség
Írta: dipsnark - 2013. szeptember 07. - 19:05:52
Sziasztok!
Segítséget szeretnék kérni.
Van egy ilyen karakterláncom: \"Keresztnév_Vezetéknév - 09090\"
Ezt sscanf segítségével szeretném szétdarabolni egy sztringre(név) és egy változóra(telefonszám).
Ezzel próbálkoztam:
 
sscanf(inputtext, \"p<->s[24]{s[1]}i\", tnev, tszam);

 
Illetve {s[1]} nélkül. Az a problémám, hogy a \"-\" elõtt van egy space amit szeretnék eltüntetni. Erre úgy tudtam, hogy az sscanf quiet megoldása lenne a jó, de ilyenkor olyan hibát dob, hogy string buffer overflow. Ez ugye azt jelentené, hogy nem fér bele a sztring abba amibe menteni szeretném, viszont én pont, hogy nem akarom menteni.
Köszi a segítséget!
Cím: Sscanf segítség
Írta: Zsolesszka - 2013. szeptember 07. - 19:23:23
stock
StripNewLineY(str[]) //ysi_misc.own
{
new
l = strlen(str);
while (l-- && str[l] <= \' \') str[l] = \'\\0\';
}

 

   new
tnev[24],
tszam;
sscanf(\"Keresztnév_Vezetéknév - 09090\", \"p<->s[24]i\", tnev, tszam);
StripNewLineY(tnev);
printf(\"%s|%d\", tnev, tszam);
Cím: Sscanf segítség
Írta: dipsnark - 2013. szeptember 07. - 19:29:30
Idézetet írta: ɐʞzssǝlosz date=1378574603\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42462\" data-ipsquote-contentclass=\"forums_Topic

stock
StripNewLineY(str[]) //ysi_misc.own
{
new
l = strlen(str);
while (l-- && str[l] <= \' \') str[l] = \'\\0\';
}

 

   new
tnev[24],
tszam;
sscanf(\"Keresztnév_Vezetéknév - 09090\", \"p<->s[24]i\", tnev, tszam);
StripNewLineY(tnev);
printf(\"%s|%d\", tnev, tszam);

 

Köszi zsolesszka, rád mindig lehet számítani :)