채널톡 아이콘

인프런 커뮤니티 질문&답변

layer08님의 프로필 이미지

작성한 질문수 11

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

연습 문제 (문자열) #2

StrCat질문 있습니다.

작성

·

205

0

StrCat함수에 이렇게 작성했는데

출력할 때 HelloW만 출력되고 끝나는데

어디에 문제점이 있는지 파악하기 어려워서 여쭤봅니다.

어셈블리어를 까도 j는 멀쩡히 증가하는데 뭐가 문제인지 모르겠습니다...

답변 2

1

임형국님의 프로필 이미지

else if (dest[i] == '\0')

{

dest[i + j] = src [j]; <= 이부분

}

 

dest[i] = src[j] 로 고치시면 됩니다.

i의 인덱스가 \0 까지 증가하기 때문에 굳이 j를 더할 필요가 없습니다.

 

layer08님의 프로필 이미지
layer08
질문자

감사합니다... 제가 생각을 잘못하고 있었네요!! 감사합니다!!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

해당 질문과 유사한 내용으로 StrCat 함수 실행 후 예상과 다른 결과가 나왔을 때의 해결 방법을 담은 질문이 있어서 해당 내용을 참고하시면 도움이 될 것 같습니다.

질문 제목: 포인터, 배열 관련 질문

해당 답변에서는 dest[j] = '\0'; 코드로 인해 문자열의 끝을 나타내는 NULL 문자가 삽입되면서 예상치 못한 결과가 나타난 것으로 설명되어 있습니다. 강사님의 답변을 참고하여 코드의 해당 부분을 점검해보시기 바랍니다.

강사님 답변 이미지