Информатика и технология программирования


         

Чтение элемента таблицы из столбца



// Определение size0

p-&#62size0=sizeof(int)*2 + sizeof(item) * p-&#62ns;
for (i=0,p-&#62strlnt=0; i&#60p-&#62ns; i++) // Определение длины

p-&#62strlnt += p-&#62ST[i].size; // строки таблицы

return(p);
}
//----- Чтение элемента таблицы из столбца j строки i

// функция возвращает элемент в динамической памяти

void *getrec(int i, int j, TableDef *p)
{
void *data;
int lnt; // Суммарная размерность

int k; // столбцов от 0 до j-1

if (p-&#62fd ==NULL) return NULL;
if (p-&#62ns &#60=j || p-&#62nr &#60=i) return NULL;
for (k=0,lnt=0; k&#60j; k++) lnt += p-&#62ST[k].size;
data = malloc(p-&#62ST[j].size);
fseek(p-&#62fd, p-&#62size0 + (long)p-&#62strlnt*i + lnt, 0);
//

// Смещение строк таблицы в файле +

// Размерность i полных строк +

// Сумма длин столбцов от 0 до j-1

//

fread(data,p-&#62ST[j].size,1,p-&#62fd);
return data;
}

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий