I have the following Arduino code for configuring a wifi connection through a simple webpage:
I declare char* ssid;
. Later I read a value from a SPIFFS config file where q_ssid
is declared as a string and successfully populated from the file:
strncpy(ssid, q_ssid.c_str(), 10);
In the line above, I am limiting it to exactly 10 as that is the length of my wifi AP name that this connects to. If I change the initial char*
to char ssid[10];
, all works well, but SSIDs can have varying names, and if I do not use 10 chars, then the trailing spaces prevent connection in the statement WiFi.begin(ssid, password);
.
On the web client handler that reads in values from the user, I use this:
String q_ssid = server.arg("ssid");
strncpy(ssid, q_ssid.c_str(), 10 );
How can I dynamically assign the size of char* ssid;
so that it can be used with the correct number of characters for the AP name that the user has stored from the webpage?
Any help is greatly appreciated.
Thanks.