3

ctrl-z を使用して EOF または EOT を通知することは一般的に時代遅れであり、推奨されないことを理解していますが、フードの下で何が起こっているのか興味があります。

C++ で次のようなものがあるとします。

#include <iostream>
#include <string>

int main() {
    while (!cin.eof()) {
        string str;
        getline(cin, str);
    }
    cout << "out of while" << endl;
    return 0;
}

abc[^Z][改行] を実行しても、プログラムは実行されます。abc[^D][改行] も同様です。

しかし、純粋に [^Z][改行] を含む行を入力すると、プログラムは正しく存在します。

OS固有の可能性が高いことは理解していますが、そこで何が起こっているのか興味があります。

4

1 に答える 1