Boost Format仅执行格式化位.您仍然需要iostream才能在屏幕上显示某些内容.
当然,一起使用它们将实现与printf您正在寻找的平价.并且它在不牺牲类型安全的情况下这样做(尽管现在这不是一个大问题,因为编译器通常会警告错误的printf参数).
Boost.Format适用于ostreams.您可以按如下方式使用它
cout << boost::format("%2% %1%") % 36 % 77;
Run Code Online (Sandbox Code Playgroud)
或者喜欢
string s2 = str( format("%2% %1%") % 36 % 77 );
Run Code Online (Sandbox Code Playgroud)
并根据需要打印字符串.
Boost.Format不适用于istreams.