我想清除屏幕上的所有文本。我试过使用:
#include <stdlib.h>
sys(clr);
提前致谢!我正在使用 OS X 10.6.8。对困惑感到抱歉!
清除屏幕的最佳方法是通过system(const char *command)
stdlib.h 中的 shell 调用:
system("clear"); //*nix
或者
system("cls"); //windows
再说一次,尽量减少对调用系统/环境的函数的依赖总是一个好主意,因为它们会导致各种未定义的行为。
视窗:
system("cls"); // missing 's' has been replaced
Unix:
system("clear");
您可以将其包装在一个更便携的代码中,如下所示:
void clearscr(void)
{
#ifdef _WIN32
system("cls");
#elif defined(unix) || defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))
system("clear");
//add some other OSes here if needed
#else
#error "OS not supported."
//you can also throw an exception indicating the function can't be used
#endif
}
请注意,对 unix 的检查非常广泛。这也应该检测到您正在使用的 OS X。
此功能或类似 clrscn() 之类的功能的可用性非常依赖于系统且不可移植。
您可以保持非常简单并拥有自己的功能:
#include <stdio.h>
void clearscr ( void )
{
for ( int i = 0; i < 50; i++ ) // 50 is arbitrary
printf("\n");
}