![]() |
Ответ: Вывод текста
Цитата:
|
Ответ: Вывод текста
Еще одно. А как узнать длину строки в пикселях?
|
Ответ: Вывод текста
Какой командой можно подсчитать длину моего текста(в пикселях)?
Другими словами я хочу объединить текст предложения с текстом цифр, но для этого мне надо знать длину строки первого текста чтобы потом поставить цифры. |
Ответ: Вывод текста
ооо ну это хз. Это я не умею делать. Примерно так
заранее узнать размер каждой буквы занести в массив например int wordSize[255]; узнать промежуток между буквами например int space = 1; Код:
int len=0; |
Ответ: Вывод текста
Короче опять проблемы:
Нашел функцию gcvt(....) которая выводит целые и вещественные числа.Пользовался часто пока не начал выводить числа меньше нуля. Причем число - 0.123456789 - выводится нормально, а такое - 0.0123456789 - через экспоненту(например: 0.01 = 1е-0.02). Как мне избавится от неё. Или может есть другая функция(которую я нигде не могу найти) или может подскажите с алгоритмом преобразования вещ. числа в строку? |
Ответ: Вывод текста
Тему не читай @ сразу отвечай.
Чем тебе не угодила функция sprintf? http://www.cplusplus.com/reference/c...stdio/sprintf/ |
Ответ: Вывод текста
UPD. Чтобы не париться с преобразованием каждой переменной в строку сделай свою функцию вывода с переменным кол-вом аргументов ( как printf и тому подобные ). Как-то при работе с Б3Д Сдк мне понадобилась подобная функция. Вот она
void bbTextEx( int x, int y, const char * text, ... ) { va_list argumentList; char buffer[512]; va_start(argumentList, text); vsprintf_s( buffer, text, argumentList); va_end(argumentList); bbText( x,y, buffer ); }; нужно еще подключить windows.h |
Ответ: Вывод текста
Цитата:
Код:
void bbTextEx( int x, int y, const char * text, ... ) Update: Извиняюсь за это: Цитата:
|
Ответ: Вывод текста
http://www.cplusplus.com/reference/c...darg/va_start/
http://www.cplusplus.com/reference/c...stdarg/va_end/ http://www.cplusplus.com/reference/c...tdio/vsprintf/ Цитата:
|
Ответ: Вывод текста
mr.DIMAS а ты не знаешь как сделать чтобы если число например = 0.01, а максимальный размер вводимых цифр=5, то чтоб число выводило - 0.01 а не 0.01000. Хочу избавляться от нулей даже если еще есть место для цифр. Как это сделать(через функцию sprintf и тп)?
|
Ответ: Вывод текста
float a=0.01f;
char text[5]; sprintf(text,"%.2f",a);//так че не работает? УПД. или так sprintf(text,"%.*f",2,a); |
Ответ: Вывод текста
Я наверно не правильно объяснил: нужно чтоб когда я ввожу число(будь то 0.01 или 0.001) оно само выбирало сколько цифр после запятой должно быть до последней цифры, а когда следующие идут нули то их оно просто округлять(не выводить).
Например: 0.001 = 0.001 0.0123000 = 0.0123 3.14150 = 3.1415 и т.д. Нашел следующие: sprintf(buffer,"%.g",nubmer); тогда все выше описанные проблемы исчезают кроме одной: мин. предел числа = 0.0001 -> далее идёт экспонент(который мне не нужен)! |
Ответ: Вывод текста
![]() |
Ответ: Вывод текста
Цитата:
|
Часовой пояс GMT +4, время: 05:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot