Informatică, întrebare adresată de ajutorr123, 7 ani în urmă

Pe baza unui driver de tip caracter, implementați o aplicație C care demonstrează funcționalitatea acestui driver (citește și scrie).


Cerințe suplimentare:

- aplicația se va compila folosind un script bash

- aplicația va primi un parametru de linie de comandă. În funcție de valoarea acestuia ea se va comporta astfel:

Parametru: -w

Demonstrează funcția de scriere

Parametru: -r

Demonstrează funcția de citire

Răspunsuri la întrebare

Răspuns de amaalia20
0

#include <stdio.h>

#include <fcntl.h>

#include <unistd.h>

int main(int argc, char *argv[])

{

   int fd;

   char buffer[100];

   if (argc < 2) {

       printf("Usage: %s [-r | -w] <file>\n", argv[0]);

       return 1;

   }

   fd = open(argv[2], O_RDWR);

   if (fd < 0) {

       perror("Error opening file");

       return 1;

   }

   if (strcmp(argv[1], "-r") == 0) {

       read(fd, buffer, sizeof(buffer));

       printf("Read: %s\n", buffer);

   } else if (strcmp(argv[1], "-w") == 0) {

       printf("Write: ");

       scanf("%s", buffer);

       write(fd, buffer, sizeof(buffer));

   } else {

       printf("Invalid option\n");

   }

   close(fd);

   return 0;

}

Scriptul bash:

#!/bin/bash

gcc -o app main.c

./app "$@"

Acest script compilă fișierul sursă main.c și creează un executabil numit "app". Apoi, execută aplicația cu argumentele transmise la linia de comandă.

Alte întrebări interesante