CodingHowTo

Check If a File Exists and Is Readable (C++17)

Check If a File Exists and Is Readable (C++17)

Content

Here's a simple example of how to check if a file exists and is readable using C++17:

        
#include <iostream>
#include <fstream>

bool isFileReadable(const std::string& filename) {
    std::ifstream file(filename);
    return file.good();
}

int main() {
    std::string filename = "example.txt";
    
    if (isFileReadable(filename)) {
        std::cout << "The file is readable." << std::endl;
    } else {
        std::cout << "The file does not exist or is not readable." << std::endl;
    }

    return 0;
}
        
    

Explanation:

  • We include the necessary headers: `` for input/output operations and `` for file stream operations.
  • We define a function `isFileReadable` that takes a filename as an argument and returns a boolean indicating whether the file is readable.
  • Inside the function, we create an `ifstream` object to open the file. The `good()` method checks if the stream is in a good state, meaning the file exists and can be read.
  • In the `main` function, we specify the filename and call the `isFileReadable` function to check its readability.

Conclusion

Checking if a file exists and is readable is an essential step in file handling operations. By using C++17's standard library, you can easily validate files before processing them in your application. This method ensures that your program behaves predictably and avoids unnecessary errors related to file access.