Функции и Графики ПРОГРАММИРОВАНИЕ на C++ / Turbo Pascal

ФУНКЦИИ
и ГРАФИКИ

ЭЛЕМЕНТАРНЫЕ ФУНКЦИИ
ГРАФИКИ
ТЕСТЫ
КОНТАКТЫ
КАРТА САЙТА
НА ГЛАВНУЮ

NEW !!!

ПРОГРАММИРОВАНИЕ
TURBO PASCAL
C++
ПРОВЕРЬ СВОИ ЗНАНИЯ!
ЛАБОРАТОРНАЯ №5 ВАРИАНТ 4
Задача: Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Скопировать строки из входного файла в выходной в обратном порядке строк. Имена файлов задаются в виде аргументов командной строки.
>>Скачать<<
Решение:
//---------------------------------------------------------------------------
#include < stdio.h>
#include < stdlib.h>
#define MAXN 1000
int pos[MAXN];
//---------------------------------------------------------------------------
void main(int argc, char* argv[])
{
      if(argc != 3)
      {       printf("ENTER FILE NAMES FIRST!!!\n");
      return;
      }       FILE *input = fopen(argv[1],"rt");
      FILE *output = fopen(argv[2],"wt");
      if(!input || !output) printf("ERROR FILE NOT OPENED!!!\n");
      else
      {       //ИНДЕКСИРОВАНИЕ ФАЙЛА       char str[256]; int ns = 0;
      for(ns = 0; ns < MAXN; ns ++)
      {
        pos[ns] = ftell(input);
        if(fgets(str,256,input) == NULL) break;
      }
      //ЗАПИСЬ НОВОГО ФАЙЛА
      for(int i = ns-1; i >= 0; i--)
      {
        fseek(input, pos[i], SEEK_SET);
        fgets(str,256,input);

        fputs(str,output);
      }

      fclose(input); //Закрытие файлов
      fclose(output);
      }
}
//---------------------------------------------------------------------------
Используются технологии uCoz