Here is the complete code, the message variable has been declared and holds 400 chars so it should be fine.
Code:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{
/*declare and initialise variable*/
char message[400];
int i=0;
char filename[30];
char *lower;
/*prog info*/
printf("This program will read in a file of your choice and print it out to the screen.\nCreated 30/11/10 v.10\n\n\n\n");
/*Input of file name from keyboard*/
printf("Please input the name of the file you wish to use inc .txt suffix\nTip: File should be stored in the same directory as the program file\n");
scanf("%s",filename);
FILE *fp;
fp=fopen("upper.txt","r");
if (fp == NULL)
printf("Can't open file!\n");
else
printf("File opened!\n");
fgets (message , 400 , fp);
fclose(fp); //all file use is complete
/*Converts each char in the array to lower case*/
for (lower=message;*lower!='\0';++lower)
{
*lower=tolower(*lower);
}
/*Prints text*/
printf("\nYour text for encryption:\n");
puts (message);
}