Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новый архив 3 (https://www.otvetnemail.ru/novyj-arhiv-3-813/)
-   -   Вопрос по методу sprintf класса QString! (https://www.otvetnemail.ru/novyj-arhiv-3-813/vopros-po-metodu-sprintf-klassa-qstring-261111/)

Guest 28.09.2011 20:07

Вопрос по методу sprintf класса QString!
 
Есть такой код:Код:QString str;unsigned short varU = 0xffff;short var = 0xffff;str.sprintf( "%d", varU ); // str = "65535"str.sprintf( "%d", var ); // str = "-1"Как sprintf понимает, что в одном случае надо создать строку "65535", а в другом "-1"??Смотрел исходники sprintf:Код:...QString subst; switch (*c) { case 'd': case 'i': { qint64 i; switch (length_mod) { case lm_none: i = va_arg(ap, int); break; case lm_hh: i = va_arg(ap, int); break; case lm_h: i = va_arg(ap, int); break; case lm_l: i = va_arg(ap, long int); break; case lm_ll: i = va_arg(ap, qint64); break; case lm_j: i = va_arg(ap, long int); break; case lm_z: i = va_arg(ap, size_t); break; case lm_t: i = va_arg(ap, int); break; default: i = 0; break; } subst = locale.d()->longLongToString(i, precision, 10, width, flags);...но для себя ответ так и не нашел)Люди!! Помогите разобраться!


Часовой пояс GMT, время: 23:50.


© www.otvetnemail.ru - Форум вопросов и ответов.