@currydem23 You have to spend time to learn more about C++.
This is an array of 1 byte. That byte has all bits set to zero (it is an empty string with zero terminator '\0').
char str[] = "";
That means that this is not possible:
rc.toCharArray(str, str_len);
because you need some memory to store the data.
The ESP32 runs FreeRTOS. Using strtok() with a multitasking operating system is not a good idea.