Вы находитесь на странице: 1из 8

���������

���� ������� �� � �确��� ���?������ �� ��⥬���� �ணࠬ 㢠���.


�?� ������ ��५?� �����, 直� ������? ���������� ������ ��㤥��?

��। ��������� ���� ������ ������୮� ஡��, � ���? ������, ��
�? �����?��� ������ 㢠�� � 室? ஡��.
��� ������୨� ஡?� �����?��� ������ ����, � 类�� ��㤥�� �㤥
�����㢠� �?���⮢�� �� ஡�� � �?����?�����? � ��������, �?��
㢠�
ᯥਬ� � � � � ᪫ ���� �� ?�.
१���� ��ਬ���?
��?� �� ��������� ������୮� ஡�� ������� ��� ������ �� �?
��?�
�?� �� ����㯭��� ������?.
������ �� ��?��:
� �?���� �� ������ �� ��?�� ������ ���?���, ��� ��
��?� �������
᪫������ � ��⨭, �? �?����?����� ���� ��������� �������:
? ����� �ண� � �� �ਧ��祭��;
? ����㢠� ⨯� � �ਧ��祭�� ������쭨� ��?����;
? ����� ��⮤� � �਩��� ������⠭? �� ���?襭�? ���⠢�����
�����?;
? ����� �������� �ண�.
� ������୨� ஡���, �? ���ॡ���� ஧���� �㭪�?�, ஧�?�
�����㢠� �� ����㯭�� 蠡�����:

⨯ ����୥���� ���祭��;
� ����୥�� ���祭�� ������;
�? ��ࠬ ������ਬ�� � 㭪�?�, �� ⨯�, � ��������;
� ������� �㭪�?�;
�ᮡ� � � � � �?;

��� �㭪�?� � 类��? �� ࠬ


�������ਬ�� ���� � ���� ⠭�, ���ᠭ� �
header 䠩�?, �����?��� �����㢠� ��? ᯮ� ?����? � ��� ����⠭� ?
����� ��.

�ਪ���:
���⠪�� :
#include <fcntl.h>
#include <sys\stat.h>
int open(const char *filename, int access [, unsigned mode]);

����, 直� ������ ���⨯ - io.h

���ᠭ��:
�㭪�?� open �?��ਢ�� 䠩�, ?�'� ���ண� ������ ������
��஬

filename, ? �?���⮢��� ���� �� ����㯭�� �����?� �⠭�� � / ���
������, � ���������? �?� ��ࠬ ����� access.
��� �⢮७�� 䠩�� � ���砩���� ०��?, �� ����� ��᢮��
�?����?��? ���祭�� _fmode, ��� �� �?����? 䠩�� ������ ���?�
O_CREAT ? O_TRUNC ��'易�? �����?�� ���?⮢��� ���?筮��
��������� (OR) � �����?���� ०���� ��।��?.
���ਪ���:
open("xmp",O_CREAT|O_TRUNC|O_BINARY,S_IREAD);

�⢮��� ��?������ 䠩� � ��ਡ�⮬ �?�쪨 ��� �⠭�� � ?�'�


XMP, ��箬�, ��� �?� ��� ?���, � �?� ���?������� �� ��쮢��
�������.

��� �㭪�?� open �� ࠬ ���� access ������������� ��宬 ���?筮��


���?⮢��� ��������� 䫠�?�, ����客���� � ���� ����㯭��
ᯨ᪠ᯨ� . � ���讣� ᯨ�� � � � � � � � � � � �
⠭��
�� �?�쪨 ����
䫠�; ?��? 䫠�� ������ ������⮢㢠��� � �� � �� ?筨�
����?���?��.

���᮪ 1: 䫠�� �⠭�� / ������ .

O_RDONLY �?������ �?�쪨 ��� �⠭�� .


O_WRONLY �?������ �?�쪨 ��� ������ .
O_RDWR �?������ ��� �⠭�� ? ������ .

���᮪ 2: ?��? 䫠�� ������.


