Загрузка...

[C] Explain how code works in labs

Thread in C/C++ created by Red_fox Dec 6, 2022. (bumped Dec 6, 2022) 255 views

  1. Red_fox
    Red_fox Topic starter Dec 6, 2022 .life{background-color:gray} 9139 Jan 29, 2020
    Есть уже готовые лабы на [C], но я не понимаю, как там работает код, а тратить кучу времени желания нет, есть кто может пояснить за код?
    Скину первые 2 лабы, но есть ещё 2.
    C
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>

    int main() {
    pid_t pid;
    pid = fork();

    if (pid == -1) {
    printf("Erorr");
    exit(1);
    }

    else if (pid == 0) {
    execl("/bin/ls", "/bin/ls", "/home/astsu", 0);
    }

    else {
    printf("Parent process");
    }

    return 0;
    }
    C
    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <unistd.h>

    int main() {
    int fd, result;
    size_t size;
    char name[] = "test.fifo";
    (void)umask(0);

    if (mknod(name, S_IFIFO | 0666, 0) < 0) {
    printf("Error in creating FIFO\n");
    exit(-1);
    }

    if ((fd = open(name, O_WRONLY)) < 0) {
    printf("Error in opening FIFO for writing\n");
    exit(-1);
    }

    while (1) {
    size = write(fd, "Hello, world!", 14);
    if (size != 14) {
    printf("Error in writing all string to FIFO\n");
    exit(-1);
    }
    }

    close(fd);
    return 0;
    }
     
  2. Red_fox
    Red_fox Topic starter Dec 6, 2022 .life{background-color:gray} 9139 Jan 29, 2020
    за помощь накину копейку...
     
  3. LVV
    Red_fox,
    определяешь потомок или родитель и возвращаешь параметр.
    при -1 - это ошибка, при функции 0 - работает теперь с потомком, в любых других случаях с родителем

    во 2, массив нэйм. в условии создаешь файл с указанием название и мод и если меньше нуля, то нельзя создать лист с первым входом и с первым выходом (логично почему)

    и в вайле просто переписываешь, где фд - это открытие файла (только запись) и инициализация была во втором ифе и записываешь туда по элементно массив.
     
Top
Loading...