C ++: .eof für eine leere Datei

Sehen wir uns dieses Programm an:

ifstream filein("hey.txt");


if(filein.eof()){
    cout<<"END"<<endl;
}

Hier ist "hey.txt" leer. Die if-Bedingung hier sollte also zutreffen, ist es aber nicht

Warum gibt das eof nicht true zurück, obwohl die Datei leer ist?

Wenn ich dies vor demif das eof gibt zwar true zurückarr ist noch leer und die datei ist noch leer also beide unverändert

char arr[100];
filein.getline(arr,99);

Antworten auf die Frage(3)

Ihre Antwort auf die Frage