免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1577 | 回复: 4
打印 上一主题 下一主题

为什么一个简单的curses中老会出现"段错误"的报错! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-09 11:26 |只看该作者 |倒序浏览
各位大虾您好!
     我在一个显示时间的curses程序编译后老会报段错误的报警!

     程序如下:
        #include <stdio.h>;
        #include <stdlib.h>;
        #include <sys/time.h>;
        #include <unistd.h>;
        #include <curses.h>;
        int main()
        {
                    struct timeval time;
                    char * sec;
                    //char * usec;
                    initscr();
                    box(stdscr,ACS_HVINE,ACS_LVINE);
                    while (1){
                             gettimeofday(&time,NULL);
                             sprintf(sec,"%d",time.tv_sec);
                             mvaddstr(10,10,sec);
                    }
                    endwin();
             return 0;
        }

我用这样命令:        gcc -o time time.c -lncurses

编译就出现这样的报警:       段错误

请高手把我看看!还有,为什么我把sprintf 语句删了后就可以了编译成功!
难道不能同时用这样的转换吗?(浮点型转字符型)!
还有, 有没有像mvaddstr 相似的语句在界面上输出 变量的 语句!

请大虾指教一下!!

万分感谢!!

论坛徽章:
0
2 [报告]
发表于 2004-12-09 11:51 |只看该作者

为什么一个简单的curses中老会出现"段错误"的报错!

错误信息呢?
mvprint

论坛徽章:
0
3 [报告]
发表于 2004-12-09 11:59 |只看该作者

为什么一个简单的curses中老会出现"段错误"的报错!

sec = malloc(BUFSIZ);
>;>;sprintf(sec,"%d",time.tv_sec);

论坛徽章:
0
4 [报告]
发表于 2004-12-09 20:23 |只看该作者

为什么一个简单的curses中老会出现"段错误"的报错!

非常感谢两位的帮助!
   
    我明天去公司试一下!
   
    不过我有点疑问,为什么要用malloc分配内存,而不能直接用字符串呢!
    还有,mvprintf 是什么意思啊?
   
     请大虾点拨一下,
   
   
    万分感谢!!

论坛徽章:
0
5 [报告]
发表于 2004-12-10 08:43 |只看该作者

为什么一个简单的curses中老会出现"段错误"的报错!

mvprintf()是打印在你所创建的win中的函数,你可以取查一查curses编程的书

sec没有分配空间,肯定不行,要么你换成sec[BUFSIZ]也可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP