.TH STRING 3 .SH NAME strcat, strcatn, strcmp, strcmpn, strcpy, strcpyn, strlen, index, rindex \- string operations .SH SYNOPSIS .B char *strcat(s1, s2) .br .B char *s1, *s2; .PP .B char *strcatn(s1, s2, n) .br .B char *s1, *s2; .PP .B strcmp(s1, s2) .br .B char *s1, *s2; .PP .B strcmpn(s1, s2, n) .br .B char *s1, *s2; .PP .B char *strcpy(s1, s2) .br .B char *s1, *s2; .PP .B char *strcpyn(s1, s2, n) .br .B char *s1, *s2; .PP .B strlen(s) .br .B char *s; .PP .B char *index(s, c) .br .B char *s, c; .PP .B char *rindex(s, c) .br .B char *s; .SH DESCRIPTION These functions operate on null-terminated strings. They do not check for overflow of any receiving string. .PP .I Strcat appends a copy of string .I s2 to the end of string .IR s1 . .I Strcatn copies at most .I n characters. Both return a pointer to the null-terminated result. .PP .I Strcmp compares its arguments and returns an integer greater than, equal to, or less than 0, according as .I s1 is lexicographically greater than, equal to, or less than .IR s2 . .I Strcmpn makes the same comparison but looks at at most .I n characters. .PP .I Strcpy copies string .I s2 to .I s1, stopping after the null character has been moved. .I Strcpyn copies exactly .I n characters, truncating or null-padding .I s2; the target may not be null-terminated if the length of .I s2 is .I n or more. Both return .IR s1 . .PP .I Strlen returns the number of non-null characters in .IR s . .PP .I Index .RI ( rindex ) returns a pointer to the first (last) occurrence of character .I c in string .I s, or zero if .I c does not occur in the string. .SH BUGS .I Strcmp uses native character comparison, which is signed on PDP11's and VAX-11's, unsigned on other machines.