Copy String to char[]

char ssid[] = "guest";
String ssidnew = "newssid";

I want to copy String ssidnew to char ssid[]

strcpy() does not work.

Any ideas?

Look into the toCharArray() function.

The ssid array has 5 elements. The ssidnew array has 7 elements so will not fit in ssid.

Using variable-type String (with capital "S") has its limitations.

me personally I prefer to use PString
This is a library that can be installed with the library-manager of the arduino-IDE

#include <PString.h>

//my personal naming-convemtion adding suffixes "_AoC" for ArrayOfCHar
// and _PS  for PString for easy indicating the variabletype
char    MyDemo_AoC[20 + 1]; // 20 chars for characters one extra-char for terminating zero 
PString MyDemo_PS(MyDemo_AoC, sizeof(MyDemo_AoC));

int MyInt = -12345;
float MyFloat = -9.87654321;

void setup()
{
  Serial.begin(115200);
  Serial.println("setup start");
  
  MyDemo_PS = "";
  Serial.print("MyDemo_PS = ''; contains #");
  Serial.print(MyDemo_PS);
  Serial.print("#");
  Serial.println();

  MyDemo_PS = "A";
  Serial.print("MyDemo_PS = 'A'; contains #");
  Serial.print(MyDemo_PS);  
  Serial.print("#");
  Serial.println();

  MyDemo_PS += "2345678";
  Serial.print("MyDemo_PS += '2345678'; contains #");
  Serial.print(MyDemo_PS);  
  Serial.print("#");
  Serial.println();

  MyDemo_PS += "9";
  Serial.print("MyDemo_PS += '9'; contains #");
  Serial.print(MyDemo_PS);  
  Serial.print("#");
  Serial.println();

  MyDemo_PS += "ABC";
  Serial.print("MyDemo_PS += 'ABC'; contains #");
  Serial.print(MyDemo_PS);  
  Serial.print("#");
  Serial.println();


  MyDemo_PS = "123456789012345678901234567890";
  Serial.print("MyDemo_PS = '123456789012345678901234567890'; contains #");
  Serial.print(MyDemo_PS);  
  Serial.print("#");
  Serial.println();

  MyDemo_PS = MyInt;
  MyDemo_PS += " ";
  MyDemo_PS += MyFloat;

  Serial.print("MyDemo_PS = MyInt + MyFloat ; contains #");
  Serial.print(MyDemo_PS);    
  Serial.print("#");
  Serial.println();
  
}

void loop() {
  
}

best regards Stefan