-
Notifications
You must be signed in to change notification settings - Fork 0
AdelinNicolaeS/TAR-Archive
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Citim din stdin pe cate o linie comenzile cerute pana primim comanda "exit", care închide programul. Reținem primul cuvânt al comenzii. Dacă acesta este "create", stabilim in continuare dacă au fost citiți suficienți parametri. In caz afirmativ, zeroizam toate variabilele pe care le vom folosi, parcurgând fișierele "files.txt" si "usermap.txt" din care extragem toate informațiile necesare headerului, interpretate corespunzător (eventual valorile numerice transformate in octal). Valoarea chksum o calculam ca suma a octeților celorlalte componente ale headerului, dupa care scriem in arhiva pentru fiecare fișier headerul, conținutul propriu-zis completat cu 0-uri pana la obținerea unei dimensiuni multiplu de 512. La finalul arhivei, scriem o zona de 512 octeți de 0. Pentru aceste instrucțiuni folosim o abordare modularizata. Daca primul cuvânt citit este "list", verificam daca numarul de parametri este cel potrivit, dupa care, in caz afirmativ, parcurgem arhiva, căutând numele fiecărui fișier conținut si afișându-l in stdout, sărind prin citire numărul de octeți corespunzători dimensiunii fișierului. Daca primul cuvânt citit este "extract", verificam numărul de cuvinte citite in continuare, apoi parcurgem arhiva, verificând daca fișierul cautat exista ca nume intr-un header, caz in care copiem octeții corespunzători fișierului intr-un alt fișier cu numele "extracted_nume_fisier".
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published