String objects are safer and easier to use than C library routines for character string manipulation. Consider the following.
extern char *s1, *s2, *s3; strcpy(s1, strcat(s2, s3)); // concatenate s3 to s2, copy to s1
Unless you are careful to provide NULL-terminated ('\0') character strings and enough memory for strcpy() and strcat() to perform their operations, programs may behave strangely because of corrupt character strings. A String class with overloaded operators is a simpler and safer approach.
extern String s1, s2, s3; s1 = s2 += s3; // concatenate s3 to s2, copy to s1
String objects replace character pointers, and String operators (assignment with = and update with +=) provide the functionality of C library calls. ...