Вот файлик (851.35KB) В универе его через прогу открывают. Говорят что кто то сам написал. Я думаю что должны быть аналогичные методы открытия(преобразования до более традиционного вида). Сам нарыл некую склонность к rtf. в файле вопросы и 4 варианта ответа(первый правильный) через прогу порядок и варианты в рэндоме. сам не видел. прогу скачать возможности нет. По сути это база вопросов. буду благодарен за любую помощь /me пошёл дальше в гугл
совсем поверхностный осмотр пациента показал - в начале файла какая-то чепуха, но которая видимо имеет смысл, потом идёт что-то похожее на ртф, но вордом как ртф не воспринимаемое, но если в этом "что-то" вручную раскодировать \'e0 и тп, то получаются куски чего-то, похожего на вопрос, но не полностью, а потом куски, видимо, ответов. Потом мне на глаза попалось слово "Социология", и моя рассовая неприязнь к этим идио.., тьфу, учёным запретила мне делать что-бы то ни было дальше с этим файлом.
да, кстати.. я не сказал почему-то.. Veteriuz, было бы лучше, если бы ты дал несколько условий вопросов из теста и вариантов к ним, желательно с пометкой правильного...
ну чисто поверхностный осмотр в начале идут 04 XX - это unicode строка русская потом идет хрен знает че потом rtf вот функцию я писал для mail history reader (я в курсе что она не совершенна) Code: #include <stdio.h> #define BYTE(l,h) (((l)<<4)|((h)&0xFF)) void rtf2char(unsigned char *data,size_t max,FILE *f) { size_t uk=0; unsigned char c; while(uk<max) { // 5C = \ // 27 = ' // \' if(data[uk]==0x5C && data[uk+1]==0x27) { uk+=2; while(data[uk]<0x40){fputc(data[uk],f);uk++;} if(data[uk]>=0x60){data[uk]-=0x57;} else if(data[uk]>=0x30){data[uk]-=0x30;} if(data[uk+1]>=0x60){data[uk+1]-=0x57;} else if(data[uk+1]>=0x30){data[uk+1]-=0x30;} c=BYTE(data[uk],data[uk+1]); fputc(c,f); uk+=2; while(data[uk]<0x40){fputc(data[uk],f);uk++;} } else{uk++;} } } int main(int argc, char* argv[]) { FILE *f,*out; int szbuffer=0; unsigned char *buffer; unsigned long si=0; f=fopen("psix.test","rb"); if(f==NULL){printf("Error open!"); return 0;} out=fopen("test.txt","w"); if(out==NULL){printf("Error open out file!"); return 0;} fseek (f , 0 , SEEK_END); szbuffer = ftell (f); rewind (f); buffer=(unsigned char *)malloc(szbuffer); if (buffer == NULL) {printf("Memory Error\n"); exit (2);} if (fread (buffer,1,szbuffer,f) != szbuffer) {printf ("Reading error\n"); free(buffer); exit (3);} rtf2char(buffer,szbuffer,out); free(buffer); fclose(out); fclose(f); return 0; } воть, програмулина тебе в test.txt выдаст все че было в rtf можно поколдавать и сделать еще красивее. а вообще правильно надо хоть часть знать что там должно быть, что бы пытатся писать прогу читалку