vineri, 19 septembrie 2014

SSCANF SPLIT

In acest tutorial va voi explica cum sa facei split cu functia sscanf. Nu stiu exact cu sa va explic pentru ca si eu deabia am invatat ce face functia asta. Dar voi incerca.

Voi incepe cu un exemplu:


new nume[MAX_PLAYER_NAME],bani,warn,factiune[24];
sscanf("Gireada, 1000, 30, SA-MP ", "p<,>s[34]iis[6]", nume, bani, warn, factiune);
printf("%s, %d, %d, %s",nume, bani, warn, factiune);



Ok mai exact ce face functia asta? Stocheaza in variabile valori. Cred ca exemplul de mai sus este cel mai potrivit.


sscanf("De unde trebuie sa luam valorile", "parametrii prin care ii stocam", variabilele in care le stocam);


Cred ca toti va intrebati ce este p<,>. Cu ajutorul lui delimitam valorile cum sunt Gireada, 1000, 30, SA-MP . Daca veti rula acest exemplu veti vedea ca asa se va afisa.

Pentru cei ce vor sa foloseasca aceasta functie pentru systemele de mysql veti inlociu virgula de la p<> cu | si va deveni [b]p<|>


De exemplu: avem un tabel (Users) cu urmatoarele coloane in urmatoare ordine ID, Nume, Bani, Skin, vom folosi astfel.

format(Query, sizeof(Query), "SELECT * FROM `Users` WHERE `Name` = '%s' ", pName(playerid));
mysql_query(1,Query);
mysql_store_result();// stocam rezultatul
mysql_fetch_row_format(Query, "|");
sscanf(Query, "p<|>is[34]ii", ID, nume, bani, skin);//stocam in variabile valorile din tablou
printf("%d, %s, %d, %d",ID, nume, bani, skin);

Sper ca ati inteles.

Un comentariu: