LiteCoding

Заметки о программировании

Архив за Июнь, 2010

Форматный вывод в Symbian C++ и дескрипторы

без комментариев

В принципе, синтаксис форматного вывода в Symbian C++ мало чем отличается от оного в традиционном C++. Однако, есть кое-какие нюансы.

Типов немного:
%bb — двоичный
%o — восьмеричный
%x — шестнадцатиричный
%i — знаковый целочисленный (до 32 бит)
%u — беззнаковый целочисленный (до 32 бит)
%Ld — знаковый целочисленный (64 бита)
%Lu — беззнаковый целочисленный (64 бита)
%f — вещественный
%s — стоковый тип (имеются в виду строки в стиле C, завершенные нулевым байтом)
%S — строковый дескриптор

Самая большая проблема, которая может подстерегать разработчика, использующего форматный вывод в Symbian C++ — аварийное завершение работы программы вследствие неправильной передачи дескриптора. Дескриптор всегда следует передавать по ссылке.

Например, так:

TBuf buf;
TBuf tmpBuf;
_LIT(KFmtStr, "%S %S");
_LIT(KStr1, "one");
_LIT(KStr2, "two");
tmpBuf.AppendL(KStr1);

buf.Format(KFmtStr, &tmpBuf, &KStr2);

Written by Дмитрий Воробьев

Июнь 9th, 2010 at 20:06

Posted in Чулан

Tagged with ,