首页 / LINUX / 按任意键继续在Linux C中
按任意键继续在Linux C中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了按任意键继续在Linux C中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2278字,纯文字阅读大概需要4分钟。
内容图文
![按任意键继续在Linux C中](/upload/InfoBanner/zyjiaocheng/950/1c52907acfe645e28303b7a137d95fe1.jpg)
我不确定在Linux中是否有任何不同,但我在网上发现这个:
cout << "Press Enter to Continue...";
cin.ignore(numeric_limits<streamsize>::max(),'\n');
应该足够了#include< limits>在标题当然.
但是,它似乎在我的程序中不起作用.
它编译,运行,但它不等待.
基本上,我有一个菜单,导致方法调用显示屏幕上的人员列表.我希望在系统返回菜单之前暂停该列表.
这是菜单中的代码:
//Manager's Menu
void SelectionPage::showManagerMenu(){
char option;
while(true)
{
system("clear"); //Clears the terminal
cout<<" Flat Manager's Menu"<<endl<<endl; //Display manager's menu
cout << "Select Manager option" << endl;
cout << "a) Add a new Flat Member" << endl;
cout << "b) Delete an existing Flat Member" << endl;
cout << "c) List Flat Members" << endl;
cout << "d) Duties" <<endl;
cout << "e) Resources" <<endl;
cout << "f) Reset System" <<endl;
cout << "q) Exit" << endl;
cout << "make selection: ";
cin >> option;
switch(option) { //Takes the user to the corresponding menu or method
case 'a': system("clear");
memberList.addNewFlatMember(points);
break;
case 'b': system("clear");
memberList.deleteFlatMember();
break;
case 'c': system("clear");
memberList.listFlatMembers();
break;
case 'd': system("clear");
showDutiesMenu();
break;
case 'e': system("clear");
showResourcesMenu();
break;
case 'f': //reset();
break;
case 'q': exit(0);
default: cout << "Option not recognised: " << option << endl;
showManagerMenu();
}
}
}
我想选择的选项是c)导致:
//Show the current flat population
void MemberManagement::listFlatMembers(){
cout<<" Member List"<<endl<<endl;
importFlatMembers(); //get flat member info from file
for( int count = 0; count<flatMemberList.size(); count++){
cout << count+1<<". "<<flatMemberList[count].getName() << endl;
}
cout << "Press any key to Continue...";
cin.ignore(numeric_limits<streamsize>::max(),'\n');
return;
}
如果你想看到我的代码中的任何其他部分,请随时告诉我.
提前致谢.
解决方法:
在* nix中,终端通常在向程序发送任何内容之前等待整行输入.这就是为什么你发布的示例代码说“按Enter继续…”;然后丢弃所有内容直到下一个换行符.
为避免这种情况,您应将终端置于非规范模式,这可以使用POSIX termios(3)函数完成,如How to check if a key was pressed in Linux?中所述.
内容总结
以上是互联网集市为您收集整理的按任意键继续在Linux C中全部内容,希望文章能够帮你解决按任意键继续在Linux C中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。