Извините, заголовок может не иметь смысла, не был уверен, что назвать его.Могу ли я нажимать пользовательский ввод из программы
//history of the 10 previous commands
char *history[10][140];
while (1) {
printf("Enter command:");
fgets(input, MAX, stdin);
//Handle other commands
//true if user entered command to call previous command
if(thisIsTrue){
//strToInt gets number from the user input
int histNum = strToInt(input);
char *nextinput = history[histNum];
//Not sure what to do here
}
}
Таким образом, я могу получить nextinput, что необходимо, однако я не знаю, как передать это в следующем цикле, поскольку большинство команд принимаются от пользователя ввода команды, для этого, если заявление (если пользователь ввел определенную команду), необходимо выполнить старую команду. Я храню старые команды в истории и могу получить следующий вход, который необходим, я просто не уверен, как передать его через следующий цикл. Есть ли способ имитировать пользовательский ввод, так что fgets будет пинать nextinput или как еще я это сделаю? (Предпочли бы не CopyPaste все (// обрабатывать другие команды) в если заявление.
Example of program running:
Enter command:command1
Enter command:command2
Enter command:command3
Enter command:command4
Enter command:command5
Enter command:command6
Enter command:command7
Enter command:command8
Enter command:command9
Enter command:command10
Enter command:command11
Enter command:command1
Enter command:hlist
4 command4
5 command5
6 command6
7 command7
8 command8
9 command9
10 command10
11 command11
12 command1
13 hlist
Enter command:!11
command11 //this is the value of new_input
Я просто не знаю, как толкать command11 в то время цикла
Ах спасибо, так просто, полностью упустил это! –