我学习C++,文件处理。我遇到了一段我不懂的代码
cin.getch的用途是什么;在下面的代码中?为什么和什么时候我应该使用它,如果我不使用它会有什么问题 本代码是C++语言的计算机科学与C++教材。对于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.
#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完成的,它不会跳过前导空格,而不是>>运算符。