Пример 2: прочитать символ из бинарного файла, отстоящий от конца файла на 6 байтов:
f_bin=fopen("D:/User/my_file.dat", "rb");
fscanf(f_bin, "%c", &d);
printf("%c", d);
На экран будет выведено:
+
б) определение номера текущей позиции, занимаемой указателем файла (нумерация позиций начинается с нуля)
fgetpos(указатель на файл, fpos_t *pos)
где pos - текущая позиция указателя файла - переменная типа fpos_t (определен в stdio.h).
Пример: определить номера позиций начального и конечного символов файла:
fpos_t *nomer;
f_bin=fopen("D:/User/my_file.dat", "rb");
fgetpos(f_bin, &nomer); // номер начального символа
printf("\n nomer=%d", nomer);
while (!feof(f_bin)) // читаем файл до конца
{
fscanf(f_bin, "%c", &d);
}
fgetpos(f_bin, &nomer); // номер конечного символа
printf("\n nomer=%d", nomer);
На экран будет выведено:
nomer=0
nomer=15
Конспект лекций
Санкт-Петербург
УДК 519.682
Шишкин А.Д.. Программирование на языке Си. Конспект лекций. СПб.:изд. РГГМУ, 2002.- с.
Конспект лекций является пособием для студентов, изучающих основы программирования на языке Си. Предназначено для подготовки морских инженеров по специальности 141000 - морские информационные технологии,
Возможности ЭВМ как технической основы обработки информации связаны с используемым программным обеспечением (программами). Программы предназначены для машинной реализации различного рода задач. При программировании широкое применение имеют термины задача и приложение. Задача (problem, task) – проблема, подлежащая решению. Приложение (application) – программная реализация алгоритма решения задачи.
Написание программы предусматривает выполнение определенного числа действий, которые с большей или меньшей детализацией можно разделить на следующие важнейшие этапы:
- постановка задачи;
- выбор метода (алгоритма) решения задачи;
- написание программы на языке программирования С;
- ввод исходного текста программы с помощью текстового редактора, текст оформляется в виде файла (модуля) с расширением .с или .срр;
- компиляция модуля (или нескольких модулей вместе); на этом этапе получаем объектный файл, т.е. файл с расширением .obj;
- отладка синтаксиса программы;
- объединение откомпилированных модулей в программу (это часто называют компоновкой или линковкой программы); на этом этапе к программе присоединяют необходимые стандартные библиотеки и мы получаем выполняемый файл с расширением .exe;
- запуск программы на выполнение;
- отладка программы (тестирование программы и устранение ошибок);
- окончательное оформление программы.
При постановке задачи решаются (или уточняются) следующие проблемы:
- цель и назначение задачи, ее место и связи с другими задачами;
- условия и ограничения решения задачи;
- содержание функций обработки входной информации;
- требования к периодичности решения задачи;
- состав, форма и точность представления выходной информации.
Входная информация в задаче определяется как данные, поступающие на вход задачи и используемые для ее решения. Входные данные - это первичные данные документов ручного заполнения, информация, хранимая в файлах, базы данных, выходные результаты решения других задач и т.д.
Выходная информация может быть представлена в виде документов (листинга), файлов данных, сигналов управления выходными устройствами.
Алгоритм – система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число операций.
Алгоритм решения задачи имеет ряд обязательных свойств:
- дискретность – разбиение процесса обработки информации на более простые этапы (операции), выполнение которых ЭВМ или человеком не вызывает затруднений;
- определенность алгоритма – однозначность выполнения каждого определенного этапа преобразования информации;
- выполнимость – конечное число операций решения задачи;
- массовость – пригодность алгоритма для решения определенного класса задач.
В алгоритме отражается логика и способ формирования результатов решения с указанием расчетных формул, логических условий, соотношений для контроля достоверности выходных условий.
Алгоритм решения задачи и его программная реализация тесно взаимосвязаны. Чем детальнее описан алгоритм, тем проще его программная реализация.
Программа – результат интеллектуального труда, для которого характерно творчество. В любой программе присутствует индивидуальность ее разработчика. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать принятым стандартам.