我读过getchar()
实际上应优先于_getch()
(_getch()
还需要包括conio.h
]。但是,如果我使用getchar()
这个示例程序......
#include <iostream>
#include <conio.h>
using namespace std;
class student {
int id;
int marks;
public:
void getdata() {
cout << "\n Enter id";
cin >> id;
cout << "\n Enter marks";
cin >> marks;
}
void putdata() {
cout << "\n" << id << "\t" << marks;
}
};
int main() {
student tom;
tom.getdata();
tom.putdata();
getchar(); // vs. _getch();
return 0;
}
..然后使用getchar()
将不会等待输入字符以防止控制台窗口过早关闭,_getch()
会这样做。
有谁知道这个的原因? getchar()
是否应优先于_getch()
?
BTW,我正在使用MS Visual Studio 2015。
提前致谢并致以亲切的问候
编辑:我认为我的问题实际上并不是重复,因为我想知道不同行为的原因,这在“C ++中是否有一个像样的等待函数?”中没有得到解答。现在澄清了。