stdin redirection

Hello,
my C application under unix runs in redirecting stdin to a file.
Example:$appli1 <file1. This application waits often on a scanf().
But I would temporarely reassign stdin at the keyboard for waiting a user's answer. So I thought to add system("appli2"); in the code of appli1. In its main(), appli2 executes only scanf(), then exit(). But when appli2 exits then appli1 continues, stdin is still assigned to the keyboard instead of file1. But I would like that stdin stays assigned to file1.
Thank you for your answer.

To get user input from keyboard, open /dev/tty, read from it using scanf or read.

Thank you Binlib for your answer.
But my problem is not solved. I added this in my code:

int    pFile = -1;
pFile = open("/dev/tty",O_RDONLY);
if (pFile == -1)
 printf("�chec sur ouverture /dev/tty");
else
 printf("ouverture /dev/tty r�ussie");
scanf("%s", command);
close (pFile);

When I execute the code, after this, stdin stays assigned to the keyboard. I would like that it returns to file1.
So, if you can explain to me how reassign stdin to file1, I think that it will be won if i use lseek before and after opened /dev/tty.

Use fopen and fscanf instead.

I thank all people for helping me. And thanks for your suggestions, I have found the solution (using "freopen" and "fseek")