我有一个程序,当输入命令(cin)帮助时,它会显示一个帮助说明。这个说明看起来有点像这样:
C ++
if (cmd == "help")
{
cout << "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n";
cout << "██ Help Menu ██\n";
cout << "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\n";
cout << "Press a key then enter to continue\n" << string( 10, '\n' );
cin.ignore();
return 0;
}
字符串var cmd是'help'。
我在Mac上编译它并包括:
C ++
#include <iostream>
#include <string>
using namespace std;
我可以用什么代码来完成这项工作? cin.ignore();
没有接缝做任何事情,而且cin.get();
答案 0 :(得分:0)
我想你可能想要这样的东西:
string input;
getline(cin, input);
答案 1 :(得分:-1)
while (x!='\n')
{
cin.get(x);
};
编辑: 好的,我已经做了一些挖掘。以上是我解决同样问题的方法。看起来你遇到麻烦的原因是你需要清理输入流才能使用cin.get()或cin.ignore()来等待ENTER,所以:
cin.ignore(INT_MAX,'\n');
cin.ignore();
最重要的是,你必须做两次才能使它发挥作用。