У меня есть strtok для назначения данных переменной cmd из пользовательского ввода. Как я могу определить, пуст ли cmd? Аналогично проверки, если CMD является д, как показано ниже:Обнаружение пустого токена в C
void readcmd() {
char read_input[50];
char* cmd;
char* param;
scanf("%[^\n]%*c",read_input);
cmd = strtok(read_input, " ");
param = strtok(NULL, " ");
if (strcmp(cmd, "q") == 0) {
printf("quitting\n");
exit(0);
}
run(cmd, param);
}
что вы подразумеваете под _empty_ ? 'NULL'? –
Если в вашей строке нет действительных токенов, т. Е. Слов, первый вызов 'strtok' возвращает' NULL'. (И вы должны проверить нулевые токены и не передавать их другим функциям. Например, 'strcmp (cmd," q ")' может вылетать, когда 'cmd' является' NULL'.) –
Как и в случае, когда пользователю предлагается ввести вход, они просто нажимают return. – calmcalmuncle