Advertisement
TwITe

Untitled

Oct 4th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. void* load(int id) {
  2.     FILE * data_file;
  3.     void* return_data = malloc(40);
  4.     for (unsigned int i = 0; i < indexes[id].file_names.size(); i++) {
  5.         const char* current_filename = indexes[id].file_names[i].c_str();
  6.         int start_reading_position = indexes[id].start_reading_positions[i];
  7.         int end_reading_position = indexes[id].end_reading_positions[i];
  8.         int reading_elements_number = end_reading_position - start_reading_position;
  9.         data_file = fopen(current_filename, "a+b");
  10.         void* current_read_data = (char*) malloc(reading_elements_number);
  11.         fseek(data_file, start_reading_position, 0);
  12.         (void*) fread(current_read_data, 1, reading_elements_number, data_file);
  13.         memcpy(&return_data, &current_read_data, reading_elements_number);
  14.         free (current_read_data);
  15.     }
  16.     return return_data;
  17. }
  18.  
  19.     void* returned_data = load(1);
  20.     int* casted_data = (int *) &returned_data;
  21.     for (int i = 0; i < array_length; i++) {
  22.         cout << *(casted_data + i) << " ";
  23.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement