C에서 문자열을 문자 배열로 변환
C에서 문자열을 작업할 때 문자열을 문자 배열로 변환하는 시나리오가 발생할 수 있습니다. 필요합니다. 그러나 문자 포인터(char*)로 변환하는 것과 달리 고정 크기 문자 배열(char[])로 직접 변환하는 것이 목표입니다.
이 변환을 수행하려면 다음 방법을 고려하세요.
방법 1: strcpy 및 c_str() 사용
string temp = "cat"; char tab2[1024]; strcpy(tab2, temp.c_str());
이 방법은 strcpy 함수를 사용하여 문자열을 문자 배열에 복사합니다. c_str()은 문자열을 null로 끝나는 문자 배열로 변환합니다.
방법 2: strncpy 및 c_str() 사용
안전성을 높이기 위해 strncpy를 사용하여 다음을 수행할 수 있습니다. 버퍼 오버플로가 발생하지 않도록 합니다.
string temp = "cat"; char tab2[1024]; strncpy(tab2, temp.c_str(), sizeof(tab2)); tab2[sizeof(tab2) - 1] = 0;
strncpy는 지정된 수의 문자를 배열을 만들고 마지막 문자를 null로 설정합니다.
방법 3: New 및 c_str() 사용
string temp = "cat"; char *tab2 = new char [temp.length()+1]; strcpy(tab2, temp.c_str());
이 방법은 문자 배열에 대한 메모리를 동적으로 할당한 다음 복사를 위해 strcpy를 사용합니다.
위 내용은 C 문자열을 문자 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!