Problem with Char and Char Pointer.

Hello :slight_smile:

Sorry, I have to tell you this: your program is a mess! You should consider rewriting it.

Anyway...maybe this will help you:

int announcement(char dest[], byte idx)
{    
  const char LED_message[] = "LCoES Announcements         ";
  return sprintf( dest, "%s", &LED_message[idx] );
}
char smsdata[32];
announcement( smsdata, message_no );
Serial.println( smsdata );

Edit: Or maybe I didn't understand correctly and you want to return only one character at a time?

Then:

char announcement(byte message_no1)
{
  const char LED_message[] = "LCoES Announcements         ";     
  return LED_message[message_no1];
}
char smsdata = announcement( message_no );                   
Serial.println( smsdata );