O_NDELAY �� ������⮢������; ��� ��?᭮� �? � ��⥬�� UNIX.
O_APPEND ��� 䫠��� ��⠭�������, � ��। ������ �����?��
������, ,����?���� 䠩�� �㤥 ��⠭������ �� �?���� 䠩��.
O_CREAT ��� 䠩� ?���, 楩 䫠��� �� ��� �?类�� ���祭��. ���
䠩� �� ?���, �?� �㤥 �⢮७��, ? �?� � ��㬥��� mode �����
������⠭? ��� ��⠭���� �?�?� - ��ਡ��?� 䠩��, � ? � �㭪�?�
chmod.
O_TRUNC ��� 䠩� ?���, ���� ������� ��?������� �� 0. ��ਡ��
䠩�� �������� �� ��?�����.
O_EXCL ������⮢������ �?�쪨 � � � O_CREAT. ��� 䠩� 㦥
?���, � �㭪�?� ������� �������.
O_BINARY ����� 䫠� ���� ��� ��⠭������� ��� �� ⮢ ࠭ ������
�?������ 䠩�� � ��?������� ०��?.
O_TEXT ����� 䫠� ���� ��� ��⠭������� ��� �� ⮢ ࠭ ������
�?������ 䠩�� � ⥪���� ���⮢ ०��?.
�? ����⠭� (O_...) �����祭? � 䠩�? fcntl.h.
��� �? O_BINARY, �? O_TEXT �� ������?, 䠩� �?��ਢ������ �
����?�, �?����?��� �������?� ��?��?� _fmode.
०��? � ࠭
��� � ���㤮�? �� ࠬ ����� access ��� ����� 䫠� O_CREAT, ���
�����?��� ������ ��㬥�� mode � ����㯭�� ᨬ���?筨�
����⠭�, �����祭�� � 䠩�? sys\stat.h.
���祭�� �� ࠬ ����������� mode:
S_IWRITE ����?� �� �����.
S_IREAD ����?� �� �⠭��.
S_IREAD/S_IWRITE ����?� �� �⠭�� / �����.
����୥�? ���祭��: �� ��?譮�� �����襭�? open ������� �?��
���?�'󬭥 �᫮ handle - ���?筨� ����� �?���⮣� 䠩��. ����?����
䠩�� (����?���� ���筮� �����?�)��⠭��������� �� ��砫� 䠩��.
�� ������? �㭪�?� ������� ���祭�� -1, ? ��?��� errno ��ਬ��
���� � ����㯭�� ���祭�:
ENOENT - ������� ��� ?�'� 䠩�� �� �������?;
EMFILE - ������ ����� �?����� 䠩�?�;
EACCES - ����� ����஭���;
EINVACC - ���?୨� ��� ������.
������ �� ��ଫ���� �ண: ண ࠬ
����� �ணࠬ , ����ᠭ�� ��㤥�⮬ , ������? �?����?��� ����㯭��
�������:
1. ������ 䠩� � ⥪�⮬ �ண� ������� ��� ��������� 直�
������:
? ?�'� 䠩��;
? ����� ६��� 猪 ������ �ਧ��祭�� 䠩��;
? �冷� 直� ?�����?��� ����.
2. � �?��? 䠩�� ��� ��� �冷�, 直� ������, � � �?���� 䠩��.
3. ���?����� ⥪��� ������� �?����?��� ����㯭�� 㬮���:
? ��४⨢� �९����, ��'���� ���⨯?� � 㭪�?�,
������쭨� ��?���� - ���?�������� � ���㫮� lj �?�u� ���.
? ������ ������ ��� ���� ������?�, ���?筮 ��������� � ?�訩,
�ᮢᮢ�������� �� ? �����?� �� ࠢ ��� ?��� ᭮ �����?�쮣�. �?��ୠ
�㦪� ({), 猪 ������ ���⮪ �����, ������� ���室���� � ⮬� �
�浪�, � ? ������, 直� ��?��� 楩 ����, � �㦪�, 猪 ������
�?���� ����� (}) - � ⮬� � �⮢ ⮢ � 稪�, � ��稭������ 楩 ������
�ਪ���:

