#include <iostream>
#include <algorithm>

int main() 
{
   char first_name[] = "Kalanand ", last_name[] = "Mishra";
   char* name = strcat(first_name, last_name);
   char name_copy[20]; 


   /* Copy, concatenate, and find length */
   strcpy(name_copy, name);
   std::cout << "name = " << name << ",  length = " << strlen(name) << "\n";
   std::cout << "Copy of the name = " << name_copy << "\n";

   std::cout << "strcmp(name, last_name) = " 
             << strcmp(name, last_name) << "\n";

   std::cout << "strncmp(name, first_name, 8) = " 
             << strncmp(name, first_name, 8) << "\n";



   /* Break the string into pieces */
   char* token = strtok(name, " ");
   std::cout << "tokens: ";

   while( token != NULL ) { 
      std::cout << token << " ";
      token = strtok( NULL, " ");
   }

   std::cout << std::endl;


   /* Convert the name to upper case */
   char s[20] = "kalanand Mishra";
   std::transform( std::begin(s), std::end(s), std::begin(s), toupper);
   std::cout << "All in upper case: " << s << std::endl;

   /* Convert the name to lower case */
   std::transform( std::begin(s), std::end(s), std::begin(s), tolower);
   std::cout << "All in lower case: " << s << std::endl;


   return 0;
}
