Write a C program (partcopy) that allows a user to extract some part of an existing file (fileSource) and copy it to a new file fileTarget. The user can specify the number of bytes (num1) from the beginning of filesource, how many bytes (num2) that will be extracted from it, and the new fileTarget name.
>partcopy num1 num2 filesource fileTarget
For instance, if the executable name is partcopy, extract 500 bytes from [url removed, login to view] starting from the beginning of the file:
>partcopy 0 500 [url removed, login to view] [url removed, login to view]
For instance, if the executable name is partcopy, extract 300 bytes from [url removed, login to view] starting at 50 bytes from the beginning of the file to [url removed, login to view]:
>partcopy 50 300 [url removed, login to view] [url removed, login to view]
You need to use command line argument to acquire the num1, num2, and filetarget name. ( 5pts)
You need to use open() system call to open an existing file. Print out the error message if the filesource does not exist byusing perror() function. (5 pts)
You need to check if the size of filesource againt the sizes of num1 and num2. Print out the warning message if the file size is smaller than num1+ num2. In this case, your program will just copy the content up to the end of the source file. This is the situation that the file size is too small to copy the requested size of the content. (10 pts)
Once the filesource is open, use lseek() system call to move the file pointer to the proper location for starting reading: num1 from the beginning of the filesource file. ( 20 pts)
Create a new file fileTarget and use read() and write() system call to copy the content from filesource to fileTarget for num2 [url removed, login to view] files when extraction process is complete. 20 pts)
Thing to Submit:
A c source code partcopy.c with header, error checking including max size of file content you can copy, and documentation as comments in the program. If num1+num2 is greater than the size of filesource, your program may only copy up to the end of the file.
Testing results with screen shots to prove a working copy of executable according to the instruction. You testing cases should include proper num1_num2 and in-proper num1+num2.
The system call manual can also be accessed at the following links other then eve machine:
[url removed, login to view]:system-calls:write (with examples)
[url removed, login to view]
[url removed, login to view]
7 freelancers are bidding on average $26 for this job
I am an expert of C and C++ having more then 1 year experience of development. I developed many projects of different fields. I can you this job for you in a very nice way.
Hello Sir, We read your description We have lot of experience in this filed We can do that also If you want We are available for start work right now I am waiting your response Thank you so much.