Удалить из файла числа между первым и последним отрицательными компонентами - 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 );
}

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы