Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need help finishing my code for c++17 #include #include #include using namespace std::filesystem; int main() { const std::filesystem::path from{/nonexistent1/a}, to{/nonexistent2/b}; try { std::filesystem::copy_file(from, to);

I need help finishing my code for c++17

#include
#include
#include

using namespace std::filesystem;

int main()
{
const std::filesystem::path from{"/nonexistent1/a"}, to{"/nonexistent2/b"};
try {
std::filesystem::copy_file(from, to); // throws: files do not exist
}
catch(std::filesystem::filesystem_error const& ex) {
std::cout
<< "what(): " << ex.what() << ''
<< "path1(): " << ex.path1() << ''
<< "path2(): " << ex.path2() << ''
<< "code().value(): " << ex.code().value() << ''
<< "code().message(): " << ex.code().message() << ''
<< "code().category(): " << ex.code().category().name() << '';
}

// All functions have non-throwing equivalents
std::error_code ec;
std::filesystem::copy_file(from, to, ec); // does not throw
std::cout << "non-throwing form sets error_code: " << ec.message() << '';
}

Here are the requirements:

Read a filename from the user

· Create a path from the string (just assign the string to a path variable)

· Check if the path exists using bool exists( const std::filesystem::path & p );

(1) If not, output a message to indicate that

· Remove the file using bool remove( const std::filesystem::path & p );

· Just put this in an infinite loop so you can try different scenarios

· Here are 3 scenarios to try – results may vary depending on the compiler and platform:

(1) The file does not exist

(2) The file exists and is not opened by any process

(3) The file exists, but it is currently opened by another process

This should be the output (user input in bold):

Enter a file name to remove:notafile

"notafile" does not exist

Enter a file name to remove:erasethis.txt

Enter a file name to remove:tmp.txt

what(): remove: The process cannot access the file because it is being used by another process.: "tmp.txt"

path1(): "tmp.txt"

code().value(): 32

code().message(): The process cannot access the file because it is being used by another process.

code().category(): system

Step by Step Solution

3.38 Rating (164 Votes )

There are 3 Steps involved in it

Step: 1

Here is the modified code to fulfill the requirements you have ment... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Accounting for Decision Making and Control

Authors: Jerold Zimmerman

9th edition

125956455X, 978-1259564550

More Books

Students also viewed these Computer Engineering questions