C++ 완벽 해설서 참조
1. memset
#include <cstring.h>
void *memset(void *buf, int ch, size_t count);
memset() 함수는 ch의 낮은 자리 바이트를 buf가 가리키는 배열의 처음 count개의 문자들에 복사하며, buf를 반환한다. memset()의 가장 일반적인 사용은 일부 알려진 값에 대한 메모리 영역을 초기화하는 것이다. 관련 함수들로는 memcmp(), memcpy(), memmove() 등이 있다.
2. memcpy
#include <cstring.h>
void *memcpy(void *to, const void *from, size_t count);
memcpy()함수는 from이 가리키는 배열로부터 count개의 문자들을 to가 가리키는 배열에 복사한다. 만일 배열이 겹치면, memcopy()는 제대로 동작하지 않는다. memcpy() 함수는 to에 대한 포인터를 반환한다. 관련 함수에는 memmove()가 있다.
3. strcpy
#include <cstring>
char *strcpy(char *str1, const char *str2);
strcpy() 함수는 str2의 내용을 str1에 복사한다. str2는 반드시 널 종료 문자열이어야 한다. strcpy() 함수는 str1에 대한 포인터를 반환한다. 만일 str1과 str2가 겹치면, strcpy() 제대로 동작하지 않는다. 관련 함수들로는 memcpy(), strchr(), strcmp(), stmcmp() 등이 있다.
4. strncpy
#include <cstring>
char *strncpy(char *str1, const char*str2, size_t count);
strncpy() 함수는 str2가 가리키는 문자열로부터 count개까지 문자들을 str1이 가리키는 문자열에 복사한다. str2는 반드시 널 종료 문자열이어야 한다. 만일 str1과 str2가 겹치면, strncpy()는 제대로 동작하지 않을 것이다. 만일 str2가 가리키는 문자열이 count개 이하의 문자들이라면, count개의 문자들이 복사될 때까지 str1의 마지막에 널이 추가된다.
또한, str2가 가리키는 문자열이 count개의 문자들보다 길다면, str1이 가리키는 결과 문자열은 널 종료되지 않을 것이다. 이 함수는 str1에 대한 포인터를 반환한다. 관련 함수들로는 memcpy(), strchr(), stmcat(), stmcmp() 등이 있다.
5. strcmp
#include <cstring>
int strcmp(const char *str1, const char *str2);
strcmp()함수는 두 문자열을 사전식으로 비교하고 결과에 따라 다음과 같은 정수 값을 반환한다.
0이하: str1은 str2보다 적다.
0: str1은 str2와 같다.
0이상: str1은 str2보다 크다.
관련 함수들로는 strchr(), strcpy(), strcmp() 등이 있다.