반응형
C 언어, 문자열 슬라이싱(일부분) 복사하기
글. 오상문 sualchi@daum.net
다음 예제는 문자열에서 특정 부분만 가져와서 복사합니다.
#include <stdio.h>
#include <string.h>
// buf: 저장소, s: 문자열, start: 시작 인덱스, size: 잘라올 길이
char * strcpy_slice(char *buf, char *s, int start, int size)
{
if (strlen(s) > start) {
s += start; // 시작 위치로 변경
while (size-- > 0 && *s != '\0') // size가 0보다 크고, 문자열 끝이 지나지 않은 경우
*(buf++) = *(s++); // 복사
*buf = '\0'; // 끝에 널 문자 처리
}
return buf;
}
int main()
{
char s1[100];
char s2[] = "0123456789";
strcpy_slice(s1, s2, 5, 3); // 인덱스 5번부터 3글자 복사
printf("%s\n", s1); // 567
return 0;
}
<이상>
반응형
'C' 카테고리의 다른 글
C 언어 scanf 함수에서 공백 포함된 문장 입력받기 (0) | 2021.04.30 |
---|---|
C 언어, 한글 초성 분리 (0) | 2021.02.16 |
C 언어, 달팽이 배열 출력 (0) | 2020.08.18 |
C 언어, 이진수 출력하기 (0) | 2020.08.04 |
C 언어, 키보드 입력 버퍼 비우기 (0) | 2019.09.24 |