The printf
family of functions is a threat to security. It is a very bad design to allow users to put their own strings as a type and format the specifiers. So what do we do when user-defined format is required? How shall we implement the std::string to_string(const std::string& format_specifier) const;
member function of the following class?
class i_hold_some_internals { int i; std::string s; char c; // ... };
We wish to allow users to specify their own output format for a string:
- To do that in a safe manner, we need the following header:
#include <boost/format.hpp>
- Now, we add some comments for the user:
// `fmt` parameter may contain the following: // $1$ for outputting integer 'i'. // $2$ for outputting string 's'. // $3$ for outputting character 'c'. std::string to_string(const std::string&...