Russian Qt Forum

Qt => Общие вопросы => Тема начата: Mish_ka от Март 15, 2011, 20:08



Название: Qt аналог С++ функции swab
Отправлено: Mish_ka от Март 15, 2011, 20:08
Qt аналог С++ функции swab

Код:
void  swab ( char * src, char * dest, int num );



Название: Re: Qt аналог С++ функции swab
Отправлено: GreatSnake от Март 16, 2011, 09:53
Нет такого аналога. Но кто мешает написать 2 строчки?
Код
C++ (Qt)
QString qswab( const QString& s )
{
QString d;
 
for( int i = 0; i < s.length(); i += 2 )
d += s[i + 1], d += s[i];
 
return d;
}


Название: Re: Qt аналог С++ функции swab
Отправлено: zenden от Март 16, 2011, 16:06
Функция swab меняет порядок байт, обычно используется для подготовки двоичных
данных при пересылке их к вычислительной машине, которая исполь-
зует различный порядок байтов.
Ваша функция меняет порядок символов в QString.
Кстати говоря ваш алгоритм выходит за границу массива.


Название: Re: Qt аналог С++ функции swab
Отправлено: GreatSnake от Март 16, 2011, 16:12
Функция swab меняет порядок байт, обычно используется для подготовки двоичных
данных при пересылке их к вычислительной машине, которая исполь-
зует различный порядок байтов.
Ваша функция меняет порядок символов в QString.
Кстати говоря ваш алгоритм выходит за границу массива.
Ещё раз внимательно читаем первое сообщение.