char 배열을 다루는 함수는 다음과 같다.
• memcpy(target, source, len): 어떤 배열을 다른 곳으로 복제할 때 사용한다. 이때 두 배열은 서로 별개여야 한다. 복제될 문자(char)의 개수는 반드시 세 번째 인수인 len으로 지정해야 한다.
• memcmp(s0, s1, len): 두 배열을 사전 순서로 비교한다. 다시 말해 두 배열의 앞에서 시작해서 같은 부분을 확인하다가 뒤에서 서로 다른 문자가 나오면 그 차이를 리턴한다. len으로 지정한 지점까지 서로 다른 문자가 하나도 없으면 0을 리턴한다.
• memchr(s, c, len): 배열 s에 문자 c가 있는지 검색한다.
스트링을 다루는 함수는 다음과 같다.
• strlen(s): 스트링 s의 길이를 리턴한다. 이 값은 배열의 길이가 아니라 가장 처음 나오는 0의 위치다. s가 진짜 스트링인지(0으로 끝나는지)는 직접 확인해야 한다.
• strcpy(target, source): memcpy와 비슷하다. 이때 source 스트링의 길이만큼만 복제하므로 len 매개변수가 필요 없다. memcpy와 마찬가지로 source는 반드시 0으로 끝나야 한다. 또한 target은 복제본을 담을 만큼 충분히 커야 한다.
• strcmp(s0, s1): 두 배열을 사전 순서로 비교한다는 점에서 memcpy와 비슷하지만 언어의 특수성을 고려하지 않을 수 있다. 두 배열의 첫 문자부터 비교하다가 s0이나 s1 중 어느 한 곳에서 문자 0이 나오면 비교 연산을 중단한다. 여기서도 역시 두 인수는 0으로 끝나야 한다.
• strcoll(s0, s1): 두 배열을 사전 순서로 비교하며, 언어에 특화된 환경 설정을 고려한다. 적절히 설정하는 방법은 8.6절에서 자세히 소개한다.
• strchr(s, c): 스트링 s가 0으로 끝나야 한다는 점을 제외하면 memchr과 같다.
• strspn(s0, s1): s0 중에서 s1과 앞부분이 같은 부분의 길이를 리턴한다.
• strcspn(s0, s1): s0 중에서 s1과 앞부분이 다른 부분의 길이를 리턴한다.