我正在尝试从键盘读取输入字符串并将其显示在 ncurses 的新窗口中。接收到的字符串被传递给函数 display。这个函数有一个链接列表。将该字符串与此链接列表结构的元素从列表顶部到末尾进行比较。如果找到匹配,它打印那些特定的列表元素,如果没有,它就会出来。
这是代码:
void main()
{
char *str=(char*)malloc(10*sizeof(char));
mvprintw (1,0, "%s","ivrcode:");
mvscanw(1,8,"%s",str);
mvprintw (1,8, "%s",str);
initscr ();
cbreak();
curs_set (2);
clear();
display1(str);
refresh();
}
void display1(char *r)
{ char * status;
int thisDTMF;
struct linklist * curser=listhead;
int count;
mvprintw (2,0, "%s","vId");
mvprintw (2,10, "%s","msisdn" );
mvprintw (2,25, "%s","ivrCode" );
mvprintw (2,35, "%s","state" );
mvprintw (2,45, "%s","DTMF" );
count = 4;
while(curser!=NULL)
{ status=getState(curser->state);
thisDTMF=getDTMF(curser->dtmf);
if(curser->ivrCode==r)
{ mvprintw (count,0,"%d",curser->vId);
mvprintw (count,10,"%s",curser->msisdn);
mvprintw (count,25, "%s",curser->ivrCode );
mvprintw (count,35, "%s",status );
if(thisDTMF==35||thisDTMF==42)
mvprintw (count,45, "%c",thisDTMF );
else
mvprintw (count,45, "%d",thisDTMF );
count++;
}
curser=curser->next;
}
}
它也从键盘获取输入字符串并打印。
编译成功。
但是当我点击进入时它什么也没有显示。
有什么建议么?