ft_strlcpy - chanhl22/libft GitHub Wiki
1 /* ************************************************************************** */
2 /* */
3 /* ::: :::::::: */
4 /* ft_strlcpy.c :+: :+: :+: */
5 /* +:+ +:+ +:+ */
6 /* By: chanhlee <[email protected].> +#+ +:+ +#+ */
7 /* +#+#+#+#+#+ +#+ */
8 /* Created: 2021/01/13 22:28:11 by chanhlee #+# #+# */
9 /* Updated: 2021/02/01 23:52:28 by chanhlee ### ########.fr */
10 /* */
11 /* ************************************************************************** */
12
13 #include "libft.h"
14
15 size_t ft_strlcpy(char *dest, const char *source, size_t destsize)
16 {
17 size_t i;
18 size_t j;
19
20 i = 0;
21 j = 0;
22 if (dest == 0 || source == 0) //ํด๋ ๋๊ณ ์ํด๋ ๋๋ค.
23 return (0);
24 if (destsize > 0) //size๊ฐ 0์ด๋ฉด src์ ๊ธธ์ด๋ง ๋ฆฌํด์ํค๊ณ dst๋ ์๋ฌด๋ฐ ์์ ๋ ๊ฐํ๋ฉด ์๋๋ค.
25 {
26 while (source[j] && j < destsize - 1) //๊ธธ์ด๋ฅผ ๊ณ์ฐํ์ ๋ dest์๋ NULL์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก destsize-1๋งํผ source์ ๋ฌธ์๊ฐ ๋ณต์ฌ๋๋ค.
27 {
28 dest[j] = source[j];
29 j++;
30 }
31 dest[j] = '\0'; //๋ ์ถ๊ฐ
32 }
33 while (source[i]) //๋ฆฌํด๊ฐ์ ์ํ i๊ตฌํ๊ธฐ
34 i++;
35 return (i);
36 }