Где найти переводчиков для проекта ?
subj.
Пытаюсь раскодировать иксовые курсоры - всё удачно, даже анамируются :) Но. Вот как должен выглядеть курсор http://www.gamedev.ru/images/?id=3599, а выглядит http://www.gamedev.ru/images/?id=3598, т.е. окрашенным как-то неправильно. Вот функция раскодирования одной строки из файла: ... struct RGB { unsigned char r, g, b; }; struct RGBA { unsigned char r, g, b, a; }; ... int fmt_read_scanline(fmt_info *finfo, RGBA *scan) { RGB rgb; unsigned char a; for(int i = 0;i < WIDTH_OF_CURSOR;i++) { fread(&a, sizeof(unsigned char), 1, fptr); fread(&rgb, sizeof(RGB), 1, fptr); memcpy(scan+i, &rgb, sizeof(RGB)); (scan+i)->a = a; } return SQERR_OK; } Считываю байты как и написано в документации - сначала байт альфа канала, потом RGB триплет. Так почему же в итоге курсор выглядит неверно ?
Считал из файла 14 байт, вот коды считанных символов (char):
1 1 2 1 1 1 1 1 1 1 1 1 -25 1
Имеется регэксп: "\x0001\x00DA.[\x0001\x0002]"
Почему же сопоставление
QString regexp_str = "\x0001\x00DA.[\x0001\x0002]";
QRegExp regexp;
regexp.setPattern(regexp_str);
regexp.setCaseSensitive(true);
QString read = ...; // вышеуказанная строка 14 символов
if(!regexp_str.isEmpty() && !regexp_str.isNull())
if(read.find(regexp) == 0)
printf("found\n");
приводит к успеху (печатается "found") ?
В тоже время
if(!regexp_str.isEmpty() && !regexp_str.isNull())
if(regexp.exactMatch(read))
printf("found\n");
всегда приводит к провалу ??