if(a){
while(i<0){
i++;
j++;
a = 0;
}
}
4. �㭪�?� � ��?��? ������? ��� �ᬨ᫥�? ?���� �? �?����?�����
㣮���?� ����?�:
���?��
��� �����
a
��ᨢ (�������� ⨯)
ch
������
cb
�?稫쭨� ����?�
dw
����� �?�� ��� �����
h
���?筨� �����
hdc
���?筨� ����� ���⥪��� ������
hwnd
���?筨� ����� �?���
i
?����� (�������� ⨯)
l
����� �?��
lp
����?� (������) �����稪 (�������� ⨯)
n
�?��
np
�����?� (���⪨�) �����稪
pt
��窠 ���ᠭ� ���� ���न��� x,y
sz
�冷� 直� ���?�������� �㫥�
w
�?�� ��� �����
������ୠ ஡�� �1 "�ண�
���?��� 䠩�?�"
�?���⮢��:
1. ���?��� ��? �㭪�?� ������⠭? � �ணࠬ ?.
2. ����� [1] �� 48-54, 60-116
��������:
1. ������� �����㢠��� �ண��� copy1.exe � copy2.exe.
2. ���?��� ஡��� �ண. ண ࠬ
3. � �ணࠬ? copy1.c ���?��� �?��୨� ०�� ������ �� ���� 䠩�?�
�� ⥪�⮢�� ? ������� �ண� ��� ���?��� ����� ��������
�?��୮�� 䠩��. ������� ��ᯥਬ���� ���?��㢠� � ����?.
���᭨ � �� 稭� �䥪��.
4. � �ணࠬ? copy1.c ���?��� �?��୨� ०�� ������ �� 䠩��, 直�
�����������, �� ⥪�⮢�� ? ������� �ண�. �������
��ᯥਬ���� ���?��㢠� � ����?. ���᭨ � �� 稭� �䥪��.
5. � �ணࠬ? copy2.c ����� ��⨬��쭨� ஧�?� �����. ������㢠�
���?�.
6. � �ணࠬ? copy2.c �����?�㢠� �ண� ⠪, 鮡 ���� �������� ��
��࠭��?�� 䠩�� �� ��������� �㭪�?� puts(), fputs, printf(),
fwrite().������� ��ᯥਬ���� ���?��㢠� � ����?. ���᭨ �
��稭� �䥪��.
����஫�? ����⠭��:
1. ��� �?��?�������� ⥪�⮢�� ०�� ������ �� 䠩�� �?� �?��୮��?
2. �� ⠪� ���ਯ��(handle) 䠩��?
3. ��� �?��?�������� ���?�᭨ � ����� �� 䠩�� �?� �������
⮪� � � � � ?
4. � 直� �������� �?��� ���?�쭨� ������ ⮪� ���� ? ����?
������ୠ ஡�� �2 ����㢠���
��⠫���.
�?���⮢��:
1. ���?��� ��? �㭪�?�, ������⠭? � �ணࠬ ? �㭪�?�.
2. ���?��� �?���? �����?�, ��⮤� ��ॢ��� �?�⭠�����?筨� �ᥫ �
��?����� ��⥬� ���� ᫥� � ������ .
��������:
1. �஥�ਬ���㢠
ᯥਬ� � � � � �㭪�?‫ ﬨ‬findfirst() findnext(), ��?����
��ਡ�� �㪠��� 䠩�?�.
2. ���᭨� �ਧ��祭�� ���� ff_reserved � �������? ffblk.
����஫�? ����⠭��:
1. �� �㭪�?� findnext() "�?��������", �? 䠩�� ����?��� �㪠�?
2. ���� �� ��?�� 䠩�� ����������� � ��?��� ���� �?��� 1 �.?
������ୠ ஡�� �3 ���㢠��� 䠩��.
�?���⮢��:
1. ������ �� �1.
2. ���?��� �㭪�?� lseek(), fseek()
���?筥 ��������:
�ண� ������� ��������㢠� ���㢠��? ? �����㢠��? �i��୨�
䠩�?� �� ���?�쭮�� ������� � ������⠭�� ��஫�.
������ �� �ண�:
1. ����� �ண�: Encode.
2. I���䥩� - ��������� �冷�, � 直� ��������� ०�� ஡��
�ண�, ��஫�, � ⠪�� ?���� 䠩�?�.
3. ����� ���㢠��� - ���� /e, ०�� �����㢠��� - ���� /d.
4. �� ���i ୮�� �������? �� ࠬ ����?� �ண� ������� �������
?��ଠ�?� �� �?୥ �������� �����? ��� �.
�ࠬ
5. ����஢ � � � �䠩� ������� c�������� ?� ��������� ? ���������
�����.
6. ��������� ������� �?���:
? �i������� ���� 䠩��;
? ����� ����?� �ண�;
? �冷� Copyright, ?� 类�� �஧�?��, 类� �ண�� 䠩� ��
����஢� � � �
;
? ����஫�� ���, � ������� ���������� � ������?
�����㢠���;
? ?�� ���?����� 䠩�� ��� ���� �?��������� �� �����㢠��?
? ?��� ?��ଠ�?� �� ஧�� ஧஡����.
����஫�? ����⠭��:
1. ��? ?����� ०��� ������ �� 䠩��?
2. � 类�� ०��? �����?��� �?���� 䠩�, 鮡 ��� ������?���
������ ����஫�� ��� �� ����� 䠩�� � ������?
������ୠ ஡�� �4 ���?���
��⠫��?�.
�?���⮢��:
1. ���?��� ४����� ᨢ� �⮤ ������� �㭪�?�.
2. ���?��� �㭪�?� ���㢠��� ��४��?‫ﬨ‬.
3. ���?��� �㭪�?� ஡�� � �浪��� (ASCIIZ).
���?筥 ��������:
�ண� ������� ��������㢠� ���?��� 䠩�?� ? ��४��?�, �
������ �����㢠祬, � ⠪�� 䠩�?� ?� ��?� ��������� �?���४��?�.
1. ����� �ண�: Dircopy.
2. I���䥩� - ��������� �冷�, � 直� ��������� ?�'� ��४��?�, ��?��?
��
���?� , ? ?�'� ��४��?�, �㤨 ���?�.
3. �� ���?��? 䠩�?� ������? ����?����� ��� ? �� �⢮७�� 䠩�?�,

