Due: Wed Oct 4th 6pm The concat problem. Using mmap, make me a program that takes N arguments, in1, in2, in3, ... out If any of the in1, in2, .. do not exist, bail with an error message. If out does exist, bail with an error message. Otherwise, make a file called out. Place into out the contents of in1, followed by the contents of in2, and so on. When you're done, sizeof(out) = sizeof(in1) + sizeof(in2) + ... The first byte of out is the first byte of in1. The last byte of out is the last byte of the last in file. You MUST use mmap to read and write files. You CANNOT use read and write. You should use madvise, telling the kernel that the memory is to be used sequentially. Sources: A program that copies file using mmap. http://stackoverflow.com/questions/17202741/why-does-mmap-fail-with-permission-denied-for-the-destination-file-of-a-file-c?rq=1 The MMAP man page https://linux.die.net/man/2/mmap The madvise man page http://man7.org/linux/man-pages/man2/madvise.2.html