2011-12-03 3 views
2

예를 들어, 문자열의 주소를 포함하는 (char ** ptr)이 있습니다.문자열에 포인터 포인터 값을 전달하는 방법

이 문자열을 새로운 문자열 ptr_2에 넣으 려합니다.

가능합니까?

+1

예, 가능합니다. 당신이 그것을 망칠 수있는 많은, 많은 방법이 있습니다. –

답변

1

strcpy(ptr_2, *ptr) 트릭을해야합니다.

*ptr은 복사 할 문자열의 주소를 가져오고 거기에서 일반적인 문자열 처리 기능으로 조작 할 수 있습니다.

+1

또는'ptr_2 = strdup (* ptr); 또는 간단히'ptr_2 = * ptr;' –

+0

정말 고마워요 !! – harp

+3

@harp : 도움이되는 질문과 답변을 upvote하는 것을 잊지 마세요 :) – hugomg

3

그것에 대해 이런 식으로 생각 : 당신이 필요하므로, C에서

ptr is char** 
*ptr is char* 
**ptr is char 

문자열의 char *입니다 : 당신이 포인터 앞에 별표를 넣을 때, 당신은 결과의 유형에서 별표를 제거 * ptr을 사용하십시오.