Why wont this work ? Dynamic memory beginner program :     enter code here
        
        int main()
        {	
	        //FILE *out = fopen("keimeno.txt", "w+");

        FILE *in = fopen("keimeno.txt", "r");
          	int fullbufflen=0 , i;
  	
          	char buffer[100];
          	fgets(buffer, 100, in);

          	int bufflen = strlen(buffer);
          	char *text;
          	text =calloc(bufflen,sizeof(char));
	        char *strcat(text, buffer);	
        //	printf("line of \"keimeno.txt\": %s", buffer);
        //	printf("size of line \"keimeno.txt\": %i\n\n", bufflen);
        
        	fullbufflen = bufflen;	
        	
        	while(fgets(buffer, 100, in)!=NULL)
        	{         
	        //	printf("line of \"keimeno.txt\": %s", buffer);
	        //	printf("size of line \"keimeno.txt\": %i\n\n", bufflen);
	        	text =realloc(text,bufflen*sizeof(char));
	        	char *strcat(text, buffer);
	        	
	        	fullbufflen = bufflen + fullbufflen ;
	        }
	        for (i = 0;i<fullbufflen;i++)
	        	{
	        	printf("%c\n",text[i]);
        		}
        }
       
I am trying to copy the full text file (keimeno.txt) into a dynamic memory array,with a buffer of 100 character at most everytime .To test it at the end i tried to prinf the results .And i just cant get it to work .Dont know if there is a problem on the printf at the end,or the whole program is just wrong.(also the dynamic array is supposed to have 0 size at the beggining ,so if someone could tell me how to do that too ,it would be welcome .)Thanks in advance.