首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动窗口-诅咒

移动窗口-诅咒
EN

Stack Overflow用户
提问于 2016-02-22 06:47:11
回答 1查看 2.7K关注 0票数 1

我正在制作这个简单的程序,在这里我创建了一个窗口,它使用箭头键,但似乎找不到解决方案。我使用函数mvwin()来移动这个窗口。所有的输入似乎都到达窗口,但没有任何运动。所有的帮助都将不胜感激。

下面是代码片段:

代码语言:javascript
复制
#include<ncurses.h>

WINDOW *create_newwin(int height, int width, int starty, int startx)
{
      WINDOW *local_win = newwin(height, width, starty, startx);
      box(local_win, 0, 0);
      wprintw(local_win, "CAN YOU SEE ME MOVE");
      wrefresh(local_win);
      return (local_win);
}

int main()
{
       char ch;
       int x= 5, y= 10, h=5, wid= 20;
       initscr();
       noecho();
       //curs_set(FALSE);
       keypad(stdscr, TRUE);
       cbreak();
       refresh();

       printw("PRINT q to EXIT\n");
       WINDOW* wn= create_newwin(h, wid, x, y);                      //tried it directly with newwin() but nothing
       //box(wn,0,0);
       //wrefresh(wn);
       //keypad(wn, TRUE);
       //mvwin(wn, LINES/2, COLS/2);
       wrefresh(wn);

       while((ch=getch())!= 'q')                                      //function to move a window
       {
             switch(ch) 
             {
                    case KEY_LEFT: if(x>0)  --x;
                                    break;
                    case KEY_RIGHT: if(x<(COLS-16)) ++x;
                                    break;
                    case KEY_UP: if(y>0)    --y;
                                    break;
                    case KEY_DOWN: if(y<(LINES-6))  ++y;
                                    break;
            }
            //wprintw(wn,"%c",ch);                                  //to check for input
            mvwin(wn, y, x);
            wrefresh(wn);
    //      wclear(wn);
    }
    //wgetch(wn);
    delwin(wn);                                                     //clean up window
    endwin();
    return 0;
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-22 06:57:15

开关语句中存在整数溢出。

char ch的定义更改为main顶部的int ch,问题就会消失。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35547346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档