How to convert char to string

i have an input buffer as a CHAR * variable, but would like to convert that to a STRING variable. For me its easier to handle the string manipulations with the given string functions…

Could not find anything in the docs or the discussion forums.

I know there must be a trivial way to do this.



You could give this a try:

Have you tried assigning the char* variable to the String?

There is an overload String & operator = (const char *cstr);, so this should work:

    char cStr[10] = "Test";  // this way cStr is of type char*
    String sStr = cStr; 

yes thanks that is it

I guess this does not copy, but the char / string accesses the same memory cells?

[EDIT] works perfectly, thanks


No, it actually does copy the characters to a new location on the heap.

Look at the implementation of the assignment operator (you find this in the open source section)

String & String::copy(const char *cstr, unsigned int length)
	if (!reserve(length)) {
		return *this;
	len = length;
	strcpy(buffer, cstr);
	return *this;
String & String::operator = (const char *cstr)
	if (cstr) copy(cstr, strlen(cstr));
	else invalidate();
	return *this;
1 Like