什么是用C EOF关键++(what is EOF key in C++)

2019-09-21 04:23发布

我使用的是Windows 7旗舰版。 我是新的C ++。 以下是我的锻炼switch语句。

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,但它没有结束! 这是为什么? 难道我做错了什么? 请帮忙!!

Answer 1:

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

据推测,这将是在NetBeans控制台相同。



Answer 2:

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

char grade;
while (cin >> grade)

流提取将无法在文件的末尾,这将使while循环终止。



文章来源: what is EOF key in C++
标签: c++ io