[C언어] String.h 라이브러리 함수 - strcat() 함수 파헤치기 strcat() 함수의 헤더 파일 #include strcat() 함수의 원형 char * strcat ( char * des, const char * src); Parameter des src 문자열을 복사할 위치 문장열의 위치이며 des 문자열 뒤에 src 문자열이 복사된다. src des 뒤에 복사할 문자열의 주소이며 char * 형의로 되어 있다. strcat 함수의 원형을 보니 딱봐도 des 문자열 끝에 src 문자열을 복사해주는 함수 같죠? 그런데 파라미터에 사이즈도 없고 문자열 주소 두개만 달랑 들어가는 걸 보니 strcat 함수 내부는 문자열의 마지막 '\0' 문자를 기준으로 지지고 볶는 거 처럼 보이네요. 한가지 생각을 해볼까요? 자 여기 HELLO 문자열(문자열 마지막에 SPACE가 있.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strncpy() 함수 파헤치기 memcpy 함수의 헤더 파일 #include memcpy() 함수의 원형 char * strncpy(char * des, const char * src, size_t num); Parameter des 데이터를 복사할 주소이고 char * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. src 복사할 데이터가 존재하는 위치의 주소이고 char * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. strncpy() 함수는 src 위치부터 특정 바이트 수만큼 복사하여 des로 복사해주는 함수이다. strcpy()함수를 다룰때 설명했듯이 strcpy()함수는 '\0' 함수가 오기까지 복사해주는 함수이므로 사용에 주의를 해야.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - memmove() 함수 파헤치기 memmove() 함수의 헤더파일 #include memmove() 함수의 원형 void * memmove(void * des, const void * src, size_t num); Parameter des 데이터를 복사할 주소이고 void * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. src 복사할 데이터가 존재하는 위치의 주소이고 void * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. 리턴값 des 주소가 void * 형으로 리턴된다. memmove 함수는 src의 num byte 만큼 des로 복사하는 함수이다. 얼핏 보면 memcpy와 동일한 함수인데 왜 memmove 함수를 만들었을? 하는 의문이.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - memcpy() 함수 파헤치기 memcpy 함수의 헤더 파일 #include memcpy() 함수의 원형 void * memcpy(void * des, const void * src, size_t num); Parameter des 데이터를 복사할 주소이고 void * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. src 복사할 데이터가 존재하는 위치의 주소이고 void * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. 리턴값 des 주소가 void * 형으로 리턴된다. memcpy함수는 가장 많이 사용되는 함수 중에 하나이죠. src에서 num byte 만큼을 복사하여 des에 복사해주는 함수입니다. string의 마지막에 null 값을 확인.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strdup() 함수 파헤치기 memcpy 함수의 헤더 파일 #include strdup() 함수의 원형 char * strdup(const char *string); Parameter string 데이터를 복사할 주소이고 const char * 형으로 전달된다. 리턴값 복사된 데이터의 주소을 리턴하고 에러가 발생시 NULL 값이 리턴된다. strdup 함수는 단순히 문자열 복사만 하는 strcpy에 추가적으로 메모리 할당을 해주는 함수이다. 그렇기 때문에 stdup 함수를 사용한 이후에는 free 를 항상 해주셔야 됩니다. strdup 예제코드 #include #include int main(){ char * str = "hello world!!"; char *newstr; newstr = strdup(str); printf("**.. C 언어/C 언어 리이브러리 함수 4년 전