Ce que je vais faire est de créer un menu terminal qui prend différents types d'arguments et le place dans un tableau param. Sous est le code: Voici quelques problèmes que j'ai et je ne peux pas trouver une bonne solution pour.Création d'un menu de terminal avec un défi
si je tape simplement 'list' je vais obtenir Pas une commande valide, je dois taper "list" (liste et espace). Le choix du menu devrait être comme ceci: nouveau "Mon nom est bonjour". param [0] = new et param [1] = Mon nom est bonjour, (sow je peux créer un message avec des espaces).
Comment puis-je accomplir ceci?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
int menu()
{
printf(">");
char line[LINE_MAX];
int i = 0;
char *param[4];
while(fgets(line, LINE_MAX, stdin) != NULL) {
param[i++] = strtok(line, " \n");
if(param[0] != NULL) {
char *argument;
while((argument = strtok(NULL, "\n")) != NULL) {
param[i++] = argument;
}
}
if(strcmp(param[0], "new") == 0) {
//new(param[1]);
menu();
} else if(strcmp(param[0], "list") == 0) {
//list();
menu();
} else {
printf("Not a valid command.\n\n");
menu();
}
}
return 0;
}
Hmm maintenant il a été édité loin ...mais si c'est en quelque sorte lié à la cause du problème ?? –
Salut .. SOry, ma faute, est en ce moment. J'ai commenté ces fonctions, vous pouvez compiler le code. – user265767
désolé de la modification. Le programme ci-dessus souffre de nombreux problèmes (y compris la logique du programme) et la modification de ces commentaires est nécessaire. Mais pas de relation à la question: la question posée sur les choses hapenning avant les lignes avec les commentaires. – pmg