Peut on extraire une partie uniquement d'une chaine de caracter

Bonjour,

Pourquoi sortir les tanks (strtok et sscanf) pour si peu :wink:
Deux boucles et un pointeur suffit !

char test[] = "abc 123 def"; // La chaine de char d'origine
char *ptr = test; // Le pointeur vers le début de ta sous chaine (si elle existe)

// Avance le pointeur ptr jusqu'au premier espace, puis le saute
while(*ptr != ' ' && *ptr != '\0') ++ptr;
if (*ptr != '\0')
  ++ptr;
else
  return; // Si fin de chaine = pas de sous chaine trouvé -> return

// Cherche l'espace suivant puis le remplace par un \0 (fin de chaine)
while(*ptr != ' ' && *ptr != '\0') ++ptr;
if (*ptr != '\0') *ptr = '\0';

// ptr pointe désormais sur le morceau "123"

J'ai détaillé, mais en réalité ça fait 4 lignes de code :wink: