Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <io.h>
#include <stdio.h>
#include <fcntl.h>
void main(void);
void main(void) {
int handle;
long position, length;
char buffer[2], fname[80];
// ‡ Їа иЁў Ґ¬ Ё¬п д ©« , б Є®в®ал¬ Ўг¤Ґ¬ а Ў®в вм
printf("‚ўҐ¤ЁвҐ Ё¬п д ©« : ");
gets(fname);
// ЋвЄалў Ґ¬ д ©«
handle = open(fname, O_BINARY | O_RDONLY);
// …б«Ё в Є®Ј® д ©« Ґв, ўлў®¤Ё¬ б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ
// Ё § ўҐаи Ґ¬ а Ў®вг Їа®Ја ¬¬л
if(handle == -1) {
printf("\nЌҐв в Є®Ј® д ©« !");
exit(-1);
}
// ЋЇаҐ¤Ґ«пҐ¬ Ё ўлў®¤Ё¬ нЄа а §¬Ґа д ©« ў Ў ©в е
length = filelength(handle);
printf("\n„«Ё д ©« %s б®бв ў«пҐв %ld Ў ©в®ў\n", fname, length);
// ‡ Їа иЁў Ґ¬ Ї®§ЁжЁо ¤«п звҐЁп Ё ®в®Ўа ¦ҐЁп Ў ©в
do {
printf("‚ўҐ¤ЁвҐ Ї®§ЁжЁо: ");
scanf("%ld", &position);
} while(position > length);
// “бв ў«Ёў Ґ¬ § ¤ го Ї®§ЁжЁо
lseek(handle, position, SEEK_SET);
// —Ёв Ґ¬ ®¤Ё Ў ©в ў ЎгдҐа, зЁ п б гбв ®ў«Ґ®©
// Ї®§ЁжЁЁ
if(read(handle, buffer, 1) == -1) {
// „«п ўлў®¤ б®®ЎйҐЁп ®Ў ®иЁЎЄҐ ЁбЇ®«м§гҐ¬ дгЄжЁо perror(),
// Є®в®а п ¤®Ў ў«пҐв Є б®®ЎйҐЁо, § ¤ ®¬г ў Ї а ¬ҐваҐ,
// а биЁда®ў ®Ґ бЁб⥬®Ґ б®®ЎйҐЁҐ ®Ў ®иЁЎЄҐ.
// Љ®¤ ®иЁЎЄЁ дгЄжЁп perror() ЎҐаҐв Ё§ ЇҐаҐ¬Ґ®© errno.
perror("ЋиЁЎЄ ЇаЁ з⥨Ё");
exit(-1);
}
// ‚лў®¤Ё¬ бзЁв л© Ў ©в нЄа
printf( "‘¬ҐйҐЁҐ: %ld; Ў ©в: %02.2x ('%c')\n",
position, (unsigned char)*buffer, *buffer);
// ЋЇаҐ¤Ґ«пҐ¬ ⥪гйго Ї®§ЁжЁо Ё ўлў®¤Ё¬ ҐҐ
// нЄа
position = tell(handle);
printf("\n’ҐЄгй п Ї®§ЁжЁп ў д ©«Ґ: %ld\n", position);
// ‡ Єалў Ґ¬ д ©«
close(handle);
}