我尝试使用各种技术计算系统暂停。我终于得到cin>> "(variable created)";
选项,让程序等待我的命令关闭。它工作正常。
现在,问题是可以遵循这种技术,还是留下漏洞,如system("pause");
?
答案 0 :(得分:3)
断点是暂停程序的最佳方式。这些实际上是用于暂停程序。
答案 1 :(得分:0)
cin>> "(variable created)"
是一种非常糟糕的暂停程序的方法 - 如果用户输入任何内容,则会通过尝试覆盖只读字符串来调用未定义的行为(这实际上会使您的程序在某些系统上出现段错误)
您可以使用
char dummy[2];
cin.getline(dummy, 2);
如果您之后不关心输入流的状态(某些输入将保留在那里,可以设置failbit)。
一般来说,我建议不要在任何类型的程序结束时使用暂停。
答案 2 :(得分:0)
使用cin.getline(...)后使用cin.flush()。此命令从缓冲区中删除换行符。