입력 const 문자열을 어떤 방식 으로든 (C 컴파일러 경고가 발생 함) 수정하는 경우이를 처리하는 가장 좋은 방법은 무엇입니까? 새 변수로 유형 변환 한 다음이를 사용하거나 복제하는 것입니다. 그것을 사용하고 그것을 풀어. 또는 이런 유형의 시나리오를 처리하는 다른 방법이 있습니다. 제발 제안 해주세요. 어떤 도움을 주시면 감사하겠습니다.문자열 및 strdup 형변환
// 타입 캐스팅
const char * s1;
char * s2 = (char *)s1;
// 중복 무료
const char * s1;
char * s2 = strdup(s1);
free(s2)
편집 : 그것은 C 컴파일러입니다; C++이 아닙니다. 타입 캐스팅에서 s2가 s1 문자열의 새 사본이 될지 또는 s1 문자열을 가리키고 있는지 확실하지 않습니다.
답변 해 주셔서 감사합니다. 나는 의심이 하나 더있다.
const char * c1;
const char * c2 = c1;
위의 할당은 유효합니까?
const 문자열을 수정해야하는 이유에 대한 자세한 내용에 따라 다릅니다. –