Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #include "arr_dbl_t.h"
  5. #include "read_l7a.h"
  6. #include "write_l7a.h"
  7.  
  8. void parse_l7a(const char *filename, arr_dbl_t *ad_object)
  9. {
  10.   int rl7a_result;
  11.   size_t i;
  12.   rl7a_result = read_l7a(filename, ad_object);
  13.   if (rl7a_result == RL7A_SUCCESS) {
  14.     printf("\nSuccess with file name %s.\n", filename);
  15.     printf("Array has %zd elements ...\n", ad_object->len);
  16.     for (i = 0; i < ad_object->len; i++)
  17.       printf("  %.18g\n", ad_object->arr[i]);
  18.     printf("\n");
  19.  
  20.     // Avoid memory leak.
  21.     //free(ad_object.arr);
  22.   }
  23.   else
  24.     printf("\nFailure code %d with file name %s.\n", rl7a_result, filename);
  25. }
  26.  
  27. int main(int argc, char **argv)
  28. {
  29.     if (argc != 4)
  30.     {
  31.         printf("Number of paramaters is incorrect. \nExpected is 3 paramaters\n");
  32.         printf("Exiting program!");
  33.         exit(1);
  34.     }
  35.    
  36.     arr_dbl_t file1_cont, file2_cont, result_cont;
  37.     int write_result;
  38.     int i, j;
  39.    
  40.     parse_l7a(argv[1], &file1_cont);
  41.     parse_l7a(argv[2], &file2_cont);
  42.    
  43.     result_cont.len = file1_cont.len + file2_cont.len;
  44.     result_cont.arr = malloc(result_cont.len * sizeof(double));
  45.     for(i = 0, j = 0; j < file2_cont.len; i++)
  46.     {
  47.         if(i >= file1_cont.len)
  48.         {
  49.             result_cont.arr[i] = file2_cont.arr[j];
  50.             j++;
  51.         }
  52.         else
  53.             result_cont.arr[i] = file1_cont.arr[i];
  54.     }
  55.     write_result = write_l7a(argv[3], result_cont.arr, result_cont.len);
  56.     if (write_result == WL7A_SUCCESS)
  57.         printf("Successfuly opened, copied data into, and closed the destination file!\n");
  58.     if (write_result == WL7A_OPEN_FAIL)
  59.         {
  60.             printf("Failed to open destination file\n Exiting!\n");
  61.             exit(1);
  62.         }
  63.     if (write_result == WL7A_CLOSE_FAIL)
  64.     {
  65.         printf("Failed to close destination file\n Exiting!\n");
  66.         exit(1);
  67.     }
  68.    
  69.     int k;
  70.     printf("Array copied into the destination file has %ld elements and is as shown ...\n"
  71.                                                                             , result_cont.len);
  72.     for (k = 0; k < result_cont.len; k++)
  73.         printf("  %.18g\n", result_cont.arr[k]);
  74.        
  75.   return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement