[Ajuda] Warning Sscanf
#1

pawn Код:
new az, bz, nz[1];
CMD:calcular(playerid, params[])
{
    if(sscanf(params, "d s d", az,nz,bz))
        return SendClientMessage(playerid,0xFFF000FF,"CORRETO: /calcular [ValorA] [Numerador] [ValorB]");
    else
    {
        if(strcmp(nz,"+",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 1));
        }
        else if(strcmp(nz,"-",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 2));
        }
        else if(strcmp(nz,"*",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 3));
        }
        else if(strcmp(nz,"/",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 4));
        }
        else
            return SendClientMessage(playerid,0xCC9900AA,"Numerador incorreto!");
    }
    return true;
}
Sу que sempre que utilizado o comando, o console me informa este warning:

Код:
sscanf warning: Strings without a length are deprecated, please add a destination size.
Alguem poderia me ajudar?
Reply
#2

O "Numerador" deve ser um char.
E nгo й necessбrio usar Strcmp para comparar chars.
Reply
#3

if(sscanf(params, "d c d", az,nz,bz))
Reply
#4

E como fazer estб comparaзгo sem usar Strcmp?
Reply
#5

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
if(sscanf(params, "d c d", az,nz,bz))
assim
Reply
#6

Quote:
Originally Posted by Alex_Kidds
Посмотреть сообщение
assim
?

pawn Код:
new az, bz, nz[1];
CMD:calcular(playerid, params[])
{
    if(sscanf(params, "d c d", az,nz,bz))
        return SendClientMessage(playerid,0xFFF000FF,"CORRETO: /calcular [ValorA] [Numerador] [ValorB]");
    else
    {
        if(strcmp(nz,"+",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 1));
        }
        else if(strcmp(nz,"-",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 2));
        }
        else if(strcmp(nz,"*",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 3));
        }
        else if(strcmp(nz,"/",true) == 0)
        {
            SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 4));
        }
        else
            return SendClientMessage(playerid,0xCC9900AA,"Numerador incorreto!");
    }
    return true;
}
Seria isso? Mas tentei desta maneira e ele informa numerador incorreto.
E se fosse new nz; , teria que realizar a identificaзгo de nz de outra forma, como? ;s
Reply
#7

pawn Код:
if(nz == '*')  SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 1));
Use como referкncia.
Reply
#8

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
pawn Код:
if(nz == '*')  SendClientMessageF(playerid,0xCC9900AA,"RESULTADO: %d",ReturnValor(az, bz, 1));
Use como referкncia.
Obrigado, nгo conhecia a utilidade de ' ;s
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)