2012-02-19 184 views
1

我正在使用C++在Xcode中制作图书馆管理系统。由于Xcode不支持conio.h这样的库,并且系统“cls”不起作用。当我希望从一个菜单切换到另一个菜单时,我应该使用什么代码清除屏幕?在Xcode清除屏幕

+0

你是在说一个命令行应用程序(你只需在Xcode中编写和启动)?还是一个Xcode插件?至少对我来说,你的问题不是很清楚。 – 2012-02-19 09:54:38

+0

系统(“清除”) – rasmus 2012-02-19 09:54:59

+0

我正在讨论命令行应用程序。抱歉。 – 2012-02-19 10:43:11

回答

2

看看这个。

https://discussions.apple.com/thread/1064635?start=0&tstart=0

没有直接的方法来做到这一点; system()命令在Mac(Unix)上不起作用。一种选择是使用代码添加很多空格,即\ n或其他方式是使用curses库 #include <curses.h>(curses.h),然后使用system("clear"),这基本上会做同样的事情。所以,最好是使用代码手动打印空格而不是使用某个库。

你可以为POSIX(UNIX,LINUX,Mac OSX版等)为基础的系统做一件事[注:我没有测试它自己]:

#include <unistd.h> 
#include <term.h> 
void ClearScreen() 
{ 
    if (!cur_term) 
    { 
    int result; 
    setupterm(NULL, STDOUT_FILENO, &result); 
    if (result <= 0) return; 
    } 
    putp(tigetstr("clear")); 
} 

你必须链接到合适的库(-lcurses,-lterminfo等之一)编译最后一个。 (来源:http://www.cplusplus.com/forum/articles/10515/