� ⠪�� ��? ��ਡ��.


4. ��������� ��ॢ� �?���४��?� ������� �筮 �?����?���
���?�����, ������� ��? �������? �?���४��i� ? 䠩��, �
���室����� � ���.
5. �� ���i ୮�� �������? �� ࠬ ����?� �ண� ������� �������
?��ଠ�?� �� �?୥ �������� �����?
��� �.
�ࠬ
6. �?� �� �
஡�� �ண�ண �
ࠬ ������ ������� �� �� �࠭ ��� ?��ଠ�?�
�� �?� ,� ��������� (�⢮७�� ��४��?� � ������ ?�'�,
���?��� ������� 䠩�� ?. �. �.).
7. �ண� ������� �?��i����㢠� ������� �����? �?��� �� ����, �
⠪�� ?��? ������� �� ஧�� ஧஡����.
����஫�? ����⠭��:
1. �� ⠪� ४����
ᨢ� � 㭪�?�?
2. ���� ������� ��� �?����?��� ॠ�쭠 ४���� ᨢ� � 㭪�?� ?
3. �� ������ ��ࠧ: "�㭪�?� ������� �?� �� ४������ ᨢ� ��� "?
������ୠ ஡�� �5 ����� � ������ ᪮� � � �
�������㢠砬�.
�?���⮢��:
1. ���?��� �ଠ� FAT, DPB, BPB, �ଠ� MBR � boot ᥪ��?�.
2. ���?��� �㭪�?� ஡�� � ����. ᪠� �
���?筥 ��������:
�ணண�
ࠬ ������� ������� �������� ������ � ⪮�᪠ �⠪�� �ଠ�
��?� ஧�?�?� ��᪠, ������� ?��ଠ�?� �� ��'� ���?筨� ���?�,
�?��?��� �?�쭮�� �?���, � ⠪�� �?��?��� ���㡫����� ������ ᪮����
������ � 墮��� ������?�. �� ������? �����㢠� �ண�
������� ����?��� � ������ ᪮� � � � 䠩�? ��?�� MBR.
1. ����� �ண� - Diskinfo.
2. ?���䥩� - ��������� �冷� � 类�� �����㢠� ������ ?�'� 䠩�� ���
���०���� MBR.
����஫�? ����⠭��:
1. �?� 箣� �������� ஧�?�?��� FAT?
2. �� ������� 直� � ஧�?�?� ����⪮�� ���� ��⨢���?
3. ��� ���ᨬ��쭠 �?��?��� ஧�?�?� �� ����⪮�� ����?
4. ��� ���ᨬ��쭠 �?��?��� ���?筨� ���?� � ��⥬??

