I am trying to make my simple strcat function for learning C++.
My functions prints okay, but my main prints garbage. What am I doing wrong?
I'm still pretty new to C++, any bit of simplification and corrections are greatly appreciated. Thanks!
#include <iostream>
using namespace std;
int strlen(char* str)
{
  int len = 0;
  for (int i = 0; str[i] != '\0'; ++i) {
    ++len;
  }
  return len;
}
char* strcat(char* dest, char* src)
{
    const size_t len = strlen(dest) + strlen(src);
    char cat[len];
    for (int i = 0; dest[i] != '\0'; ++i) {
        cat[i] = dest[i];
    }
    for (int i = strlen(dest), j = 0; src[j] != '\0'; ++i, ++j) {
        cat[i] = src[j];
    }
    cat[len] = '\0';
    cout << "strCat " << cat << endl;
    return cat;
}
int main()
{
   char c1[100], c2[100];
   cout << "First string -> ";
   cin >> c1;
   cout << "Second string -> ";
   cin >> c2;
   cout << "Concatenated -> " << strcat(c1, c2) << endl;
}
 
    