Вы должны поместить свой код в цикл. Например:
int main()
{
while (1) {
char input[30];
fputs("$ ", stdout);
fflush(stdout);
fgets(input, sizeof input, stdin);
system(input);
}
}
while (1) { ... }
- это бесконечный цикл. Единственный выход - это каким-то образом убить вашу программу. Чтобы выйти из цикла с помощью команды, вам нужно поместить в нее какое-то условие:
while (1) {
char input[30];
fputs("$ ", stdout);
fflush(stdout);
fgets(input, sizeof input, stdin);
if (strcmp(input, "exit") == 0) {
break;
}
system(input);
}
strcmp()
делает сравнение, чтобы увидеть, если вы ввели "выход". Если это так, то оператор break
выходит из ближайшего цикла, и ваша программа завершается.