-
Sziasztok !
Egy kérdésem lenne a sscanf darabolással kapcsolatban.
Van egy stringem :
new string[128] = \"[ 1 ]\";
És azt szeretném megtudni, hogy szét lehet e darabolni ezt a stringet, és a közepén lévő számot : \'1\'-t kiszedni változóba.
Próbálkoztam sscanf ismereteim alapján megoldani, de valamiért nem müködik :(
Amit akarok :
Ami a stringben van szám azt rakja változóba, pl.
new string[128] = \"[ 27 ]\";
new szam = 27;
-
new string[128],
a = 0,
b = 0,
c = 0;
format(string, sizeof(string), \"[ 1000, 24, 235 ]\");
sscanf(string, \"P<[],>{s[2]}iii\", a, b, c);
printf(\"Szám: %d - %d - %d\", a, b, c);
-
Sajnos amit küldtél az nem müködik, és azon az elven a sajátom se :D
Más ötlet ? :(
-
Hát, akkor a hiba az Ön készülékében van.

Kód:
#include <a_samp>
#include <sscanf2>
public OnFilterScriptInit()
{
new string[128],
a = 0,
b = 0,
c = 0;
format(string, sizeof(string), \"[ 1000, 24, 235 ]\");
printf(\"Format: %s\", string);
sscanf(string, \"P<[],>{s[2]}iii\", a, b, c);
printf(\"Szám: %d - %d - %d\", a, b, c);
printf(\"\\n\\n\");
format(string, sizeof(string), \"[ 24 ]\");
printf(\"Format: %s\", string);
sscanf(string, \"P<[],>{s[2]}i\", a);
printf(\"Szám: %d\", a);
return true;
}
sscanf:
http://forum.sa-mp.com/showthread.php?t=570927
-
Igazad van :D Nálam volt a hiba, sscanf2-t kell használni, nem sima sscanfet :D
És eltudnád mondani, hogy \"p\", és \"P\" között van? És ha van akkor mi a külömbség?
-
Az egyiknél (p) csak egy határolójelet lehet megadni a másikban (P) pedig többet is.