Удалить из файла числа между первым и последним отрицательными компонентами - C (СИ)
Формулировка задачи:
1. Компоненты бинарного файла – целые числа. Удалить из этого файла все числа, расположенные между первым и последним отрицательными компонентами.
Это моя лабораторная работа под номером девять, предыдущие восемь с горем пополам я сделал, но лишь на девятой я понял что я ничерта не знаю в языке Си) Прошу добрых и отзывчивых людей помочь хотя бы с одной задачкой. буду очень признателен.
Решение задачи: «Удалить из файла числа между первым и последним отрицательными компонентами»
textual
Листинг программы
#include <stdio.h> #include <errno.h> #include <string.h> #include <stdlib.h> #define HIGH_LIMIT ( 5 ) void error( unsigned line) { fprintf( stderr, "%u: %s\n", line, strerror( errno ) ); exit( EXIT_FAILURE ); } int main() { FILE *fd; unsigned i = 0, cnt = 1; if ( !(fd = fopen( "file", "wb" ) ) ) error( __LINE__ ); while ( i < HIGH_LIMIT ) { if ( !( fwrite( &i, sizeof i, cnt, fd ) ) ) error( __LINE__ ); ++i; } fclose( fd ); if ( !(fd = fopen( "file", "rb" ) ) ) error( __LINE__ ); while ( fread( &i, sizeof i, cnt, fd ) ) fprintf( stdout, "%u\n", i ); fclose( fd ); exit( EXIT_SUCCESS ); }