[問題] printf to cout parser

作者: spider391 (小乖)   2014-08-07 11:39:14
最近在 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可以用
不然我可能就要自己寫一個了 = =
作者: azureblaze (AzureBlaze)   2014-08-07 11:44:00
vsprintf()
作者: purincess (purincess)   2014-08-07 12:46:00
把debug寫成一個vararg function在配合樓上說的vsprintf再把format好的字串丟給qDebug 再*
作者: uranusjr (←這人是超級笨蛋)   2014-08-07 13:02:00
Qt 有 qDebug(...) 系列 functions 可以吃 var_list直接用一個 inline function 包起來就解了http://qt-project.org/doc/qt-5/qtglobal.html#qDebug
作者: spider391 (小乖)   2014-08-07 13:44:00
感謝樓上,我沒有注意到這個 qDebug API Thanks!!
作者: soheadsome (師大狗鼻哥)   2014-08-07 19:34:00
我怎麼印象中QT好像有類似boost format的東西

Links booklink

Contact Us: admin [ a t ] ucptt.com