討論串關於gets(const char *)的用法?
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者nylon.時間18年前 (2006/09/09 19:01), 編輯資訊
2
0
0
內容預覽:
為什麼gets()這個東東有時候會跑不出來?. 就是說 gets() 會略過從STDIN的輸入?. scanf的話不可以以string的格式讀取一整行(包括空隔)?. 請問版上各位大大知道嗎??. 謝謝~. --. Origin: bbs.ee.ncku.edu.tw From:

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者jtmh (Believing is seeing! ^^)時間18年前 (2006/09/10 00:58), 編輯資訊
1
0
2
內容預覽:
引述《nylon.bbs@bbs.ee.ncku.edu.tw (Pooh)》之銘言:. 可能是 keyboard buffer 中還留有上次輸入未被完全讀完的字元 (包括 '\n'),. 而導致 gets() 直接讀取那些字元 (到 '\n' 為止),. 所以就出現程式未停下來讓你輸入的現象,
(還有95個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ssagit (ssagit)時間18年前 (2006/09/10 01:50), 編輯資訊
1
0
0
內容預覽:
也不是不行, Try:. char s[100];. scanf("%[^\n]", s);. printf("%s\n", s);. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 211.74.191.133.

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者jtmh (Believing is seeing! ^^)時間18年前 (2006/09/10 10:48), 編輯資訊
1
0
0
內容預覽:
這個的確可以讀取一整行,. 不過還是會有前述 keyboard buffer 中殘留字元的問題要解決。. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 218.175.157.16.

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ssagit (ssagit)時間18年前 (2006/09/10 11:28), 編輯資訊
0
0
0
內容預覽:
我只能說, scanf 的問題可能比 gets 還要多,. scanf("%s", s); 這樣的語法, 它一樣不會檢查是不是超過 s 的長度,. 和 gets 一樣會有 buffer overflow 的問題..... 而上面的程式如果要連續讀兩行,. 可以寫成:. scanf("%[^\n]\n
(還有312個字)
首頁
上一頁
1
2
下一頁
尾頁