我可以使用Boost的格式库来替换iostream吗?

CMW*_*CMW 3 c++ boost iostream stdio

我不喜欢<iostream>在C++库中使用.我更喜欢使用类似于"printf"和"scanf"的东西<stdio.h>.

我可以使用Boost的格式库替换<iostream>我的所有C++程序吗?

Mar*_*tos 5

Boost Format仅执行格式化位.您仍然需要iostream才能在屏幕上显示某些内容.

当然,一起使用它们将实现与printf您正在寻找的平价.并且它在不牺牲类型安全的情况下这样做(尽管现在这不是一个大问题,因为编译器通常会警告错误的printf参数).


Vic*_*iba 5

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.