Saisie clavier - séparer les arguments
Bonjour,
lors d'unr saisie sur stdin je dois séparer la "commande" des differents arguments que l'utilisateur saisit. La saisie se fait sous forme suivante
Que pensez vous du code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
/*
* Reads the command on stdin
*
* */
void CO_get(char* buffer, char* cmd, char* args)
{
cmd = fgets(buffer, MAX_STDIN_LENGTH, stdin);
if (cmd != NULL)
{
// splits command from args
args = strchr(buffer, ' ');
if (args != NULL)
{
*args = '\0';
// points to arguments
args++;
}
char* tmp = strchr(args, '\n');
if (tmp != NULL)
{
*tmp = '\0';
}
if( cmd != NULL ) printf("cmd: %s\n", cmd);
if( args != NULL ) printf("arg: %s\n", args);
}
} |
merci