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: mauladam - 2011. december 13. - 20:59:49

Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: mauladam - 2011. december 13. - 20:59:49
Sziasztok!
Tudom, sok témát nyitottak már ezzel a problémával kapcsolatban, de sajnos, mégsem találtam meg (eddig) a megoldást.
Mikor elindítom a szervert, a szerver_log.txt fájlba, és a konzolba ilyen warningok kerülnek:
 
sscanf warning: Strings without a length are deprecated, please add a destination size. 

 
Innentõl a szkript nem is fut tovább.
Olvastam, hogy az \"új\" sscanf-ba úgy kell megadni hogy:
[pawn]sscanf(params, \"sdf\", string, integer, float);[/pawn]
A gond az, hogy így admom meg, és mégis írja a warningokat..
Ha valakinek ötlete van, hogy mi lehet a gond, az kérem írja le.
Köszönöm a segítséget!
Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: kurta999 - 2011. december 13. - 21:03:16
Igen, bár a size -helyett egy stringet kell írni.
Behelyettesíteni csak a Pre Processor-al tudsz, mivel ott stringnek kell lennie, nem lehet változó!
[pawn]#define STR_SIZE 32
sscanf(params, \"s[\" #STR_SIZE \"]df\", string, integer, float);[/pawn]
Vagy:
[pawn]sscanf(params, \"s[32]df\", string, integer, float);[/pawn]
Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: mauladam - 2011. december 13. - 21:05:35
Idézetet írta: kurta999 date=1323806596\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"14236\" data-ipsquote-contentclass=\"forums_Topic
Igen, bár a size -helyett egy stringet kell írni.
Behelyettesíteni csak a Pre Processor-al tudsz, mivel ott stringnek kell lennie, nem lehet változó!
[pawn]#define STR_SIZE 32
sscanf(params, \"s[\" #STR_SIZE \"]df\", string, integer, float);[/pawn]
Vagy:
[pawn]sscanf(params, \"s[32]df\", string, integer, float);[/pawn]
 
Úgy gondoltam én is, ahogy a vagy résznél írtad.
Az én esetemben 64, de nem tudom, hogy miért warningol :\\
Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: kurta999 - 2011. december 13. - 21:06:09
Akkor már csak az áll fent, hogy a változó, amibe beletöltöd, az nem tömb.
Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: mauladam - 2011. december 13. - 21:14:28
Most egy kicsit bekavartál.
Ha van egy ilyen sorom:
 
if(!sscanf(kulcs, \"s[64]\", k))

 
A \"k\" változó így van dekralálva: new k[64];
Akkor ennek jónak kell lennie nem? :)
Cím: sscanf warning: Strings without a length are deprecated, please add a dest
Írta: kurta999 - 2011. december 13. - 21:58:18
Hát ennek így mennie kéne.
Nincs nagyon már tippem, hogy ez miért lehet.
Esetleg nem lehet az, hogy a \'kulcs\' változó nem tömb? :D
De ha tömb, akkor másold be az egész funkciót, ahol ez lefut. Abból többet ki tudnák szedni.