亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 7753 | 回復(fù): 7
打印 上一主題 下一主題

[C] 高手來(lái)解答一下 getch() 函數(shù)使用問(wèn)題! [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-08-12 23:42 |只看該作者 |倒序?yàn)g覽
getch() 函數(shù)使用問(wèn)題

int print()
{
initscr();
int ch;
......
for(......)
{
.....
printf("XXXXXXXX");
ch=getch();
if(ch=='q') break;
......
}
endwin();
return 0;
}

1.使用 getch() 要帶 initscr() 和 endwin() 。  如果不清屏,保留屏幕輸出的“XXXXXXXX” , 該怎么用?(就像linux的命令less, 輸入q時(shí)就退出)
2.為何 gcc 編譯后, 運(yùn)行程序時(shí)getch() 接收到的字符顯示出來(lái)了?getch()不是不帶回顯嗎?

論壇徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16賽季CBA聯(lián)賽之青島
日期:2016-07-05 12:36:0515-16賽季CBA聯(lián)賽之廣東
日期:2016-06-29 11:45:542015亞冠之全北現(xiàn)代
日期:2015-07-22 08:09:472015年辭舊歲徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39獅子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技術(shù)圖書徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
2 [報(bào)告]
發(fā)表于 2013-08-13 08:45 |只看該作者
理解不了你的中文

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-08-13 09:20 |只看該作者
第一個(gè)沒(méi)看懂
ge t ch應(yīng)該是不帶回顯的,是不是程序的問(wèn)題
ge t ch不是標(biāo)準(zhǔn)庫(kù)函數(shù),用ge t cha也可以

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀(jì)念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
4 [報(bào)告]
發(fā)表于 2013-08-13 13:29 |只看該作者
本帖最后由 yulihua49 于 2013-08-13 13:35 編輯
skysky1752 發(fā)表于 2013-08-12 23:42
getch() 函數(shù)使用問(wèn)題

int print()

getch()是窗口函數(shù),不可亂用。
回顯問(wèn)題是initscr()設(shè)置的,單字符響應(yīng)也是initscr()設(shè)置的。
一旦使用了initscr(),就不可以使用printf和scanf了,它們會(huì)擾亂屏幕。
要使用printw,scanw代替他們。
在使用這些屏幕IO前,都可以先用move(y,x)定位。就會(huì)在屏幕指定位置進(jìn)行IO。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-08-13 14:33 |只看該作者
看不懂哦..

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2013-08-13 16:50 |只看該作者
回復(fù) 4# yulihua49

非窗口下使用什么函數(shù)來(lái)取字符呢?(不帶回車就可以取的,就像linux的很多命令 如less,屏幕顯示不完,按q時(shí)就直接退出的那種。)

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-08-13 16:53 |只看該作者
本帖最后由 skysky1752 于 2013-08-13 16:56 編輯

回復(fù) 3# djsxut

第一個(gè)是說(shuō) 執(zhí)行到getch()時(shí),之前屏幕輸出的“XXXXXXXXX”,已經(jīng)被清除,看不見(jiàn)了。
你是說(shuō)getchar()吧?這個(gè)函數(shù)輸入字符時(shí)要帶回車才能輸入。

論壇徽章:
15
射手座
日期:2014-11-29 19:22:4915-16賽季CBA聯(lián)賽之青島
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16賽季CBA聯(lián)賽之四川
日期:2017-02-07 21:08:572015年亞冠紀(jì)念徽章
日期:2015-11-06 12:31:58每日論壇發(fā)貼之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-04 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-12 22:20:002015亞冠之浦和紅鉆
日期:2015-07-08 10:10:132015亞冠之大阪鋼巴
日期:2015-06-29 11:21:122015亞冠之廣州恒大
日期:2015-05-22 21:55:412015年亞洲杯之伊朗
日期:2015-04-10 16:28:25
8 [報(bào)告]
發(fā)表于 2013-08-13 23:27 |只看該作者
本帖最后由 yulihua49 于 2013-08-13 23:55 編輯
skysky1752 發(fā)表于 2013-08-13 16:50
回復(fù) 4# yulihua49

非窗口下使用什么函數(shù)來(lái)取字符呢?(不帶回車就可以取的,就像linux的很多命令 如le ...


這不是函數(shù)的問(wèn)題。
需要設(shè)置你的終端。使用ioctl函數(shù),見(jiàn)termio.h
把終端設(shè)置成每個(gè)字符都響應(yīng),無(wú)延遲模式,注意使用完畢及時(shí)恢復(fù)回來(lái)。否則行為將很怪異。
設(shè)置完成后,使用getchar也可以單鍵響應(yīng)。但是不能解釋功能鍵和方向鍵。
如果希望使用功能鍵如:KEY_F1,KEY_RIGHT,你必須在窗口模式下。使用getch()函數(shù)、
其實(shí)你就使用窗口函數(shù),挺方便的:
initscr();
clear();
echo();
move(10,20);
printw("%s",prompt);
refresh();
int c=getch();
if(c==KEY_F1) {
// 干點(diǎn)啥
}
ungetch(); //不是功能鍵,退回去。
scanw("%d",&a);//繼續(xù)接收數(shù)據(jù).
.......
endwin();
你還可以:
newwin();//開(kāi)新窗口
subwin();//開(kāi)子窗口
wprintw();//在新窗口或子窗口輸出
wrefresh();
man吧。
還可以在窗口畫框,顯示彩色、反顯、高亮、閃爍等各種屬性,比標(biāo)準(zhǔn)IO功能豐富多了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP