[問題] 關掉printf

看板C_and_CPP作者 (明天會更好)時間12年前 (2014/01/24 11:54), 編輯推噓6(605)
留言11則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): for(int i =0; i<50000; i++){ // 要關掉printf printf("%i in printf\n",i); // 要打開printf printf("%i hello world\n",i); } 這是一個簡化我想做的事的例子,請問要如何用指令關掉printf,之後再打開呢 謝謝 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 162.231.22.1

01/24 12:03, , 1F
可否詳述需求? 例如是否需要執行期決定輸出與否或之類的
01/24 12:03, 1F

01/24 12:04, , 2F
再者這種需求很多時候是除錯用, 這樣的話或許除錯巨集就夠了
01/24 12:04, 2F

01/24 12:07, , 3F
也不一定是除錯巨集, 可能可以是一個變數控制列印與否等等
01/24 12:07, 3F

01/24 12:08, , 4F
這樣的話更有可能只需要一個 if 便能滿足你的需要了
01/24 12:08, 4F

01/24 12:33, , 5F
動態:flag, 靜態:marco
01/24 12:33, 5F

01/24 14:35, , 6F
樓上正解
01/24 14:35, 6F

01/24 23:49, , 7F
我的第一直覺是...用 fprintf 取代 XD
01/24 23:49, 7F

01/25 00:03, , 8F
我的第一直覺是怎麼把stdout丟到黑洞裡再救回來XD
01/25 00:03, 8F

01/25 15:01, , 9F
其實我的第一直覺是 #define printf(...) 跟 #undef printf
01/25 15:01, 9F

01/25 15:02, , 10F
不過仔細想想這不就是除錯程式碼? 所以就這樣回了
01/25 15:02, 10F

01/25 22:28, , 11F
> /dev/null
01/25 22:28, 11F
文章代碼(AID): #1IuUFdWe (C_and_CPP)