什么是 EOF 键C++

what is EOF key in C++

本文关键字:C++ EOF 什么      更新时间:2023-10-16

我正在使用Windows 7 Ultimate。我是C++新手。以下是我对开关语句的练习。

void GradeBook::inputGrades()
{
    int grade;
    cout << "Enter Grade: " << endl;
    while((grade=cin.get()) != EOF)
    {
       switch(grade)
        {
            case 'A':
            case 'a':
                aCount++;
                break;
            case 'B':
            case 'b':
                bCount++;
                break;
            case 'C':
            case'c':
                cCount++;
                break;
            case 'd':
            case 'D':
                dCount++;
                break;
            case 'F':
            case 'f':
                fCount++;
                break;
           case 'n':
           case ' ':
           case 't':
               break;
            default:
                cout << "Incorrect data. Re Enter" << endl;
                break;
        }
    }
}

我在 netbeans 中运行它,我按下了所有组合 ctrl+c、ctrl+z、ctrl+d,但它并没有结束!!为什么?我做错了什么吗?请帮忙!!

EOF 字符是 Ctrl+Z,在 Windows 平台上后跟换行符。

据推测,Netbeans 中的控制台也是如此。

cin.get() 是相当低的水平。代码应使用更高级别的接口。它应该一次读取一个字符,所以这样写:

char grade;
while (cin >> grade)

流提取器将在文件末尾失败,这将使 while 循环终止。