Szerző Téma: [SSCANF] - Darabolás  (Megtekintve 814 alkalommal)

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
[SSCANF] - Darabolás
« Dátum: 2016. Augusztus 27. - 17:19:43 »
0 Show voters
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;

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[SSCANF] - Darabolás
« Válasz #1 Dátum: 2016. Augusztus 27. - 19:27:33 »
0 Show voters

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);

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
[SSCANF] - Darabolás
« Válasz #2 Dátum: 2016. Augusztus 27. - 20:58:41 »
0 Show voters
Sajnos amit küldtél az nem müködik, és azon az elven a sajátom se :D
Más ötlet ? :(

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[SSCANF] - Darabolás
« Válasz #3 Dátum: 2016. Augusztus 28. - 10:50:26 »
0 Show voters
Hát, akkor a hiba az Ön készülékében van.
\"5qBfsH8.png\"
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

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
[SSCANF] - Darabolás
« Válasz #4 Dátum: 2016. Augusztus 28. - 11:49:46 »
0 Show voters
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?

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[SSCANF] - Darabolás
« Válasz #5 Dátum: 2016. Augusztus 28. - 13:39:56 »
+1 Show voters
Az egyiknél (p) csak egy határolójelet lehet megadni a másikban (P) pedig többet is.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal