[問題] printf to cout parser

看板C_and_CPP作者 (小乖)時間9年前 (2014/08/07 11:39), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
最近在 QT 平台上 porting 一些 code 遇到一個問題。 我要 porting 的 code 有像是 debug( 0,"The value is %d\n", n ); 我如果要移植到 QT 就必須寫出像是 qDebug() << "This value is " << n; 這種類似 cout 的語法。 因為大概有數百行這種 debug code,想說有沒有 printf style 轉 cout style 的 parser。我在網路上找了一陣子,看起來是沒有 當然是可以自己寫一個簡單的 Regex (use python, awk etc) 來替換。 但這樣會有很多情況沒有考慮清楚 eq. printf("[%d,%ld]",x,y); => cout << "[" << x << "," << y << "]"; 請問各位大大是否有遇到過這樣的問題或者是知道相關的程式或是library可以用 不然我可能就要自己寫一個了 = = -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.164.79 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1407382757.A.2C1.html

08/07 11:44, , 1F
vsprintf()
08/07 11:44, 1F

08/07 12:46, , 2F
把debug寫成一個vararg function在配合樓上說的vsprintf
08/07 12:46, 2F

08/07 12:47, , 3F
再把format好的字串丟給qDebug 再*
08/07 12:47, 3F

08/07 13:02, , 4F
Qt 有 qDebug(...) 系列 functions 可以吃 var_list
08/07 13:02, 4F

08/07 13:02, , 5F
直接用一個 inline function 包起來就解了
08/07 13:02, 5F

08/07 13:44, , 7F
感謝樓上,我沒有注意到這個 qDebug API Thanks!!
08/07 13:44, 7F

08/07 19:34, , 8F
我怎麼印象中QT好像有類似boost format的東西
08/07 19:34, 8F
文章代碼(AID): #1JulJbB1 (C_and_CPP)