Jump to content
  • 0

pomoc Sscanf x sscanf2 - problém


Honza_585

Dotaz

Zdravím.

Chtěl bych se zeptat na jednu věc. - Přecházím z SSCANF na SSCANF2

1 kód z 50 právě s "sd": sscanf(Data,"sd",SeskokTopName[SeskokCount][i],SeskokTopTime[SeskokCount][i]);
2 kód z 50 právě s "z": if(sscanf(params,"z",msg))  return SCM(playerid,0xFF0000AA, "[ ! ]{ffffff} Použití: /dotaz (TEXT)");

Chyba, a varování v konzoli:
[12:18:04] sscanf error `sd`: "String/array must include a length, please add a destination size."
[12:18:04] sscanf warning `sd`: "String buffer overflow."
_____________________________________________
[12:16:02] sscanf error `z`: "String/array must include a length, please add a destination size."
[12:16:02] sscanf warning `z`: "String buffer overflow."
_____________________________________________
Jestli jsem tomu správně rozuměl je malá velikost pro ten danej kod?
např new Data[50], msg[50];.. ale chce to třeba 150?

Není to třeba tím že mám špatnou hodnotu právě v tom sscanf(Data,"sd",SeskokTopName[SeskokCount][i],SeskokTopTime[SeskokCount][i]); - že sscanf má jiný specifikace na ty hodnoty než sscanf2?

Edited by Honza_585
Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

  • 1

Ahoj, ak používaš sscanf2, musíš pri stringoch uvádzať aj ich dĺžku.

Ak máš teda v kóde new msg[50], použi if(sscanf(params, "s[50]", msg)).

Viac nájdeš na: https://sampforum.blast.hk/showthread.php?tid=570927 v časti o stringoch.

Edited by DuFF
Link to comment
Share on other sites

  • 1
před 12minutami, PartyGameOficial said:

Ahoj, @DuFF,

 

Takže co jsem od tebe pochopil stačí pouze přidat [Hodnota]? 

 

Takže to bude vypadat nějak takhle?

sscanf(Data,"s[250]d",SeskokTopName[SeskokCount][i],SeskokTopTime[SeskokCount][i]);

 

Díky za odpověd.

 

Áno, to by malo fungovať (za predpokladu, že SeskokTopName má fakt 2. rozmer o veľkosti aspoň 250)

Edited by DuFF
Link to comment
Share on other sites

  • 0

Ahoj, @DuFF,

 

Takže co jsem od tebe pochopil stačí pouze přidat [Hodnota]? 

 

Takže to bude vypadat nějak takhle?

sscanf(Data,"s[250]d",SeskokTopName[SeskokCount][i],SeskokTopTime[SeskokCount][i]);

 

Díky za odpověd.

 

Edited by PartyGameOficial
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...