У меня есть упражнение, в котором меня просят дополнить код, чтобы его выполнение получилось в результате, эквивалентном $ date> out.txt
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#define NEWFILE (O_WRONLY | O_CREAT)
#define MODE644 (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
int main() {
int fd;
if (fork() == 0) {
//// Code Here for add/// Result
fd=open("out.txt",NEWFILE,MODE644);
dup2(fd,1);
close(fd);
execlp("date",NULL);
exit(0);
}
wait(NULL);
}
Я не могу понять три добавленные строки:
fd=open("out.txt",NEWFILE,MODE644);
dup2(fd,1);
close(fd);