아직 ESP-idf 가 익숙하지 않아서
ESP32를 Arduino IDE에서 쓸 경우가 많다.
특히, PC에서 원격으로 제어할 경우가 그런데
STM32 보드나 PC에서 쓸 때
문자열을 관리하기 위해서
아두이노에서 쓰는 String 보다
char[] 나 char*를 쓰는게 전달하기에 편했다.
char arr[32] = {0, }; // 전역변수일 경우 초기화 안해도 됨
char* sample = "hello";
strcpy(arr, sample); // char[], String
참고) 구조체 복사는 memcpy (복사되는 구조체 주소 , 복사할 구조체 주소, 구조체 크기)
char arr[32] = {0, };
String testStr = "hello";
testStr.toCharArray(arr, sizeof(arr)); // char[], buffer length
두번째 매개 변수 length의 경우
3을 입력하면 2개의 문자와 \0 (NULL) 이 들어간다.
그 결과 he 까지만 표현이 된다.
배열에서 0 (NULL) 은 표현이 출력이 안되기 때문에 편하게 sizeof(배열) 하면 된다.
참고) 0을 출력하고 싶으면 '0'을 넣어야한다.