我学习C++,文件处理。我遇到了一段我不懂的代码

我学习C++,文件处理。我遇到了一段我不懂的代码,c++,C++,cin.getch的用途是什么;在下面的代码中?为什么和什么时候我应该使用它,如果我不使用它会有什么问题 本代码是C++语言的计算机科学与C++教材。对于C++代码,我使用代码块。 #include<iostream> #include<fstream.h> using namespace std; int main() { ofstream fil; char name[80],ch; int age; fil.open("mytext.

cin.getch的用途是什么;在下面的代码中?为什么和什么时候我应该使用它,如果我不使用它会有什么问题

本代码是C++语言的计算机科学与C++教材。对于C++代码,我使用代码块。
#include<iostream>
#include<fstream.h>
using namespace std;
int main()
{
    ofstream fil;
    char name[80],ch;
    int age;
    fil.open("mytext.txt",ios::out);
    for(int i = 0;i < 5;++i)
    {
        cout<<"Enter your name";
        cin.get(name,80);
        cout<<"Enter your age";
        cin>>age;
        cin.get(ch);        // What is the purpose of this line?
        fil<<name<<"\n"<<age<<"\n";
    }
    fil.close();
    return 0;

}

有关详细信息,请参阅参考资料。这是一种奇怪的忽略下一个字符的方式,很可能是输入数字后的换行符。cin.getch提取下一个字符并将其放入ch中,而ch从未使用过。使用cin.ignore而不是提取到一个伪变量中会更有意义。

你的书不应该鼓励你使用字符数组-你应该使用std::string。此外,这也表明这本书已经过时了。嗨,最好用字符串代替数组char。fStf.h有什么不对?我认为它只是初学者的东西。这就是为什么它看起来“过时”了,如果我错了,我错了。在现代C++中没有fSt.h这样的东西。哦,我只是学习基础知识。我看到人们使用它,认为如果我运行程序时没有它,那么它就不能执行properly@AryanParekh抱歉,我忘记了第一次读取是使用cin.get完成的,它不会跳过前导空格,而不是>>运算符。