2021-03-31 14:52:07 +02:00
|
|
|
|
# Topic 2 – Little warmup
|
2021-03-24 14:44:17 +01:00
|
|
|
|
|
|
|
|
|
## Task
|
|
|
|
|
|
|
|
|
|
I'm sure you are all proficient C/C++ programmers, but - just in case you had a long break and forgot some things - lets do a little warmup.
|
|
|
|
|
|
|
|
|
|
Write your own version of Unix "cp" (copy) command.
|
|
|
|
|
|
|
|
|
|
As a bare minimum - please write a program that:
|
|
|
|
|
- [x] accepts source and destination filenames as its arguments (you DO remember how to use argc and argv ?)
|
|
|
|
|
- [x] makes a copy of indicated file
|
|
|
|
|
- [x] returns 0 on success, any non-zero value on error
|
|
|
|
|
- [x] uses ONLY POSIX I/O functions (open, close, read, write - consult appropriate manuals)
|
|
|
|
|
|
|
|
|
|
NOTICE: Do not assume, that you can read entire file into memory. Please read manuals carefully - pay attention to each function's return value!
|
|
|
|
|
|
|
|
|
|
I'm sure this task will prove to be to easy to some of you - in this case you can extend your program - for example you can add features to allow:
|
|
|
|
|
- [x] copy source_file dest_dir (copy source file to the indicated directory, keeping its name)
|
|
|
|
|
- copy file1 file2 file3 dest_dir (copy files file1...file3 into destination directory)
|
|
|
|
|
- ... ?
|
|
|
|
|
|
|
|
|
|
As a solution - provide your source code here.
|