【发布时间】:2011-04-17 11:06:47
【问题描述】:
我有一些为 Turbo C 编译器编写的旧程序源代码。我对它们进行了更改,并希望在 Linux 和 Windows 的较新编译器中重新编译它们。所以请告诉我什么是最好的替代功能
getch(), delay() / sleep(), clrscr(), 高氧()
用于 C 和 C++。
【问题讨论】:
我有一些为 Turbo C 编译器编写的旧程序源代码。我对它们进行了更改,并希望在 Linux 和 Windows 的较新编译器中重新编译它们。所以请告诉我什么是最好的替代功能
getch(), delay() / sleep(), clrscr(), 高氧()
用于 C 和 C++。
【问题讨论】:
查看适用于 Unix 兼容系统的 ncurses 库。
【讨论】:
对于 Windows 系统:
最好将程序编译为 Windows 的控制台应用程序。
您可以直接将 Windows API 用于控制台窗口和控制台输出。 看看MSDN:Windows Console functions
以下是给定函数的可能替换项:
【讨论】:
system("cls") 应该为clrscr 做这项工作。 :)
在类 Unix 系统上,您可以使用 VT100 转义码替换 clrscr() 和 gotoxy()。 clrscr():
std::cout << "\033[2J" << std::flush;
请参阅 http://www.termsys.demon.co.uk/vtansi.htm 了解 gotoxy() 等。
【讨论】:
clrscr(),您可以使用system("cls");(可用于#include<stdlib.h>)。getch(),您可以使用system("pause");(也可以使用#include<stdlib.h>)。【讨论】:
system("pause") 是getch 的非常有限替代。并且 OP 也希望与 Linux 兼容,而且两者都是仅适用于 Windows 的......