我有一个小的惯例的运行在Linux和Windows C编写的,并显示出在控制台上。我不把任何形式的诅咒或者类似的东西。

目前我明确使用屏幕

#ifdef __WIN32
  system( "cls" );
#else
  system( "clear" );
#endif

然后,我有一堆printf的语句,以更新状况。我想只是重screenpointer到0,0所以我可以再仅仅是复盖我的printfs.我宁愿避免编写任何更多的扩展,特别是因为我编码,用于2种不同的操作系统.

有帮助吗?

解决方案 2

看起来像我可能已经找到windows具体的方式这样做 SetConsoleCursorPosition

Ansi逃生顺序\033[0;0for Linux-只是printf到控制台。

其他提示

为Unix平台,通常的方式来做到这一点是使用 诅咒 图书馆。

是的,用于unix平台,诅咒(或ncurses,这些天)的路要走。还有版本的工作在窗户,所以您可以做它以同样的方式在这两个系统。

Windows-你可以使用ANSI逃出的人物。

http://www.lexipixel.com/news/star_dot_star/using_ansi_escape_sequences.htm

http://www.robvanderwoude.com/ansi.html

printf "\x[0;0H"

它曾经是Ansi.sys 需要载你之前可以这样做,但它值得一试。

说明添加ANSI支持 http://www.windowsnetworking.com/kbase/WindowsTips/WindowsXP/UserTips/CommandPrompt/CommandInterpreterAnsiSupport.html 注:那Ansi.sys 只有作品command.com.你不能用它cmd.exe

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top