QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 729|回复: 8

请教一个小问题:

[复制链接]
发表于 2005-1-17 20:05:34 | 显示全部楼层 |阅读模式
本人现在正在学习控制台编程,有个小问题解决不了,在此特象大家请教,我把代码帖在下面:

        /* File: helloworld.c */

        #include <curses.h>

        int main(int argc, char *argv[])
        {

                //初始化
                initscr();

                //画边框
                box(stdscr, ACS_VLINE, ACS_HLINE);

                //在第11行, 第30列写字符串
                mvaddstr(11, 30, "Hello World!");

                //刷新屏幕
                refresh();

                //等待按键
                getch();

                //结束
                endwin();

                return 0;
        }
发表于 2005-1-18 10:12:24 | 显示全部楼层
什么问题?
回复

使用道具 举报

发表于 2005-1-18 11:17:53 | 显示全部楼层
我问一个类似的:
int main()
{
   char ch;
   initsrc();
   move(5,10);
   printw("%s","Hello world!");
   refresh(0;
   sleep(2);
   endwin();
   printf("Hello\n");
   ch=getchar();
   printf("%c\n",ch);
   exit(0);
}
出来结果是先getchar,然后标准输出Hello
可是我觉得应该先输出Hello,再读入字符的
为什么会出现这样的?
回复

使用道具 举报

发表于 2005-1-18 12:40:02 | 显示全部楼层
我觉得是curses的问题。

可以尝试printf完了refresh
回复

使用道具 举报

 楼主| 发表于 2005-1-18 16:04:54 | 显示全部楼层
不好意思,好象没有写清楚问题,就是老是编译不通过,但是我不清楚到底是什么问题,请版主帮我看看,谢谢,我觉得好象是curses.h的问题吧,但是在red flag 4.0和red hat 9.0下都是这样的问题。
回复

使用道具 举报

发表于 2005-1-18 16:19:53 | 显示全部楼层
加上 -lcurses

表示使用curses库。
回复

使用道具 举报

 楼主| 发表于 2005-1-18 16:38:19 | 显示全部楼层
我刚才试了试,加上-lcurses 还是不行啊
回复

使用道具 举报

发表于 2005-1-18 17:41:58 | 显示全部楼层
查一下系统系统里是否有libcursese.o这个文件。

找到的话用 -L/<libcursese.o所在目录> -lcurses
回复

使用道具 举报

 楼主| 发表于 2005-1-18 19:43:03 | 显示全部楼层
呵呵,谢谢版主,我试了试,果然是少了一个libcursese.o,然后考上去就可以运行了,特别感谢
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-6 17:34 , Processed in 0.044252 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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