반응형
[C언어 소스] 부분 문자열 복사 - 버퍼 오버플로우 방지
언제나 휴일 티스토리
//15. 부분 문자열 복사하는 함수 만들기 - 버퍼 오버플로우 방지
#include <stdio.h>
#include <string.h>
char *mystrncpy_s(char *dest, size_t dsize, const char *src, size_t n);
int main(void)
{
char source[100] = "Hello World";
char dest[100] = "abcde Yahoo";
printf("원본 문자열:%s 의 5개 문자 복사\n", source);
printf("복사 전 현재 결과 문자열:%s\n", dest);
mystrncpy_s(dest, sizeof(dest), source, 5);
printf("복사 후 결과 문자열: %s\n", dest);
return 0;
}
char *mystrncpy_s(char *dest, size_t dsize, const char *src, size_t n)
{
char *origin;
dsize--;//맨 마지막에 종료 문자('\0')를 추가해야 하므로 버퍼 길이를 1 감소
for (origin = dest; dsize && n && (*dest = *src); dest++, src++, n--, dsize--);//dsize와 n이 참이고 복사한 문자가 참이면 반복
return origin;
}
반응형
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] 파일의 소문자, 대문자, 숫자문자, 공백, 라인, 기타 문자 개수 출력 (0) | 2016.04.12 |
---|---|
[C언어 소스] 파일 이름을 입력받아 파일 내용을 콘솔 화면에 출력 (0) | 2016.04.12 |
[C언어 소스] 부분 문자열 복사하는 함수 만들기 (0) | 2016.04.12 |
[C언어 소스] 문자열 복사 - 버퍼 오버플로우 방지 (0) | 2016.04.12 |
[C언어 소스]문자열 복사하는 함수 만들기 (0) | 2016.04.12 |