I tried using strcpy() and I got a type mismatch. I tried assigning a like how I did it in my previous code (which was an int type), but I got a lvalue error. I'm guessing you can't assign the data just like that to a data node?
On line 6, char a is a single character, not a pointer to the first character in an array of characters.
If you're using C++ instead of C, you should use std::string instead - then you can just use the = operator to do that (and it handles many other string things for you, along with dynamic resizing handled for you). The syntax you use on line 3 though suggests you're doing this in C, though.