Вы можете использовать что-то вроде этого. Есть более эффективные способы, но было бы неплохо начать.
#define BUFFER_SIZE 1024
int main(int argc, char *argv[])
{
// declare buffer
char str[BUFFER_SIZE];
// read till .
int idx = 0;
register int cr;
do {
if ((cr = getchar()) == '.' || cr == 0 || cr == EOF)
break;
str[idx] = cr;
} while(++idx != BUFFER_SIZE);
if (idx != BUFFER_SIZE)
{
str[idx] = 0; // 0 terminate string replacing . by end of string
printf("%s", str); // print the string
}
else
{
printf("Buffer overflow");
}
exit(0);
}