������ୠ ஡�� �6 �ண�


�����祭�� ����� ⭮� � � ண���
����i����i� ��⥬�
�?���⮢��:
1. ���?��� �������� ஧�?饭�� ����� BIOS.
2. ���?��� ஡��� � ���ਢ���‫�� ������ � ﬨ‬ᥬ���୨� ��楤��.
���?筥 ��������:
����� �ண� : Sinfo.
�ணண�ࠬ ������� ������� �� ��
� �࠭ :
1. ����� ����?� �����?���� ��⥬�.
2. ���⥬�� ���� ? ��.
3. ���� �⢮७�� ����?� Bios. (Bios Data 0xf000 : 0xfff5)
4. ���� ����⨢��� ���'��? (Int 0x12).
5. �?��?��� ���?������ ? ��ࠫ��쭨� ����?� ? �� ���� (Int 0x11,
Bios
Data).
6. �?��?��� floppy-����� ᪮�? � � �⥬ ?. (Int 0x11).
7. ? ���祭�� ��?���� ��祭�� (Dos environment).
8. ������ (ᥣ���� : ��?饭��)����㯭�� ���ਢ���:
? - 0x05 (Print screen);
? - 0x10 (video functions);
? - 0x09
? - 0x16 (keyboard interrupt).
9. ���?�������� �� �����?��� � ��⥬? ᮯ������.
10. ���?�������� �� �����?��� � ��⥬? "���?" (Int 0x33, Fn=0).
11. ���?�������� �� �, � ����������� �?�� ������ ��
��� ��ॢ?ઠ
�⠭�� (Verify On/off).
����஫�? ����⠭��:
�� ⠪� �ᥢ����?��? � Turbo C?
��? � ᮡ�������? ������⠭�� �ᥢ����?����?
������ୠ ஡�� �7 �ண� �?�������
i���䥩��
�?���⮢��:
1. ����� [1] ஧�?� 9.
2. ������ �਩��� ���㢠��� ���'����.
3. ���?��� �㭪�?� ����� � ��� �᮫?.
���?筥 ��������:
������ �ண�-�������� 猪 ��� �?������ ?���䥩� ᯫ�����
��‫��אַ‬᭥ ���� � �?����?��� ���祭�������� �������.

1. ����� �ண�: ���?�쭠.


