找回密码
 立即注册
搜索
查看: 1403|回复: 6

写ncurses的高手有没有,帮我看看这个关键字是什么意思?

[复制链接]

103

主题

921

回帖

1038

积分

金牌会员

咱就是一个农民

积分
1038
发表于 2008-5-15 09:18:34 | 显示全部楼层 |阅读模式
关于这段代码:
#include <ncurses.h>
2
3 #define INTERM “/dev/ttyp1”
4 #define OUTTERM “/dev/ttyp2”
5
6 int main(void)
7 {
8 FILE *termin,*termout;
9 SCREEN *tp1,*tp2;
10 char name[81];
11
12 /* 打开终端一,
13   终端二*/
14 termin = fopen(INTERM,”r”);
15 termout = fopen(OUTTERM,”w”);
16 if( termin==NULL || termout==NULL )
17 {
18 puts(“Unable to open terminal.”);
19 return(1);
20 }
21
22 /* 建立新的终端连接 */
23 tp2 = newterm(NULL,termout,termin);
24 if( tp2 == NULL)
25 {
26 puts(“Unable to open terminal window.”);
27 return(2);
28 }
29
30 /* 已建立终端 */
31 tp1 = set_term(tp2);
32 printw(“Welcome to NCurses output on terminal %s.\n”,OUTTERM);
33 printw(“You can type on terminal %s, and see it ;
here.\n”,INTERM);
34 addstr(“What is your name: “);
35 refresh();
36 getnstr(name,80);
37 printw(“%s, glad to have you aboard!”,name);
38 refresh();
39 getch();
40
41 endwin();
42 return 0;
43 }

现在的情况是,我知道了newterm()的意思是代替initscr()函数,但好像还不止,newterm()好像还将窗口用VC那样,还有句柄,
如果是,应该打开终端,然后建立窗口,但第23行好像直接就建立了窗口,有点搞不明白,请高手告诉一下

152

主题

1059

回帖

1619

积分

金牌会员

抗日版学员

积分
1619
发表于 2008-5-16 15:14:56 | 显示全部楼层
腌,不太懂哟,顶一下
购买国货精品,是你作为中国人的“自私”!!!
回复

使用道具 举报

103

主题

921

回帖

1038

积分

金牌会员

咱就是一个农民

积分
1038
 楼主| 发表于 2008-5-16 16:00:33 | 显示全部楼层
我做了几个测试,终于明白了,是什么意思。首先screen是一个概念,termial又是一个概念,然后screen类似vc里面的窗口,termial可以说是缓存里面的句柄
用这个小程序就一下明白了
#include <ncurses.h>

int main(void)
{
   SCREEN *s;

   s = newterm(NULL, stdout, stdin);
   set_term(s);

   addstr(“Hello!”);

   refresh();
   getch();

   endwin();
   delscreen(s);
   return 0;
}

评分

参与人数 1金钱 +5 收起 理由
leibin + 5 原创内容

查看全部评分

回复

使用道具 举报

103

主题

921

回帖

1038

积分

金牌会员

咱就是一个农民

积分
1038
 楼主| 发表于 2008-5-16 16:13:43 | 显示全部楼层
原帖由 leibin 于 2008-5-16 15:14 发表
腌,不太懂哟,顶一下


等了两天,今天终于看到有人回帖了,还以为终于有个和我一样的受苦受难的在unix环境下写C的人了,哪知。。。:{
回复

使用道具 举报

42

主题

835

回帖

1167

积分

金牌会员

积分
1167
发表于 2008-5-17 01:09:55 | 显示全部楼层
unix/c没有句柄的概念
curses编程照着例子抄不9好了么
不需要想的那么复杂

评分

参与人数 1金钱 +5 收起 理由
leibin + 5 替大家谢谢

查看全部评分

回复

使用道具 举报

178

主题

1103

回帖

1622

积分

金牌会员

积分
1622
发表于 2008-5-17 04:26:42 | 显示全部楼层
curse应该有缓冲区的概念了吧
回复

使用道具 举报

178

主题

1103

回帖

1622

积分

金牌会员

积分
1622
发表于 2008-5-17 04:27:17 | 显示全部楼层
窗口buffer

评分

参与人数 1金钱 +2 收起 理由
leibin + 2 鼓励一下,以后回答不要太简单

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-15 03:07 , Processed in 0.091590 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表