什么是C ++中的clear()方法?

时间:2017-10-24 19:48:12

标签: c++

你可以帮助我,我想了解clear(),它的用途是什么; 如果在此程序中不使用此方法会发生什么。我只知道clear()就是这样,它用于清除错误标志。

#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
void add()
{
    char name[21];
    ofstream k("friends.frn", ios::app);
    cout << "Enter your name : ";
    cin.getline(name, 21);
    cin.clear();
    fflush(stdin);
    k << name;
    k << '\n';
}
int main()
{
    int ch;
    while (1)
    {
        cout << "1. Add"; << endl;
        cout << "2. Exit"; << endl;
        cout << "Enter your choice : ";
        cin >> ch;
        cin.clear();
        fflush(stdin);
        if (ch == 1) add();
        if (ch == 2) break;
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

clear()本身不是标准函数。它仅作为几种标准类型的成员函数存在于标准库中。所以cin.clear()的行为与其他班级的行为不同。 clear()方法。实现clear()的每个类都以对该类型合理的方式执行。例如,std::string::clear()将导致字符串为空。

有关标准clear()成员方法的列表,请参阅cppreference.com上的here