Comment configurer une fonction C qui divise les entrées utilisateur en plusieurs parties, et divise également les plus petites

J’essaie de développer une fonction C qui prend une ligne de saisie utilisateur, par exemple cette ligne

1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X 

(EDIT: Ceci est juste un exemple arbitraire de ce que l’utilisateur va entrer. Dans le programme actuel, il peut entrer n’importe où entre 1 et 48 paires de caractères de chiffres.)

L’idée est que l’utilisateur insère toute la ligne et la scinde en 9 parties (chaque paire de nombres et de caractères est une partie). Ensuite, le numéro et la paire de caractères seront également séparés (je pense que pour cette partie, ils appartiendront tous deux à une structure contenant une valeurValue et une valeurValeur).

Que puis-je utiliser pour séparer les entrées de l’utilisateur? Je suis relativement nouveau à C.

Une fonction que vous pouvez utiliser pour séparer la chaîne d’entrée de l’utilisateur est strtok() de la bibliothèque #include . Voici un exemple que vous pouvez utiliser pour diviser l’entrée en neuf parties.

 #include  #include  main (){ char word[] ="1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X"; int i = 0; char *p = strtok(word, " "); char *array[9]; while (p != NULL){ array[i++] = p; p = strtok(NULL, " "); } return 0; } 

Vous pouvez le faire à nouveau pour le diviser encore plus loin. Pour expliquer ce que fait strtok je vais expliquer avec ce code:

strtok(word, " "); . word est le contenu de la chaîne qui sera modifiée et " " avec sera le délimiteur de la chaîne.