Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
28.06.2014
Размер:
2.95 Кб
Скачать

#include <stdio.h>
#include <conio.h>
#include <iostream.h>

const int nmax = 100;

int FileConvert(char *fname1, char *fname2);
int FileChange(char *fname2, int m, int n);
int BinOutput(char *fname);


int main(int argc, char *argv[]) {
  int m, n;
  if (argc < 3) {
    printf("?? эRЎўяўR§-R фя яї?ў Rч!\n");
  } else  
    if (FileConvert(argv[1], argv[2]) ){
      cout<<"\nVvedite nomera zapisei\n";
      cin>>m;
      cin>>n;
      BinOutput(argv[2]);
      FileChange(argv[2], m, n);
      BinOutput(argv[2]);
    } 
  getch();
  return 1;
}
   
   
int FileConvert(char *fname1, char *fname2){
   float arr[2];
   FILE *file1;
   FILE *file2;
   if ((file1 = fopen(fname1, "r")) == NULL)
    { printf("ЌҐў®§¬®¦­® ®вЄалвм д ©« '%s'\n", fname1);
      return 0;
     }
   if ((file2 = fopen(fname2, "wb")) == NULL)
    { printf("ЌҐў®§¬®¦­® ®вЄалвм д ©« '%s'\n", fname2);
      return 0;
     }
   for (int i=0; ; i++)
   if (fscanf(file1," %f %f",&arr[0], &arr[1]) < 2) {
     if (feof(file1)){
        printf ("Љ®­Ґж д ©«  '%s'\n", fname1);
        break;
     }else
      { printf ("ЋиЁЎЄ  з⥭Ёп Ё§ д ©«  '%s'\n", fname1);
        fclose(file1);
        break;
       }
    } else {
      cout<<arr[0]<<"  "<< arr[1]<<"\n";
      if (fwrite(arr, 2* sizeof(float), 1, file2) < 1)
      { printf ("ЋиЁЎЄ  § ЇЁбЁ ў д ©« '%s'\n", fname2);
        break;
      }
  }
    cout<<"‘®§¤ ­ЁҐ ЎЁ­ а­®Ј® д ©«  § ўҐа襭®";
   fclose(file1);
   fclose(file2);
   return 1;
  }
  
  
int FileChange(char *fname2, int m, int n){
   float arr1[2];
   float arr2[2];
   float a;
   FILE *file2;
   if ((file2 = fopen(fname2, "rb+")) == NULL)
    { printf("ЌҐў®§¬®¦­® ®вЄалвм д ©« '%s'\n", fname2);
      return 0;
     } else {
        fseek(file2, 0, SEEK_END);
        if (((ftell(file2)/2/sizeof(float)) < m) || ((ftell(file2) /2/sizeof(float) < n))) {
          cout<<"!!!!!!!Takih zapisei net!!!!!!\n";
         } else {
          fseek(file2, (m-1)*2*sizeof(float), SEEK_SET);
          fread(arr1, sizeof(float), 2, file2);
          fseek(file2, (n-1)*2*sizeof(float), SEEK_SET);
          fread(arr2, sizeof(float), 2, file2);
          fseek(file2, (n-1)*2*sizeof(float), SEEK_SET);
          fwrite(arr1, 2* sizeof(float), 1, file2) ;
          fseek(file2, (m-1)*2*sizeof(float), SEEK_SET);
          fwrite(arr2, 2* sizeof(float), 1, file2);
          
        }
                    
  }
   fclose(file2);
   return 1;
  }
 
  
int BinOutput(char *fname)
 { FILE *file;
 int a;
 int i;
  float arr[2];
   if ((file = fopen(fname, "rb")) == NULL)
    { printf("ЌҐў®§¬®¦­® ®вЄалвм д ©« '%s'\n", fname);
      return 0;
     }
    cout << "File "<<fname<<" ";
   fseek(file, 0, SEEK_END);
   a=ftell(file)/2/sizeof(float) ;
   cout << a<<" zapisei\n";
   for (i=0; i < a; i++) {
     fseek(file, i*2*sizeof(float), SEEK_SET);
     fread(arr, sizeof(float), 2, file);
     cout << arr[0]<< " " <<arr[1]<<"\n";
   }fclose(file);
   return 1;
  
}

Соседние файлы в папке Laba3
  • #
    28.06.201440 б51.bin
  • #
    28.06.201433 б71.txt
  • #
    28.06.20142.95 Кб5cd.cpp
  • #
    28.06.20142.95 Кб5cd.~cp