|
��������
dbminit, fetch, store, delete, firstkey, nextkey - ������������ ��
���������
typedef struct { char *dptr; int dsize; } datum; dbminit(file) char *file; datum fetch(key) datum key; store(key,content) datum key,content; delete(key) datum key; datum firstkey() datum nextkey(key) datum key; dbmclose()
��������
��� ��������� ������� �������� � ���� ������ � ������ �������� "����-����������". ��� �������� �������������� � ����� �������� (� �������� ������) ������ ������ � ������������ � ��������
������ �� ���� ��� ��� ��������� � �������� �������. ������ �
�������� ����������� ����� ����� ���������� -ldbm.
"�����" (keys) � "����������" (contents) ����������� �����
datum. ����� ���� ������������� ������ �������� dsize, �� �������
��������� ��������� dptr. ��������� ��� ������ � ������� ASCII,
��� � ������������ �������� ������. ���� ������ ������������� �
���� ������. ���� ���� ������������ ����� ������� � ������� �������� � ����������� .dir. ��� ��������� ���������� ���������� ��
������ ����� � ����������� .pag.
��� ����, ����� ���� ������ ����� ���������, ��� ������ ����
������� �������� dbminit. � ������� ������ ���� ������� ����� �
������������ .dir � .pag ������ ������������. (������ �� ��������� � ������� �������.)
����� �������� � ������, ���������� ��� ������, ����������� ������ �� fetch; ������������ ��� ������ ��� � ������� store. ���� (� ��������� � ��� ����������) ��������� ������������� delete. �������� ������� ������� ���� ������, ���������� � ����, � ����������� ������������ ������� � ������� ������� firstkey � nextkey. ������� firstkey ���������� ������ ���� � ��. ��� ������ ����� � �� ������� nextkey ���������� ��������� �� ������� �������� �����. ��������� �������� ������ � ��:
for (key=firstkey(); key.dptr!=NULL; key=nextkey(key))�������� �� ������������ �������� dbmclose. �� ������ ����������� ����� ��������� �����.
�����������
��� �������, ������������ �������� ���� int, �������� ��
������� �������������� ����������. ��� ��������, ������ 0, �������� �����. ������������, ������������ �������� ���� datum, �������� �� ������� ������� ��������� ��������� dptr.
���������
���� .pag ����� ��������� �������, ������� ��� ������� ������
����� � ������ ���� ��������� �����������. � ���������� ��������
��� ���� ������ ����������� �������� �������� �����. ����� �����
�� ���������� �������� ���������� (cp, cat, tp, tar, ar) ��� ���������� ������.
��������� dptr, ������������ ����� ��������������, �������� �
����������� ������, ������� ���������� ��� ����������� ����������.
����� ���� �������� � ���� "����/����������" �� ������ ��������� ������ ����������� ����� (1024 �����). ����� ����, ��� ����
"����/����������", ��������� � �������, ������ ���������� � �����
�����. ������� store ���������� ������ � ��� ������, ���� �������� ���� �������� ���������� �������.
������� delete ��������� �� ����������� �������� ������������, ���� � ������ ��� ��������� ��� ������������ �������������. ������� ������������ ������, ���������� ��������� firskey � nextkey, ������������ ���������� �����������, � ����� ����.
|