Название: загрузка из файла в определенном формате Отправлено: Dizzy от Март 04, 2010, 09:13 Понадобились из исходников GIMP 2 следующие функции.
Код: gchar * fread_pascal_string (gint32 *bytes_read, gint32 *bytes_written, const guint16 mod_len, FILE *f, gint *error); Нет ли их аналогов в Qt? (не охота тяунть в проект весь Glib) p.s. если надо могу выложить реализацию функций. Название: Re: загрузка из файла в определенном формате Отправлено: SABROG от Март 04, 2010, 09:26 Написал 2, а вставил 3. Напиши чего они делают.
Название: Re: загрузка из файла в определенном формате Отправлено: Dizzy от Март 04, 2010, 18:22 Написал 2, а вставил 3. Напиши чего они делают. 2 - это GIMP второй версии. ;) А функции три. По поводу - что делают, точно не знаю. Первая считывает из файла "паскалевскую" строку. Вторая преобразовывает кодировку строки. Из любой текущей кодировки в кодировку UTF-8. Третья считывает строку из файла, представленную в кодировке UTF-8. Название: Re: загрузка из файла в определенном формате Отправлено: break от Март 04, 2010, 20:16 можно почитать про кодеки ( setCodecCString и т.д. )
использовать соответствующие ф-ции QString::fromUtf8 и др. что такое "паскалевская строка"? Название: Re: загрузка из файла в определенном формате Отправлено: gigabyte от Март 04, 2010, 20:22 Паскалевская строка(класическая) - масив байтов (т.е. char-ов ) от 1 до N где на 0-м месте Количество символом в строке. а все послеующие - символи строки
Код: struct PascalString { Разница между Pascal String и С\С++ String в том что паскаль хранит явно длинну строки в 0-м байте а С\С++ неявно в виде признака конца строки null-terminated string Название: Re: загрузка из файла в определенном формате Отправлено: Igors от Март 04, 2010, 20:28 что такое "паскалевская строка"? Код: typedef unsigned char Str255[256]; // MacTypes.h Название: Re: загрузка из файла в определенном формате Отправлено: Пантер от Март 05, 2010, 07:15 Считай в QString и удали нулевой символ.
Название: Re: загрузка из файла в определенном формате Отправлено: ритт от Март 06, 2010, 02:07 < классическая строка - массив типа char с нуль-терминантой
Название: Re: загрузка из файла в определенном формате Отправлено: Dizzy от Март 10, 2010, 11:38 можно почитать про кодеки ( setCodecCString и т.д. ) использовать соответствующие ф-ции QString::fromUtf8 и др. Да, кодеки помогли. А строку действительно пришлось читать как Паскалевская строка(класическая) - масив байтов (т.е. char-ов ) от 1 до N где на 0-м месте Количество символом в строке. а все послеующие - символи строки Код: struct PascalString { Разница между Pascal String и С\С++ String в том что паскаль хранит явно длинну строки в 0-м байте а С\С++ неявно в виде признака конца строки null-terminated string Странно что, в Qt нет ничего для работы с паскаль-строками. Название: Re: загрузка из файла в определенном формате Отправлено: Пантер от Март 10, 2010, 12:27 А зачем в Qt/с++ паскалевские строки???
Название: Re: загрузка из файла в определенном формате Отправлено: SABROG от Март 10, 2010, 12:33 А зачем в Qt/с++ паскалевские строки??? Особенно если их длинна ограничена 256 символами. Это всего-лишь 128 букв русского текста в unicode. Чуть меньше чем длинна sms, которую можно отправить с сайта mts (135 знаков). |