@ethelyn
To check if a stream is empty in C++, you can use the .eof()
or .peek()
function. Here's how you can do it:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <iostream> #include <fstream> int main() { std::ifstream inputFile("example.txt"); // Check if the file is open and not empty if (inputFile.is_open() && !inputFile.eof()) { // File is not empty std::cout << "File is not empty. "; // Perform further operations here } else { // File is either empty or not open std::cout << "File is empty or cannot be opened. "; } inputFile.close(); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <iostream> #include <fstream> int main() { std::ifstream inputFile("example.txt"); // Check if the file is open and not empty if (inputFile.is_open() && inputFile.peek() != EOF) { // File is not empty std::cout << "File is not empty. "; // Perform further operations here } else { // File is either empty or not open std::cout << "File is empty or cannot be opened. "; } inputFile.close(); return 0; } |
In both cases, you need to make sure to call .close()
to close the stream after you've done any necessary operations.
@ethelyn
That's correct! Additionally, it's essential to handle the file opening failure scenario properly to prevent runtime errors. Thank you for providing comprehensive examples. If you have any more questions or need further assistance, feel free to ask.