Io userei la funzione strcat() l'array dovrà avere elementi sufficienti per contenere tutti i caratteri del file e questo dipende da quanto è lungo il file...


codice:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>


int main(int argc, char *argv[])
{
  char s[2000],line[100];  
  FILE *f=NULL;
  f=fopen("prova.txt","r");
  if(f==NULL)
  {
      perror("Apertura file non riuscita\n");
      getchar();
      return ;
      
  }    
  while(fgets(line,100,f)!=NULL)//Leggo una riga da file
  {
      strcat(s,line);//Concateno la riga letta all'array s
                     // compreso il carattere newline nuova riga 
  }                  // provvedere a toglierlo se non lo si vuole  line[strlen(line)-1]=0;
  puts(s);//stampo tutto il file
  getchar();
  return 0;
}