본문 바로가기

언어/C

ft_strlcpy 구현 테스트

728x90

 

#include <stdio.h>
#include <string.h>

unsigned int ft_strlcpy(char *dest, char *src, unsigned int size);

int main(void)
{
	char text1[] = "salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un";
	char text1_ft_strlcpy[100];
	char text1_strlcpy[100];
	printf("%d %s\n", ft_strlcpy(text1_ft_strlcpy, text1, 100), text1_ft_strlcpy);
	printf("%lu %s\n", strlcpy(text1_strlcpy, text1, 100), text1_strlcpy);
	printf("\n");

	char text2[] = "";
	char text2_ft_strlcpy[100];
	char text2_strlcpy[100];
	printf("%d %s\n", ft_strlcpy(text2_ft_strlcpy, text2, 0), text2_ft_strlcpy);
	printf("%lu %s\n", strlcpy(text2_strlcpy, text2, 0), text2_strlcpy);
	printf("\n");

	char text3[] = "a";
	char text3_ft_strlcpy[100];
	char text3_strlcpy[100];
	printf("%d %s\n", ft_strlcpy(text3_ft_strlcpy, text3, 50), text3_ft_strlcpy);
	printf("%lu %s\n", strlcpy(text3_strlcpy, text3, 50), text3_strlcpy);
	printf("\n");

	char text4[] = "b";
	char text4_ft_strlcpy[100];
	char text4_strlcpy[100];
	printf("%d %s\n", ft_strlcpy(text4_ft_strlcpy, text4, 0), text4_ft_strlcpy);
	printf("%lu %s\n", strlcpy(text4_strlcpy, text4, 0), text4_strlcpy);
	printf("\n");
}

사이즈 길이 만큼 복사되어야한다.

리턴 값은 src의 길이가 리턴 되어야한다.

 

 

 

61 salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un
61 salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un

0 
0 

1 a
1 a

1 
1 

 

728x90

'언어 > C' 카테고리의 다른 글

ft_putstr_non_printable 테스트 구현  (0) 2020.10.24
ft_strcapitalize 구현 테스트  (0) 2020.10.24
ft_strlowcase 구현 테스트  (0) 2020.10.24
ft_strupcase 구현 테스트  (0) 2020.10.24
ft_strcpy 구현 테스트  (0) 2020.10.23