[C언어] String.h 라이브러리 함수 - memchr() 함수 파헤치기 memcpy 함수의 헤더 파일 #include memcpy() 함수의 원형 void * memchr(const void * ptr, int value, size_t num); Parameter ptr 검색하고자하는 메모리 블럭의 주소를 나타내고 void * 형으로 변환되어서 전달된다. value 찾고자하는 문자를 나타내고 int형이지만 unsigned char 문자로 이해하면 된다. (1 byte씩 비교하기 때문에 문자비교) num num 사이즈만큼의 문자열에서 value 값을 찾아낸다. 리턴값 value 를 찾았을 경우 value의 주소를 리턴 value 를 못 찾았을 경우 NULL을 리턴 코딩을 하다보면 문자열 탐색 함수를 많이 사용하는데 그 중 memchr() 함수를 알아보죠!! memchr() 함.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strxfrm() 함수 파헤치기(문자열 복사, 문자열 길이 구하기) strxfrm() 함수의 헤더 파일 #include strxfrm() 함수의 원형 size_t strxfrm( char * des, const char * src, size_t num); Parameter des 데이터를 복사할 주소이고 char * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. src 복사할 데이터가 존재하는 위치의 주소이고 char * 형으로 변환되어서 전달된다. 주소를 전달해주면 된다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. 리턴 값 변화된 문자열의 길이를 리턴한다. 단, 해당 문자열의 NULL은 계산되지 않는다. strxfrm() 함수는 일반적인 복사함수가 아닌 LC_COLLATE 정의된 방식으로 변환 후 복사하는 기능이 있어요. 또한 .. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strcnmp() 함수 파헤치기(문자열 비교, 같은 문자열 찾기) strcmp() 함수의 헤더 파일 #include strcmp() 함수의 원형 int strncmp ( const char * str1, const char * str2, size_t num); Parameter str1 비교할 첫 번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. str2 비교할 두번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. 리턴 값 세 가지 형태로 리턴됩니다. 1. str1기 str2보다 클 경우 => 0보다 큰 값을 리턴 (첫 번째 인자의 문자가 두 번째 인자의 문자보다 큰 경우) 2. str1이 str2보다 작은 경우 => 0보다 작.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strcoll() 함수 파헤치기(문자열 비교, 같은 문자열 찾기) strcoll() 함수의 헤더 파일 #include strcoll() 함수의 원형 int strcoll(const char * str1, const char * str2); Parameter str1 비교할 첫 번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. str2 비교할 두번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. 리턴 값 세 가지 형태로 리턴됩니다. 1. str1이 str2보다 클 경우 => 0보다 큰 값을 리턴 (첫 번째 인자의 문자가 두 번째 인자의 문자보다 큰 경우) 2. str1이 str2보다 작은 경우 => 0보다 작은 값을 리턴 (첫 번째 인자의 문자가 두 번째 인자의 문자보다 작은 경우) 3. str1과 str.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strcmp() 함수 파헤치기(문자열을 비교, 같은 문자열 찾기) strcmp() 함수의 헤더 파일 #include strcmp() 함수의 원형 int strcmp(const char * str1, const char * str2); Parameter str1 비교할 첫 번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. str2 비교할 두번째 메모리 블록의 주소를 인자로 받으며 const char * 형으로 되어 있다. 리턴 값 세 가지 형태로 리턴됩니다. 1. str1이 str2보다 클 경우 => 0보다 큰 값을 리턴 (첫 번째 인자의 문자가 두 번째 인자의 문자보다 큰 경우) 2. str1이 str2보다 작은 경우 => 0보다 작은 값을 리턴 (첫 번째 인자의 문자가 두 번째 인자의 문자보다 작은 경우) 3. str1과 str2가 .. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - memcmp() 함수 파헤치기(문자열을 비교해보자, 같은 문자열 찾기) memcmp() 함수의 헤더 파일 #include memcmp() 함수의 원형 int memcmp(const void * ptr1, const void * ptr2, size_t num); Parameter ptr1 비교할 첫번째 메모리 블럭의 주소를 인자로 받으며 void * 형으로 되어 있다. ptr2 비교할 두번째 메모리 블럭의 주소를 인자로 받으며 void * 형으로 되어 있다. num 비교할 문자의 길이이며 size_t 형으로 되어 있다. 리턴 값 세가지 형태로 리턴된다. 1. ptr1이 ptr2보다 클 경우 => 0보다 큰 값을 리턴 (첫번째 인자의 문자가 두번째 인자의 문자보다 큰 경우) 2. ptr1이 ptr2보다 작은 경우 => 0보다 작은 값을 리턴 (첫번째 인자의 문자가 두번째 인자의.. C 언어/C 언어 리이브러리 함수 4년 전
[C언어] String.h 라이브러리 함수 - strncat() 함수 파헤치기 strncat() 함수의 헤더 파일 #include strncat() 함수의 원형 char * strncat ( char * des, char * src, size_t num); Parameter dse src 문자열을 복사할 위치 문장열의 위치이며 des 문자열 뒤에 src 문자열이 복사된다. src des 뒤에 복사할 문자열의 주소이며 char * 형의로 되어 있다. num 복사할 데이터의 byte 수이며 size_t 형으로 전달해주면 된다. strncat 함수는 strcat 한수와 더불어 문자열을 병합해주는 함수 중에 하나입니다. strcat 함수와 거의 동일한 동작을 하지만 차이가 있다면 복사할 크기를 지정해줄 수 있다는 특징이 있습니다. (string.h 헤더파일에 있는 함수들 중 ~~n~~ 인.. C 언어/C 언어 리이브러리 함수 4년 전
[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 라이브러리 함수 - strcpy() 함수 파헤치기 strcpy() 함수의 헤더 파일 #include strcpy() 함수의 원형 char * strcpy(char * des, const char * src); Parameter des 데이터를 복사할 주소이고 char * 형으로 전달된다. src 복사할 데이터가 존재하는 위치의 주소이고 char * 형으로 전달된다. 리턴 값 des 주소가 char * 형으로 리턴된다. strcpy는 다른 문자열 복사 함수와 비슷하고 사용법도 간단합니다. src에서 des로 복사를 하죠! 그런데 유의해야 될 사항이 두 가지 있습니다. 1. 바로 '\0' 요 녀석입니다. strcpy 함수의 내부는 src에서 '\0' 요 녀석을 찾아 '\0' 요녀석까지 des로 복사를 해줍니다. 가끔 '\0' 요녀석을 분실한 문자열들은 프로.. C 언어/C 언어 리이브러리 함수 4년 전