• 04 Juin 2026, 16:01:38


Auteur Sujet: (Résolu)Extraire les lettres d'une chaîne dans un array ?  (Lu 2399 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Bonjour/Bonjoir, j'ai récemment eu besoin d'extraire les lettres d'une chaîne dans un array, j'ai essayé beaucoup de méthodes et ce pendant deux heures (c'est long pour un seul problème, très long)
J'ai essayé string[2] mais le résultat n'est pas celui désiré, j'ai essayé une boucle strmid sur chaque lettre mais ça bug (le string ne doit faire que 4 caractères, donc pas très long la boucle), j'ai essayé de créer quatre variable pour strmid dans chacune d'entre elles mais ça ne marche pas

Enfin bref je bloque, quelqu'un a une solution ?
« Modifié: 06 Janvier 2014, 18:31:58 par Kiloutre »

[/url]

vincentdu90

  • Invité
Re : Extraire les lettres d'une chaîne dans un array ?
« Réponse #1 le: 06 Janvier 2014, 12:18:41 »
Bonjour,

As-tu regardé du côté de Strfind ?

http://wiki.sa-mp.com/wiki/Strfind

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Extraire les lettres d'une chaîne dans un array ?
« Réponse #2 le: 06 Janvier 2014, 15:26:39 »
Strfind ? Je vois pas vraiment comment tu voudrais que j'applique ça pour extraire...
Je ne veux pas passer par diverses méthodes, je veux tout simplement extraire chacune des lettres (il y en a quatres) dans des variables, et ces lettres peuvent varier

Voici un exemple:
Code: (PAWN) [Sélectionner]
new string[4]="1234", nombre[4];
//Méthode pour extraire dans chaque case de l'array nombre
printf("%s %s %s %s", nombre[0], nombre[1], nombre[2], nombre[3]);
//Et la, "1 2 3 4" est affiché dans la console

[/url]

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Extraire les lettres d'une chaîne dans un array ?
« Réponse #3 le: 06 Janvier 2014, 17:47:29 »
A quoi ça sert d'extraire un array de 4 cases dans un autre array de 4 cases, je comprends pas.


Code: (pawn) [Sélectionner]
new string[5] = "1234";
new buffer[128] = "";
new i;


for(i = 0; i < sizeof(string); i++) format(buffer, sizeof(buffer), "%s %c", buffer, string[i]);
printf(buffer);



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Extraire les lettres d'une chaîne dans un array ?
« Réponse #4 le: 06 Janvier 2014, 18:23:07 »
Ah bah moi j'utilisais %s à la place de %c, ce qui à priori (ou du moins dans ma méthode) affichait les X premières lettres d'un string
Exemple:
Code: (pawn) [Sélectionner]
new formt[128], letter[5]="1234";
format(formt, sizeof(formt), "%s", letter[2]);
printf(formt); //Affiche "12"
J'vais voir si ça fonctionne IG et j'dis si c'est bon
Edit: Yup, ça marche, résolu
« Modifié: 06 Janvier 2014, 18:31:26 par Kiloutre »

[/url]

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : (Résolu)Extraire les lettres d'une chaîne dans un array ?
« Réponse #5 le: 06 Janvier 2014, 20:46:42 »
Désolé de squatter ton topic mais j'ai pas compris un truc là...
Dans ton précédent code, avec letter[2] et l'affichage sous la forme %s, c'est censé afficher une chaîne de caractères... or avec letter[2] c'est censé envoyer l'adresse mémoire de la troisième case... donc afficher 34. Quelqu'un peut m'expliquer vite-fait pourquoi ça lui afficherait 12 et ainsi faire de moi un être moins bête ?

 :huh:

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : (Résolu)Extraire les lettres d'une chaîne dans un array ?
« Réponse #6 le: 06 Janvier 2014, 21:18:42 »
Il s'est juste trompé.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : (Résolu)Extraire les lettres d'une chaîne dans un array ?
« Réponse #7 le: 06 Janvier 2014, 22:00:40 »
Oh que non, j'ai testé mainte et mainte fois et
Code: (pawn) [Sélectionner]
new string[5]="1234", ssk[128];
format(ssk, sizeof(ssk), "%s", string[2]);
printf(ssk);
ça affiche bien "12" :)

[/url]

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : (Résolu)Extraire les lettres d'une chaîne dans un array ?
« Réponse #8 le: 06 Janvier 2014, 22:46:36 »
C'est pas possible, tu as du foirer un truc.

J'ai essayé de mon côté.

Code: (pawn) [Sélectionner]
new string[128] = "0123456789abcdef";
new buffer[128];

printf(string);
printf(string[2]);

format(buffer, sizeof(buffer), string[2]);
printf(buffer);

format(buffer, sizeof(buffer), "%s", string[2]);
printf(buffer);

En sortie, j'ai.

0123456789abcdef
23456789abcdef
23456789abcdef
23456789abcdef



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog