Re: [問題] assert的問題
※ 引述《Biboy (畢波)》之銘言:
: 我使用assert來做判斷
: 當他錯誤的時候不是會出現錯誤訊息嗎~
: 但是那個畫面瞬間就消失了
: 要怎麼樣才能使畫面停留在錯誤訊息那裡?
基本上如果要保證 "一定" 會停下來的話
你得自己先判斷,如果要檢驗的那個運算式為 0 的話
要自行讓程式暫停 (例如等待按下一個按鍵)
然後再呼叫 assert
原因是因為
assert 的行為是:1. 顯示出一些訊息 (ex.原始檔名,行號 ..)
2. 呼叫 abort() => 令程式直接終止
問題在於 2
因為其實不同 library 實作 abort 的實際行為可能不太一樣
例如我用 VC 的話,呼叫 abort 會跳出一個訊息框 (按鈕有重試,終止,略過)
但是用 Dev-C++ 的話,呼叫 abort,則印出以下文字:
This application has requested the Runtime to terminate
it in an unusual way. Please contact the application's
support team for more information.
然後程式直接關閉,當然也就不會停住了
所以如果要停住,不要依賴 assert,自己先判斷看看要不要停住吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.137.117
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
2
3
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章