728x90
[ strcat ]
- arguments로 제공된 두 문자열을 합쳐줌 (앞 문자열에 뒷 문자열 내용을 추가함)
- 원본 문자열은 추가 문자열을 포함할만큼의 충분한 공간을 확보하고 있어야 함
- 공간이 부족할 경우 에러 발생
[ strncat ]
- 추가 문자열, 정확히는 char 타입 배열에서 가져올 바이트 수를 지정해줌
구현식은 아래와 같습니다. 실제 코드는 아니고 직접 짜본 코드입니다. 간단한 코드입니다.
[ strcat ]
#include <stdio.h>
#include <string.h>
void MyStrcat(char str[], char str2[]);
int main() {
char str[15] = "Hello ";
char str2[] = "Wolrd..!";
strcat(str, str2);
printf("%s\n", str); // "Hello Wolrd..!"
char str3[15] = "Hello ";
char str4[] = "Wolrd..!";
MyStrcat(str3, str4);
printf("%s\n", str3); // "Hello Wolrd..!"
}
/* strcat */
/* param : 원본 문자열, 더할 문자열 */
/* return : void */
void MyStrcat(char str[], char str2[]) {
int w = strlen(str);
int i = 0;
while (str2[i] != '\0') {
str[w++] = str2[i++];
}
}
[ strncat ]
#include <stdio.h>
#include <string.h>
void MyStrncat(char str[], char str2[], int n);
int main() {
char str[15] = "Hello ";
char str2[] = "Wolrd..!";
strncat(str, str2, 2);
printf("%s\n", str); // "Hello Wo"
char str3[15] = "Hello ";
char str4[] = "Wolrd..!";
MyStrncat(str3, str4, 2);
printf("%s\n", str3); // "Hello Wo"
}
/* strncat */
/* param : 원본 문자열, 더할 문자열, 가져올 바이트 수 */
/* return : void */
void MyStrncat(char str[], char str2[], int n) {
int w = strlen(str);
int i = 0;
while (str2[i] != '\0' && i < n) {
str[w++] = str2[i++];
}
}
728x90
'▸C언어 > 기본함수 및 구현식' 카테고리의 다른 글
string.h_strlen_문자열 길이 구하기 (구현식 포함) (2) | 2020.01.15 |
---|---|
stdio.h_파일제어 (fopen, fopen_s, fclose) (0) | 2019.12.05 |
string.h_strtok_문자열 나누기 (구현식 포함) (0) | 2019.12.05 |
string.h_strcmp, strcnmp_문자열 비교 (구현식 포함) (0) | 2019.12.05 |
댓글