Try to use getline instead of >> when getting the filenames. Also, always check wether your File.open() succeeds or fails. I guess that this is why your program crashes (no need for clear, you can reopen a file assuming you close it first, which you did).
The code below works just fine.
If someone knows a better way to remove the EOF character at the end of the file, plz tell :).
//Attempt to open the list of filenames
//Attempt to open the output file
//Loops though all filenames in the list
//Open the files in the list one by one
//Read one byte
//Filter out EOF character
//(There must be a better way than this...)
if(Buffer != 'ÿ')
NewFile << Buffer;
//Add a newline (formating purposes)
NewFile << endl;