crossplatform.ru

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

> преобразование типов, тип int запихнуть в label например (или в entry)
baunts
  опции профиля:
сообщение 7.9.2011, 10:16
Сообщение #1


Новичок


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

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




Репутация:   0  


1 int value = 1111111;
2 char str[20] = {'\0'};
3 sprintf (str, "%d", value);
4 gtk_entry_set_text ( GTK_ENTRY (entry), str );

есть ли решение поприличнее (короче и универсальнее) 2и3 строк?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 8.9.2011, 10:50
Сообщение #2


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

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


Цитата(Алексей1153 @ 7.9.2011, 19:57) *
BRE, может быть )

не может быть, а абсолютно точно. в кроссплатформе надо избегать непортабельных частных реализаций. под другими системами этих XXX_s функций нет и можно нарваться на проблемы. если очень хочется, можно определить макросы, конечно. чтобы под вендой был sprintf_s, а под линём - sprintf. но это тоже довольно хитрый макрос надо писать.

Цитата(baunts @ 7.9.2011, 13:16) *
2 char str[20] = {'\0'};
3 sprintf (str, "%d", value);

кстати, занулять строку не обязательно. sprintf сам добавляет '\0' после окончания записи строки. нужно только проверять возвращаемый результат - сколько символов он записал в строку (естественно, добавленный ноль в конце не включается в длину).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 27.4.2024, 13:08