2. ����� ��࠭�: ⥪�⮢��.
3. �� ����쮬� �浪� �� ࠭
����� ��� 室���� ���� �㭪�?����쭨�
����?�.(���ਪ���, � � Norton Commander).
4. �� ���᪠��? �� �㭪�?�����? ����?�? �� �� ࠭ ������? ������
�?
���
�?����?��? �?���. �� �?�?�� ���� �?��� ��� ��� ��‫����אַ‬
�ப����
(scrolling). (���ਪ���, �� ����� ����?�? F5 ������ �� �� ࠭��?
��� ?�
�ப���� ⪮ , � 类�� ����� �?����� ����� ���ਢ��� �?� 00h ��
0ffh).
5. �?��� ������? ��� �� ? ���?���.
6. �� ���᪠��? ������ ����?�? (���ਪ���, F2)��� ���������
�?��� ?�
Copyright (���?��� ⮬�, � � ஡����� � Turbo C).
7. �� ����� ����?� F10 ? Alt-x �� �� ࠭ ��� �'��� �?��� �
�?
����⮬ "
Do you realy want to quit the program? " ? ��? ���i� " Yes " ? " No "
(���ਪ���, � � Norton Commander �� ���᪠��? F10). ����� ������
���?�쭨�.
8. ��������� �?��� �?����� �� ���᪠��? ����?�? Esc.
9. �� ���᪠��? ����?�? F1 (Help)�ண� ������� ��?���
�⠭�� ?� ⥪�⮢��� help-䠩�� � �?��� ?� ��‫���אַ‬ � ᭮�
�ப��⪮�.
10. �� ���?�祭�� ஡�� �ண� ࠬ �� ⪮��� �� ?�� ��࠭ ����� ���
ண �
�?��������.
11. ���?���� ⥪�� �ண� ������� �?����� � ���?�쪮� ������.
����㢠��� �ண� ������� ��?����� ��� �� ���������
�⨫i� make, ��� �� ��������� prj-䠩��.
����஫�? ����⠭��:
1. �� ������ � i �冷� � j �⮢�稪 ᨬ��� 'a' � ��ਡ�⠬� BLACK �
��ਡ�⮬ 䮭� CYAN
2. �� ��६���� �?������?��� � ⥪�⮢��� ०��??
������ୠ ஡�� �8 �ண�
?����?筮�� ������?������� ����.
�?���⮢��:
1. ������ [1] ஧�?� 9.
2. ���?��� ᨭ⠪�� � ������⠭�� ����?����?� �� �㭪�?�.
���?筥 ��������:
������ �ண�-�������� 猪 ��� �?������ ?���䥩� ᯫ�����
��‫��אַ‬᭥ ���� � �?����?��� ���祭�������� �������.
1. ����� ��࠭ �� : ⥪�⮢��.
2. ����?� �?���� ���� ���������� � ���? ��ਧ��⠫쭮�� �浪�
(��ਧ��⠫쭥 ����), ?��? �?��? - � �����? ��‫����אַ‬ � ᯨ� �
�� ?�
(��‫����אַ‬� ᭮� ��� ).
3. �ࠩ �����ࠢ ��� (��⠭���)���?�� ��ਧ��⠫쭮�� ���� �������
��� ���?� Help.
4. ���ᨬ��쭠 �?��?��� �?��?� - �� ���� ����.
5. �� ���?���?� �� ���� ������? ��� ���?�? ����?�? Esc,
Enter, PgUp,
PgDn, Home, End, � ⠪�� ����?�? ���?���.
6. ����� ��� ������⠭? 3 ���� ���?� ��‫����אַ‬ � ᭮� ��� :
? ��� ���?� � ��⨢���, � �� ���᪠��? �� ����?�� Enter -
������������ ���� �?��� ���쪮�� �?��� � �?����?��� �?� �
��i�
�?���.
? ��� ���?� � ��⨢���, � �� ���᪠��? �� ����?�� Enter (���
����?� Tab, Shift+tab)��?�������� ���?������ ���?� ������ ?

ᯨ ᯨ�������
�ࠬ� � � ?� ������� ���?�.
? ��� ���?� � ��⨢���, � �� ���᪠��? �� ����?�� Enter �
�����㢠� �'������ ������?��� ।��㢠��� �� ࠬ ����
�?����?���� ���i�. �� ������?��� ��� ��� ॠ�?������ �
������।�� � �浪� ����, ⠪ ? �� ��������� �������
ᯥ�?��쭮�� �?��� ���஢ �������।��㢠���.
7. ���஡�� ?����?筮�� ������?������� ���� ���� ��� ��'󤭠�� �
���� �ண� ?� �?������ i���䥩ᮬ (�. �. N7).
8. ���?���� ⥪�� �ண� ������� �?����� � �?�쪮� ������.
9. ����㢠��� �ண� ������� ��?����� ��� �� ���������
�⨫i� make, ��� �� ��������� prj-䠩��.
����஫�? ����⠭��:
���� �㭪�?� BIOS ��� ஡�� � ����
��
࠭ ������ ��� ?��?� �?�
�㭪�?� �? ������⮢���� ��‫?�������?� �� ����� �ﬨ‬
�?�����:
1. ����?� �.?. ��ࠢ ����������ᠬ� . - ����: ��襩�� 誮��, 1992.
2. ����?� �.?. ���⥬��� �ண ������ண� � � . - ����: ��襩��
ࠬ ஢�
誮��, 1991.

14
������ୠ ஡�� �8 �ண� ?����?筮�� ������?�������
����.
1
���������