Cs337 system programming - for this assignment you need


System Programming - Programming Assignment

Topics: Low-Level Files in C.

For this assignment, you need only write a single-file C program.

Your program will:
- Obtain the following (in order) from the command line:
- A mode argument:
- -c create a new archive file
- -cr create recursive a new archive file
- -e explode an existing archive file
- A path argument:
- Specifies the directory (as either a relative path to the current working directory or an absolute path) that contains the files to be archived ( -c -cr ) or to serve as the root of the exploded archive ( -e )
- A file argument:
- Specifies the name of the archive file that is to be created / or added to. Note: by default this file will be in the current working directory, however by pre-pending a path this file can/could be anywhere you wish.

- Based on the command line arguments does one of the following:
- Create: Create a new archive file ( file ) that, for each regular (non-hidden) file in the directory specified by ( path ), contains the data required to restore the file's:
- Name
- Data
- Access Permissions

- Create Recursive: same as Create, but you also recurse into each sub-directory
(Note: Do Not recurse into . or .. )

- Explode: Create a regular file in the directory specified by ( path ), for each archived file in the archive file ( file ), such that it has the same name, access permission and is an exact copy of the original file that was archived.

- If you are looking for more fun ... consider (any combination of):
- Encrypt the files as you write them into the archive
- Compress the files as you write them into the archive

- Proper care (error reporting / program termination) when opening, creating, files and directories is required.

Sample Runs:
% ./archive -c . my_archive
archiving .
Done - my_archive as been created

% ./archive -cr ./classes my_archive
archiving ./classes
archiving ./classes/CS351
archiving ./classes/CS351/Progs
archiving ./classes/CS317
Done - my_archive as been created

% ./archive -e ./explode_test my_archive
exploding to ./explode_test
Done - my_archive as been exploded

Request for Solution File

Ask an Expert for Answer!!
C/C++ Programming: Cs337 system programming - for this assignment you need
Reference No:- TGS01680232

Expected delivery within 24 Hours