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;
}