[C언어] 두 문자열을 합치는 3가지 방법
ET의 공부/C언어2020. 4. 12. 17:32
C언어에서 두 문자열을 합치는 3가지 방법을 포스팅 해보겠습니다.
1. 두 문자열 합치는 방법 - 배열의 요소 접근
첫 번째 방법은 배열의 요소에 접근하여 합치는 방법입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include "stdio.h"
int main()
{
char str1[100] = "Tistory ";
char str2[100] = "Et IT";
int i, j;
for(i = 0; str1[i] != '\0'; ++i);
for(j = 0; str2[j] != '\0'; ++j, ++i)
{
str1[i] = str2[j];
}
str1[i] = '\0';
printf(" 결과 : %s\n", str1);
return 0;
}
|
for(i = 0; str1[i] != '\0'; ++i); 을 이용하여 str1의 끝자리를 알아낸 후 str1[i] 부터 str2의 요소를 넣어주게 됩니다.
2. 두 문자열 합치는 방법 - 포인터 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "stdio.h"
int main()
{
char str1[100] = "Hello ";
char str2[100] = "Nict to meet you";
char *a = str1;
char *b = str2;
while(*a)
{
a++;
}
while(*b)
{
*a = *b;
b++;
a++;
}
*a = '\0';
printf("결과: %s\n", str1);
return 0;
}
|
str1,2를 가르키는 포인터 a,b를 선언한후 a의 끝부분 주소부터 b의 시작부분을 b가 끝날때까지 넣어주면 두 문자열을 합칠 수 있습니다.
3. 두 문자열 합치는 방법 - 함수 사용
1
2
3
4
5
6
7
8
9
10
11
12
|
#include "stdio.h"
#include<string.h>
int main()
{
char str1[100] = "가나다라 ";
char str2[100] = "마바사";
printf("결과: %s\n", strcat(str1,str2));
return 0;
}
|
strcat 함수를 사용하여 두 문자열을 붙일 수 있습니다. strcat은 string concatenate 의 약어입니다.
감사합니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 정수의 자릿수를 세는 프로그램 (0) | 2020.04.14 |
---|---|
[C언어] 전치 행렬을 만드는 프로그램 (0) | 2020.04.12 |
[C언어] 입력 받은 문자가 알파벳인지 아닌지 판별하는 프로그램 (0) | 2020.04.12 |
[C언어] 세 수 중 가장 큰 수 찾기 (0) | 2020.04.12 |
[C언어] 윤년을 판단하는 방법 (0) | 2020.04.12 |
댓글()