GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bayshore le 19 Mars 2008, 18:39:29

Titre: [Résolu] probleme array et sizeof
Posté par: Bayshore le 19 Mars 2008, 18:39:29
Bonjour,

J'utilise un sizeof dans un array, mais ça ne marche pas. :-X

Je défini à l'avance mes commandes admins pour que je puisse facilement les modifier par la suite, en cas de fuite. ^^

if(strcmp(cmd, ADMIN_GETIP, true) == 0)
{
new tmp[32];
tmp = strtok(cmdtext, idx);
new pid = strval(tmp);

if(gAdmin[playerid])
{
    if(cmd[sizeof(ADMIN_GETIP)] != 0)
    {

Comment faire pour indiquer la bonne valeur dans cmd[] ? :/
Merci d'avance de votre aide. ^^
Titre: Re : probleme array et sizeof
Posté par: Syg le 20 Mars 2008, 10:43:14
Puisque ADMIN_GETIP (ou tes autres commandes) sont des chaînes de caractères, tu peux utiliser strlen à la place de sizeof.

srtlen renvoie la taille d'une chaine.
sizeof renvoie la taille occupée en mémoire par un variable.

Exemple :
char MaChaine[256] = "1234567890";

strlen (Machaine) vaut 10 (taille de la chaine contenue dans la variable)
sizeof (MaChaine) vaut 256 (taille de la variable)

NB : Attention, strlen ne marche qu'avec les chaînes de caractères alors que sizeof marche avec toutes les variables.

++
Syg
Titre: Re : probleme array et sizeof
Posté par: Bayshore le 20 Mars 2008, 17:20:59
La compilation passe, mais ça ne fait pas l'effet attendu. :(

http://pastebin.gtaonline.fr/pastebin.php?show=393

Ca me dit USAGE: /cmd <playerid> :-X
Titre: Re : probleme array et sizeof
Posté par: Bayshore le 21 Mars 2008, 20:27:17
Résolu. ;)
http://forum.sa-mp.com/index.php?topic=48415.0