Szerző Téma: sscanf warning: Strings without a length are deprecated, please add a dest  (Megtekintve 2546 alkalommal)

0 Show voters
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!

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
sscanf warning: Strings without a length are deprecated, please add a dest
« Válasz #1 Dátum: 2011. december 13. - 21:03:16 »
0 Show voters
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]

sscanf warning: Strings without a length are deprecated, please add a dest
« Válasz #2 Dátum: 2011. december 13. - 21:05:35 »
0 Show voters
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 :\\
« Utoljára szerkesztve: 2011. december 13. - 21:07:09 írta mauladam »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
sscanf warning: Strings without a length are deprecated, please add a dest
« Válasz #3 Dátum: 2011. december 13. - 21:06:09 »
0 Show voters
Akkor már csak az áll fent, hogy a változó, amibe beletöltöd, az nem tömb.

sscanf warning: Strings without a length are deprecated, please add a dest
« Válasz #4 Dátum: 2011. december 13. - 21:14:28 »
0 Show voters
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? :)

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
sscanf warning: Strings without a length are deprecated, please add a dest
« Válasz #5 Dátum: 2011. december 13. - 21:58:18 »
0 Show voters
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.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal