Szerző Téma: sscanf figyelmesztetések a konzolból  (Megtekintve 592 alkalommal)

sscanf figyelmesztetések a konzolból
« Dátum: 2013. Augusztus 26. - 23:34:57 »
0 Show voters
Saját adminrendszert írok, és készítettem egy warn parancsot, de ennek használata közben hibát jelez az sscanf plugin a konzolba:
 
sscanf warning: String buffer overflow.
sscanf warning: Format specifier does not match parameter count.

 
Nem értem mi lehet a hiba, pedig simán csak így használom:
 
if(sscanf(params, \"us[64]\", id, reason))

 
Asszem a \"sscanf warning: String buffer overflow\" hibát akkor írja amikor 64 karakternél hosszabb indokot írtam be.
Ezt a hibát még kitudom javítani, de a másik hibaüzenetet nem értem. Elvben valami olyasmit ír, hogy céltárolókat nem jól adtam meg.

sscanf figyelmesztetések a konzolból
« Válasz #1 Dátum: 2013. Augusztus 26. - 23:39:07 »
+1 Show voters
1.) Úgy van.
2.) Nem egyezik meg a típusjelölések száma a paraméterek számával.
Pl.:
      \"dd\", int);  Kettõ format típus szerepel \"dd\", viszont csak egy változó paraméter (int), tehát nem egyezik meg a számuk.

sscanf figyelmesztetések a konzolból
« Válasz #2 Dátum: 2013. Augusztus 26. - 23:47:04 »
0 Show voters
Létrehoztam két céltárolót a feltétel elõtt.
 
new id, reason[64],

 

if(sscanf(params, \"us[64]\", id, reason))

 
u-val jelzem, az sscanf-nak, hogy játékos id-t helyezek be \"id\" nevû egész számot tároló típusú változóba.
s[64] létrehoztam, egy céltárolót sscanf-nél megadtam a típusjelölést és a céltárolónak tömb méretét.
Itt a hiba?
Mert ezt most tényleg nem értem.
Lehet, hogy nem is ennél a parancsnál van a hiba mert ezt a hibát újból nem tudom elõhozni.
És lám, igazam van, megvan melyik parancs a hibás.(Ott keresek hibát ahol nincs, ahol meg hiba van ott meg nem keresem xd)
Értem, már hol a hiba,  ɐʞzssǝlosz köszönöm a segítségedet ment a plussz.:D
« Utoljára szerkesztve: 2013. Augusztus 26. - 23:55:59 írta bbTamas »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal