2012-08-15 177 views
0

直到此時,我一直在使用formatString的格式化使用編號的變量($1$2等),多語言字符串 - 然而,這不是跨平臺兼容。跨平臺formatString的

是否有sprintf -esque功能是跨平臺的,做同樣的事情?它不需要分配內存或任何東西 - 只需要能夠處理可能位於字符串中不同位置的編號類型僞變量。

升壓是好的,如果它提供了類似的功能。

回答

1

我會看看的boost ::格式。我已經使用了它一段時間,它工作得很好。

另一種選擇是使用std :: stringstreams格式化輸出。如果你不想或不能使用boost,這幾乎是唯一的便攜選項,再加上作爲獎勵的語法是一個更可讀的恕我直言。

兩個文庫是類型安全,因此更好的和更安全的在C使用++上下文以及,相對於通常的C的API。

+0

除此之外,它使用一個惱人的運算符重載(''%),這就是我一直在尋找這樣的事實!謝謝! – Qix 2012-08-15 23:53:58