다음 코드는 첫 번째 문자열 만 연결하고 두 번째 문자열은 무시합니다. 수집 한 것부터 Null 종료 문자열과 관련이 있습니다. 내가 C를 처음 접했을 때, 이것은 나에게 새로운 개념이다. 누군가 아래 코드를 작동시키는 데 도움을 줄 수 있습니까? 그것은 저에게 이것을 이해하는데 많은 도움이 될 것입니다.C : String Concatentation : Null Terminated Strings
void concatTest();
int main()
{
concatTest();
system("PAUSE");
return 0;
}
void concatTest()
{
char string1[20], string2[20], string3[40];
char *ptr1, *ptr2, *ptr3;
ptr1 = &string1[0];
ptr2 = &string2[0];
ptr3 = &string3[0];
int i;
printf("You need to enter 2 strings.. each of which is no more than 20 chars in length: \n");
printf("Enter string #1: \n");
scanf("%s", string1);
printf("Enter string #2: \n");
scanf("%s", string2);
int len1 = strlen(string1);
int len2 = strlen(string2);
for (i = 0; i < len1; i++)
{
ptr3[i] = ptr1[i];
}
for (i = len1; i < len1 + len2; i++)
{
ptr3[i] = ptr2[i];
}
printf("%s\n", string3);
}
우수. 고마워. 그렉. 나는 StackOverflow가 나를 (약 7 분 정도) 내게 허락하자마자 당신의 대답을 받아 들일 것이다 .. – Matt
원래 코드처럼 ptr3의 포인트에서 인덱스 시작을 좋아했다. 올바른 위치에서 복사해야합니다. – Hogan