[问题] 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