Convert char array to String = loss of characters

Hi everybody. Convert one character doing char array to String, namely:

Serial.println("!!!!!!!!!");
Serial.println(smsbuffer);
Serial.println(strlen(smsbuffer));
  SMSText = "";
  for (int f=0; f<=strlen(smsbuffer)-1; f++)
  {
     SMSText+=smsbuffer [f];
  }  
//SMSText=smsbuffer;

Serial.println("SMSText:");
Serial.println(SMSText);

But i get:
!!!!!!!!!
eHh4JTNCNTAuNTA3NjglM0IzMC41OTQzMyUzQjENi4xNyUzQjY1JTNCMTA
58
SMSText:
eHh4JTNC

Tell me what I'm doing wrong? Where characters are lost?

Impossible to tell with a snippet.

I imagine the deservedly maligned String class is running out of ram to malloc() and is trashing memory.

I had a lot of problem with Strings too. I don't know if it still work for you but my problem was in the print() function. Try this:

at the end of SMSText add the null character '\0' that tells to print() when to stop.

Another thing can you put how do you define your variables???