【问题标题】:Replacement for <conio.h> in Linux在 Linux 中替换 <conio.h>
【发布时间】:2011-04-07 09:04:40
【问题描述】:

我需要将 Windows C++ 项目转移到 linux,但是我目前使用的 MS <conio.h> 与 linux 或标准不兼容。你建议用什么头文件替换它以在 Linux 中使用?我更希望答案是跨平台。

【问题讨论】:

  • 在 Win32 上也不是标准的;例如,Microsoft 和 Borland 编译器都提供了该名称的标头,每个都包含不同的函数和接口。那么我们在这里谈论的是谁?
  • 这比 Borland 的接口 (msdn.microsoft.com/en-us/library/7x2hy4cx%28v=VS.71%29.aspx) 小很多,而且大部分都可以用 stdio 或 iostream 函数代替。忽略无论如何只能在 Win95 中工作的端口 I/O 函数,_kbhit()_ungetch() 是唯一不容易被标准调用替换的函数。 ncurses 的getch() 可以用超时调用,可以用来代替_kbhit 的很多用法。

标签: c++ linux compatibility


【解决方案1】:

有一个基于 NCurses 的 Linux Conio.h 替代版本。

http://sourceforge.net/projects/linux-conioh/

【讨论】:

  • +1...只要他指的是 Borland 的 conio 而不是微软的!?
  • 没错,但是在 Borland 和 Microsoft 实现中,最常用的功能,如着色、gotoxy 等都是相同的。
  • Microsoft 的界面 (msdn.microsoft.com/en-us/library/7x2hy4cx%28v=VS.71%29.aspx) 中既没有颜色也没有 gotoxy,与 Borland 界面相比,它是最小的。然而 Borland 界面几乎是微软的超集,所以这可能确实适合。
【解决方案2】:

你会想要 ncurses。

http://en.wikipedia.org/wiki/Ncurses

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2010-11-25
    • 2016-02-13
    • 1970-01-01
    相关资源
    最近更新 更多