Thank those who answer the question, very helpful. Like what Peter said, the strcat() requires both arguments to be char array (aka string). my code finally works with strncat() as below.
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char myStr[20] = "";
char a = '\T';
char b = '\H';
strncat(myStr, &a, 1);
strncat(myStr, &b, 1);
cout << myStr;
return 0;
}
For those who recommend std::string, that was my first thought, however, I am working in Arduino environment where usually comes with a concern of heap fragmentation. That is why I choose char array to handle string.
Thank you all.