什么是系统("CLS")的简单替代方案?
What's a simple alternative to system("CLS")?
在阅读了为什么system()
是邪恶的之后,我决定不使用像system("CLS")
和system("PAUSE")
这样的功能。有没有不依赖操作系统的简单替代方案?
有两种方法:
创建函数:
void ClearScreen()
{
int n;
for (n = 0; n < 10; n++)
printf( "nnnnnnnnnn" );
}
这只是创建了一个显示100条新行的函数。缓慢,可悲,但它是有效的。
另外,不使用system("cls")
的唯一其他非操作系统依赖的方法是使用ncurses和PDCurses,尽管它们对于较小的项目来说可能会过度使用。
NCurses适用于Unix、Linux和其他POSIX系统,而PDCurses则适用于DOS、Windows、OS/2和其他一些随机系统。
如前所述,没有可移植的"清除"屏幕的方法。然而,有一种可移植的"模拟"Windows的system("pause")
的方法,即
std::cin.get(); // waits for ENTER
没有标准的C++11替代Windows特定的system("CLS")
,因为C++11不了解屏幕。但是,请考虑使用GNU readline或ncurses(两者都在Linux上工作,并且都有Windows变体gnuwin32)。另请参阅POCO或Qt
我没有用于系统("CLS")的。但是您可以使用Sleep(int)函数。它不像系统那样设置("暂停"),但你可以设置其余的。该功能可以暂停程序,只要你愿意。它的参数是一个整数,根据它的值程序休眠。它是以毫秒为单位的。因此睡眠(1000)将暂停程序1000毫秒或1秒,因为1000毫秒=1秒。
#include "iostream" // for the cout
#include "windows.h" // for the Sleep() function
using namespace std;
int main(){
cout << "hello" << endl;
Sleep(6000); // pauses program or puts it to 'sleep' for 6000 ms or 6 s
return 0;
}
相关文章:
- 运行同一解决方案的另一个项目的项目
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 对于 ~95% 写入/5% 读取线程安全的无序列图,有没有一个简单的解决方案?
- 固定长度的最常见子字符串 - 需要简单的解决方案
- 简单的智能感知解决方案
- 简单程序没有输出和崩溃.我的解决方案有什么问题
- 在DLL中使用的最简单的C++PUSH通知/POST解决方案
- 简单解决方案的输出不正确
- 简单的尝试 c++ 的捕获循环解决方案
- 一个好的,简单的,便携式的解决方案,用于等待输入C++
- 遍历数组的简单任务.以下哪种解决方案最有效
- 什么是系统("CLS")的简单替代方案?
- 函数指针:从性能的角度来看,简单的规范使用是否不好?如果是这样的话,c++11的替代方案是什么
- 比迭代所有组合更简单的解决方案
- 无法链接简单的DLL解决方案
- 在一个文件夹(及其子文件夹)的所有文件上循环:最简单的解决方案
- 用于链接 HTTP->SOCKS5 代理的简单单行解决方案
- 绘制一个简单的库依赖关系方案