crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как осуществить преобразование число (в частности типа int) в строку средствами QT?
Delphist
  опции профиля:
сообщение 18.8.2008, 9:01
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как осуществить преобразование число (в частности типа int) в строку средствами QT?
Можно, конечно, вот так:
char sCode[25];
itoa(nCode, sCode, 10);

Но такое возможно только в компиляторе от Microsoft т.е. для Win32, а хотелось бы кроссплатформенно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 18.8.2008, 9:04
Сообщение #2


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


QString.setNum
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.8.2008, 9:09
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1992
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 65 раз(а)




Репутация:   17  


Цитата
QString.setNum
Можно и так!
А можно воспользоваться статической функцией QString::number

Цитата(Delphist @ 18.8.2008, 10:01) *
Можно, конечно, вот так:
char sCode[25];
itoa(nCode, sCode, 10);

Но такое возможно только в компиляторе от Microsoft т.е. для Win32, а хотелось бы кроссплатформенно.

Кстати, что-то я не в одной справке не видел, что itoa является внутренней функцией Microsoft (тем более для Win32)!
Цитата
Run-Time Library Reference
_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow

Convert an integer to a string.

Parameters
value
Number to be converted.
string
String result.
radix
Base of value; must be in the range 2 – 36.
Return Value
Each of these functions returns a pointer to string. There is no error return.

Remarks
The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 characters for _itoa, 65 for _i64toa and _ui64toa) in string. If radix equals 10 and value is negative, the first character of the stored string is the minus sign ( – ). _itow, _i64tow, and _ui64tow are wide-character versions of _itoa, _i64toa, and _ui64toa respectively.

Security Note To prevent buffer overruns, ensure that the string buffer is large enough to hold the converted digits plus the trailing null-character and a sign character.

Так что впринципе и этой функцией тоже можешь пользоваться! Но Qt-шными просто немного удобнее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 11.9.2008, 8:09
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


itoa, Помню в MSDN 2003 она был, с припиской POSIX))))
и в либах была. У нас из-за этого проект под линем не сразу собрался)

Вот еще вариант QString("%1").arg(int)...
Тож удобно.

забыл упомянуть sprintf().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.4.2017, 8:24