Перенаправление ввода / вывода оболочки - PullRequest
0 голосов
/ 04 апреля 2019

Я застрял с этим методом, где он сканирует argv для любого использования <или>, которые указывают перенаправление ввода или вывода // команда [arguments] [ oufile]

Я реализуюметод перенаправления, который открывает файл для чтения / записи из него.любая помощь будет принята с благодарностью.

void do_redirect(char **argv)
{
    int i;


    for(i=0; argv[i]; i++)
    {
            if (!strcmp(argv[i],"<")) {


                   int fp1 = open(argv[i+1] , O_WRONLY|O_CREAT, 0);                                             
                   dup2(fp1, STDIN_FILENO);
                   argv[i]=NULL; 
                   close(fp1);
            }
            else if (!strcmp(argv[i],">")) {

                    int fp2 = open(argv[i+1] , O_WRONLY|O_CREAT, 0); 
                    dup2(fp2, STDOUT_FILENO);
                    argv[i]=NULL;
                    close(fp2);
            }
       }

 }
...