Здравствуйте, гость ( Вход | Регистрация )
RRaptor | Дата 13.10.2012, 21:25 |
Как вариант: int value = 1111111 ostringstream outs; outs<<value; gtk_entry_set_text ( GTK_ENTRY (entry), outs.str().data()); |
|
Sergey B. | Дата 28.10.2011, 11:20 |
ну если использовать std::string http://www.cplusplus.com/reference/iostream/stringstream/ |
|
Iron Bug | Дата 8.9.2011, 10:50 |
BRE, может быть ) не может быть, а абсолютно точно. в кроссплатформе надо избегать непортабельных частных реализаций. под другими системами этих XXX_s функций нет и можно нарваться на проблемы. если очень хочется, можно определить макросы, конечно. чтобы под вендой был sprintf_s, а под линём - sprintf. но это тоже довольно хитрый макрос надо писать. 2 char str[20] = {'\0'}; 3 sprintf (str, "%d", value); кстати, занулять строку не обязательно. sprintf сам добавляет '\0' после окончания записи строки. нужно только проверять возвращаемый результат - сколько символов он записал в строку (естественно, добавленный ноль в конце не включается в длину). |
|
Алексей1153 | Дата 7.9.2011, 16:57 |
BRE, может быть ) кстати, в std , может, своя печаталка есть, только я никогда не заморачивался и не искал |
|
BRE | Дата 7.9.2011, 13:06 |
sprintf_s лучше использовать Там можно максимальную длину приёмника указать Лучше использовать стандартный snprintf, вместо не портабельной поделки микрософта. |
|
Алексей1153 | Дата 7.9.2011, 12:44 |
sprintf_s лучше использовать Там можно максимальную длину приёмника указать
а как в GTK+ покороче - не знаю. В Qt и в MFC только знаю )) Как выход, могу предложить добавить глобальную функцию, принимающую число и заполняющую контейнер с текстом |
|
baunts | Дата 7.9.2011, 10:16 |
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 строк? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 14:28 |