Название: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Гурман от Январь 14, 2014, 10:34 в лог пишу:
Код: void MainWindow::writeLog( char prefix, char data ) числа выводятся без ведущих 0, выглядит нехорошо а еще желательно выводить в двоичном виде, чтобы легко с осциллограммой сравнивать, там уже вед. 0 обязательны в описании включения вед. 0 не нашел, а setFieldWidth() с setPadChar() работают по-другому Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Old от Январь 14, 2014, 10:52 Почитайте про манипуляторы для потоков и ваша жизнь сильно упроститься. :)
Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Гурман от Январь 14, 2014, 11:16 читал, они все через setЧегоНибудь() работают, и подходящего для заполнения 0-ми шестнадцатиричных чисел нет
Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Old от Январь 14, 2014, 11:47 Вам нужно установить длину поля width( 8 ) и установить заполнитель fill( '0' ).
С помощью манипуляторов это делается очень быстро. Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Kurles от Январь 14, 2014, 12:19 Я бы сделал примерно так:
Код
Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Гурман от Январь 14, 2014, 12:21 базу менять не удобно, манипулятора для width и fill нет, начинает заполнять любые выводимые данные, значит надо менять до и после вывода, а с showbase получается вообще полная ерунда
фигово, явно недопродумано... лучше тогда уж в QString форматировать и ее выводить, хотя тоже не удобно а, ну вот пока ответ писал, как раз QString и предложили Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Old от Январь 14, 2014, 12:29 манипулятора для width и fill нет Как это нет? Есть.Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Гурман от Январь 14, 2014, 12:35 а, да есть, но не удобно все равно, и showbase работает криво, вариант QString лучше, хотя тоже не идеально, при изменении базы приходится самому выводить её обозначение
всё, можно закрыть тему Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Old от Январь 14, 2014, 12:41 Можно свой манипулятор написать.
Название: Re: в QTextStream у HEX чисел как ведущие ноли вывести? Отправлено: Johnik от Январь 14, 2014, 12:47 Пример:
Код
Только надо не забыть предусмотреть форматирование отрицательных чисел, а то может получиться нечто вроде: format(-10, 10) => "0000000-10" |