C++ 什么';是系统(“CLS”)的简单替代品吗?
在阅读了为什么C++ 什么';是系统(“CLS”)的简单替代品吗?,c++,C++,在阅读了为什么system()是邪恶的之后,我决定不使用像system(“CLS”)和system(“PAUSE”)这样的功能。有没有不依赖操作系统的简单替代方案?没有标准的C++11替代方案可以替代Windows特定的系统(“CLS”),因为C++11不了解屏幕。但是,考虑使用GNU或(既在Linux上工作,又有Windows变体)。另请参见或有两种方法: 创建函数: void ClearScreen() { int n; for (n = 0; n < 10; n++)
system()
是邪恶的之后,我决定不使用像system(“CLS”)
和system(“PAUSE”)
这样的功能。有没有不依赖操作系统的简单替代方案?没有标准的C++11替代方案可以替代Windows特定的系统(“CLS”)
,因为C++11不了解屏幕。但是,考虑使用GNU或(既在Linux上工作,又有Windows变体)。另请参见或有两种方法:
创建函数:
void ClearScreen()
{
int n;
for (n = 0; n < 10; n++)
printf( "\n\n\n\n\n\n\n\n\n\n" );
}
void ClearScreen()
{
int n;
对于(n=0;n<10;n++)
printf(“\n\n\n\n\n\n\n\n\n\n”);
}
这只是创建一个显示100行新行的函数。慢,可怜,但它的工作
另外,不使用system(“cls”)
的唯一其他非操作系统依赖的方法是使用和,尽管它们对于较小的项目来说可能过于复杂
NCurses适用于Unix、Linux和其他POSIX系统,PDCurses适用于DOS、Windows、OS/2和其他一些随机系统。我没有一个适用于系统(“CLS”)的。但是您可以使用Sleep(int)函数。它不像系统(“暂停”)那样设置,但您可以设置其余部分。该函数可暂停程序任意时间。它的参数是一个整数,程序根据它的值休眠。它是以毫秒为单位的。因此,Sleep(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;
}
#包括cout的“iostream”//
#为Sleep()函数包含“windows.h”//
使用名称空间std;
int main(){
cout如前所述,没有“清除”屏幕的便携方式。但是,有一种“模拟”Windows系统(“暂停”)的便携方式,即
std::cin.get(); // waits for ENTER
是特定于Windows的。Linux上不存在它。为什么Ricky,您愿意解释一下吗?