title: How do i read a file backwards using read() in c?
body: <p>I am supposed to create a program that takes a given file and creates a file with reversed txt. I wanted to know is there a way i can start the read() from the end of the file and copy it to the first byte in the created file if I dont know the exact size of the file?
  Also i have googled this and came across many examples with fread, fopen, etc. However i cant use those for this project i can only use read, open, lseek, write, and close.
   here is my code so far its not much but just for reference:</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;unistd.h&gt;
  
  int main (int argc, char *argv[])
  {
      if(argc != 2)/*argc should be 2 for correct execution*/
      {
          printf("usage: %s filename",argv[0[]);}
      }
      else
      {
      int file1 = open(argv[1], O_RDWR);
      if(file1 == -1){
      printf("\nfailed to open file.");
          return 1;
      } 
      int reversefile = open(argv[2], O_RDWR | O_CREAT);
  
      int size = lseek(argv[1],    0, SEEK_END);
      char *file2[size+1];
      int count=size;
      int i = 0
  
      while(read(file1, file2[count], 0) != 0)
      {
        file2[i]=*read(file1, file2[count], 0);
        write(reversefile, file2[i], size+1);
        count--;
        i++;
        lseek(argv[2], i, SEEK_SET);
     }
  </code></pre>