有没有类似于Ncurses的C++库,但对于Windows?似乎没有Ncurses的端口,我需要一个非常好的显示系统.
有什么建议?跨平台是一个加号.
我有一些问题静态地将ncurses链接到我的一个程序
这是一个非常简单的示例程序:
#include<ncurses.h>
int main(){
initscr();
printw("Hello world\n");
refresh();
getch();
endwin();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我用它编译它
gcc -static -lncurses hello_curses.c -o curses
Run Code Online (Sandbox Code Playgroud)
我收到这些错误:
/tmp/ccwHJ6o1.o: In function `main':
curses_hello.c:(.text+0x5): undefined reference to `initscr'
curses_hello.c:(.text+0x14): undefined reference to `printw'
curses_hello.c:(.text+0x1b): undefined reference to `stdscr'
curses_hello.c:(.text+0x20): undefined reference to `wrefresh'
curses_hello.c:(.text+0x27): undefined reference to `stdscr'
curses_hello.c:(.text+0x2c): undefined reference to `wgetch'
curses_hello.c:(.text+0x31): undefined reference to `endwin'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我有点困惑为什么这不起作用.我在这里错过了什么?
这是我发布堆栈溢出的第一篇文章.多年来我一直潜伏在这个网站上获取信息,它总是有用的,所以我想我会发布我的第一个问题.
我一直在寻找一些类似的例子,但似乎找不到任何东西.
最后,我正在尝试编写一个简单的文本ui,用于在文本提取程序中查找误报和漏报.误报模块是一个简单的是/否选择,显示彩色文本和使用getch()很容易.然而,假阴性部分变得困难.
所以这就是我想要做的:
有什么想法甚至开始吗?我正在尝试简单的事情,比如在屏幕上保留文字并移动光标,但无济于事.
我知道curses.textpad.TextBox()模块,但它执行编辑,如插入和删除,我不想这样做.也许有一种方法可以禁用它.
我还有其他问题,但我现在还会详细说明.
谢谢!!
尼尔
编辑:更具体地说,我不是在寻找编写整个程序的帮助,只是帮助将光标移动到显示的文本上,突出显示它,然后选择它并在变量中保存它.
我见过很多控制台应用程序(在Windows上运行),里面有一些对话框和小部件.比如说:

还有更多.现在我的问题是:是否有任何库(在C中)用于在Win32控制台应用程序中创建对话框和小部件?
更新:看过pdcurses,但它缺少真正的ncurses库中的库,如menu.h和form.h. 那么还有其他易于使用的吗?谢谢你!:)
我想写一个远程控制台,像telnet服务器一样工作.用户可以使用telnet登录服务器,然后编写一些命令来完成一些工作.
一个很好的例子是路由器操作系统的控制台.我现在困惑的是,我可以接受用户的输入,做一些然后打印一些文本,但我想使用ncurses使控制台具有更多功能(例如"cmd auto-complete",语法颜色...... ),那我该怎么办呢?因为控制台在用户端,如果服务器调用ncurses API,它只会改变服务器上的东西......
也许这是一个愚蠢的问题,但我真的是新手.任何建议表示赞赏.
一个更简单的生活
我回到C,帮助重振我的编程盘.我最后一次学习编程是在大学和MSDOS上的Turbo C一起工作.一旦我发现Borland友好的<conio.h>包括在内,简单的ASCII动画就成了一种痴迷.很多乐趣gotoxy与textcolor功能有关,不久之后我就开始编写像蛇和乒乓球这样的游戏.学习一门语言是一种非常有益的方式,每一场比赛都让我更加雄心勃勃.
ncurses的
我想从类似的游戏类型项目开始.今天虽然,我正在一个带有尘土飞扬的linux机器的Mac上.我可以在dosbox(一个无处不在的平台)中启动我心爱的Turbo C,但我想学习C,这样我就可以在任何BSD或unix平台上开发自然编译的东西.我被告知ncurses是前进的方向,但GNU网站已基本消失了.回到那一天,我有了友好的textmode功能,而且我是一个print远离乒乓球的表情.ncurses似乎更强大.
嗖
必须有很多人处于这种状况.我正在寻找一个相关的教程或资源,可以帮助我解决ncurses是什么以及如何使用它.任何提示或类似的故事也会引起极大的兴趣!
我想知道是否有任何树库可用于(n)诅咒.
我正在尝试编写一个显示文件夹树的组件,如果有一个可以执行此操作的预构建curses组件,那就很好奇.
我检查了'核心'诅咒以及像CDK这样的图书馆 - 我似乎找不到任何东西.
如果不存在,我不反对建立自己的 - 但我似乎找不到任何体面的教程,所以在这方面的任何帮助也将非常感激.
谢谢,Ace
我似乎无法找到任何关于curses.newwin和curses.subwin之间差异的信息
你知道任何?
我希望屏幕分为3个不同的部分,具有不同的更新时间(并非每个按键都必须更新所有内容).这是正确的方向吗?
谢谢
我还是C和ncurses的新手.我被要求做一个涉及制作多线程乒乓球比赛的作业.游戏运行正常并以正确的丢失条件结束但在终止时我的终端全部搞砸了.我得不到回音,所以我必须输入stty echo才能得到它,即使这样终端表现得很奇怪.
我的最终功能如下:
void wrap_up(){
curs_set(1);
clear();
endwin();
refresh();
}
Run Code Online (Sandbox Code Playgroud)
这是一个截图.我如何解决它?

我想int addwstr(const wchar_t *wstr);在Perl6中使用ncurses 函数.
我怎么能得到一个传达const wchar_t *wstr的Perl 6签名addwstr?
use v6;
use NativeCall;
constant LIB = 'libncursesw.so.5';
sub addwstr( ? ) returns int32 is native(LIB) is export {*};
Run Code Online (Sandbox Code Playgroud)