itok function implemented
This commit is contained in:
@@ -14,6 +14,11 @@ std::string mini_sprintf_format(bool left_align, bool sign, bool space_on_left,
|
||||
if (specifier == 's') {
|
||||
return value.as_string();
|
||||
}
|
||||
if (specifier == 'c') {
|
||||
std::ostringstream stream_str;
|
||||
stream_str << (char) value.as_int();
|
||||
return stream_str.str();
|
||||
}
|
||||
if (specifier == 'i' || specifier == 'd') {
|
||||
int ival = value.as_int();
|
||||
is_positive = ival >= 0;
|
||||
@@ -96,6 +101,7 @@ std::string mini_sprintf(const std::string &format_str, const std::vector<MlValu
|
||||
case 'i':
|
||||
case 'd':
|
||||
case 'f':
|
||||
case 'c':
|
||||
case 's':
|
||||
bool left_align = false;
|
||||
bool sign = false;
|
||||
@@ -156,7 +162,7 @@ std::string mini_sprintf(const std::string &format_str, const std::vector<MlValu
|
||||
// specifier
|
||||
if (si >= format_str.end())
|
||||
return output_str; // invalid end of string
|
||||
if (*si == 'i' || *si == 'd' || *si == 'f' || *si == 's') { // TODO more specifiers
|
||||
if (*si == 'i' || *si == 'd' || *si == 'f' || *si == 's' || *si == 'c') { // TODO more specifiers
|
||||
std::string s = mini_sprintf_format(left_align, sign, space_on_left, padding_by_zero, width, precision, length, *si, parameters[arg_position]);
|
||||
arg_position++;
|
||||
output_str += s;
|
||||
|
||||
Reference in New Issue
Block a user