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

  免費注冊 查看新帖 |

Chinaunix

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

【急了60分懸賞】加與不加else printf,導(dǎo)致終端輸出“現(xiàn)閃爍符等待”的疑惑 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-08-11 00:33 |只看該作者 |倒序瀏覽
本帖最后由 nine8 于 2010-08-12 22:26 編輯
  1. for (dest_port = start_port; dest_port <= end_port; dest_port++) {
  2.                 if (sub_func(xxx,xxx,xxxx.....) == 1) {
  3.                         printf("\nport: %hu is open\n", dest_port);
  4.                 }
  5.                 else {
  6.                         //;                  
  7.                         //continue;
  8.                         //printf("port: %hu is closed\n", dest_port);
  9.                         //printf(".");
  10.                 }
  11.         }
復(fù)制代碼
當(dāng)else為 :

   printf("port: %hu is closed\n", dest_port);  時,可以正常執(zhí)行并程序結(jié)束

但是,當(dāng)沒加else,或是加了 else,用的是  ; 或  continue或 printf(".";時, 當(dāng) dest_port從1記到1000時, 終端就不輸出東西了,然后出現(xiàn)了等待的閃爍符,然后程序也不會結(jié)束。

不知道這是什么原因?qū)е,感覺好奇怪,難道要加 fllush什么的嗎?


以前沒遇到過這種問題,還請大家?guī)兔Ψ治鱿,謝謝!


懸賞鏈接:
    http://www.72891.cn/thread-1765860-1-1.html

論壇徽章:
0
2 [報告]
發(fā)表于 2010-08-11 00:48 |只看該作者
補充下現(xiàn)象:


原來加了 else printf(xxxxxxxxxxxxxxxxx);的可以正常輸出并結(jié)束的,

在終端執(zhí)行程序+ option后面跟了 | tee > result.log

即  %> test -a xxx -b xxxx | tee > result.log

時也會出現(xiàn)光標(biāo)閃爍符,一直等待


好奇怪,難道是終端的問題?

論壇徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52雙子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午馬
日期:2013-10-18 21:43:38
3 [報告]
發(fā)表于 2010-08-11 08:10 |只看該作者
標(biāo)準(zhǔn)輸出行緩沖的緣故, printf("port: %hu is closed\n", dest_port);  最后有\(zhòng)n,就輸出了
你輸出到 stderr應(yīng)該就沒這問題了

論壇徽章:
0
4 [報告]
發(fā)表于 2010-08-11 08:40 |只看該作者
一個行緩沖難倒了無數(shù)英雄漢......{:3_185:}

論壇徽章:
1
天蝎座
日期:2014-02-28 16:08:53
5 [報告]
發(fā)表于 2010-08-11 09:31 |只看該作者
“\n"試試

論壇徽章:
0
6 [報告]
發(fā)表于 2010-08-12 00:19 |只看該作者
本帖最后由 nine8 于 2010-08-12 00:20 編輯

按照大家的指點又測試了下:

  [1] 用 fprintf(stderr, ".");      也不行
  [2]. 加 "\n"  printf (".\n");      可行
  [3]. 去掉 else, 只有 if,          就不行了    <---------這個感覺很奇快

之前就是想讓程序只輸出 open的端口,因為closed的太多,就沒有加else,后來發(fā)現(xiàn)會在掃了大概1000多個
port就停那了,所以才加的else看看進(jìn)度,找找原因,現(xiàn)在還是迷糊了,如何能使不加 else的時候,正常運行
呢?

^_^

論壇徽章:
0
7 [報告]
發(fā)表于 2010-08-12 00:27 |只看該作者
在if的 fprintf后加 fflush也不行

論壇徽章:
0
8 [報告]
發(fā)表于 2010-08-12 22:12 |只看該作者
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP