📄 string.html
字号:
<HTML><HEAD><TITLE><string.h></TITLE></HEAD><BODY><H1><A NAME="<string.h>"><CODE><string.h></CODE></A></H1><HR><P><B><CODE><A HREF="#memchr">memchr</A>· <A HREF="#memcmp">memcmp</A>· <A HREF="#memcpy">memcpy</A>· <A HREF="#memmove">memmove</A>· <A HREF="#memset">memset</A>· <A HREF="#NULL">NULL</A>· <A HREF="#size_t">size_t</A>· <A HREF="#strcat">strcat</A>· <A HREF="#strchr">strchr</A>· <A HREF="#strcmp">strcmp</A>· <A HREF="#strcoll">strcoll</A>· <A HREF="#strcpy">strcpy</A>· <A HREF="#strcspn">strcspn</A>· <A HREF="#strerror">strerror</A>· <A HREF="#strlen">strlen</A>· <A HREF="#strncat">strncat</A>· <A HREF="#strncmp">strncmp</A>· <A HREF="#strncpy">strncpy</A>· <A HREF="#strpbrk">strpbrk</A>· <A HREF="#strrchr">strrchr</A>· <A HREF="#strspn">strspn</A>· <A HREF="#strstr">strstr</A>· <A HREF="#strtok">strtok</A>· <A HREF="#strxfrm">strxfrm</A></CODE></B></P><HR><P>Include the standard header <B><CODE><string.h></CODE></B> to declare anumber of functions that help you manipulate<A HREF="lib_over.html#C string">C strings</A> and other arrays ofcharacters.</P><PRE> /* MACROS */#define <A HREF="#NULL"><B>NULL</B></A> <I><either 0, 0L, or (void *)0></I> <B>[0 in C++]</B> /* TYPES */typedef <I>ui-type</I> <A HREF="#size_t"><B>size_t</B></A>; /* FUNCTIONS */int <A HREF="#memcmp"><B>memcmp</B></A>(const void *s1, const void *s2, size_t n);void *<A HREF="#memcpy"><B>memcpy</B></A>(void *s1, const void *s2, size_t n);void *<A HREF="#memmove"><B>memmove</B></A>(void *s1, const void *s2, size_t n);void *<A HREF="#memset"><B>memset</B></A>(void *s, int c, size_t n);char *<A HREF="#strcat"><B>strcat</B></A>(char *s1, const char *s2);int <A HREF="#strcmp"><B>strcmp</B></A>(const char *s1, const char *s2);int <A HREF="#strcoll"><B>strcoll</B></A>(const char *s1, const char *s2);char *<A HREF="#strcpy"><B>strcpy</B></A>(char *s1, const char *s2);size_t <A HREF="#strcspn"><B>strcspn</B></A>(const char *s1, const char *s2);char *<A HREF="#strerror"><B>strerror</B></A>(int errcode);size_t <A HREF="#strlen"><B>strlen</B></A>(const char *s);char *<A HREF="#strncat"><B>strncat</B></A>(char *s1, const char *s2, size_t n);int <A HREF="#strncmp"><B>strncmp</B></A>(const char *s1, const char *s2, size_t n);char *<A HREF="#strncpy"><B>strncpy</B></A>(char *s1, const char *s2, size_t n);size_t <A HREF="#strspn"><B>strspn</B></A>(const char *s1, const char *s2);char *<A HREF="#strtok"><B>strtok</B></A>(char *s1, const char *s2);size_t <A HREF="#strxfrm"><B>strxfrm</B></A>(char *s1, const char *s2, size_t n);void *<A HREF="#memchr"><B>memchr</B></A>(const void *s, int c, size_t n); <B>[not in C++]</B>const void *<A HREF="#memchr"><B>memchr</B></A>(const void *s, int c, size_t n); <B>[C++ only]</B>void *<A HREF="#memchr"><B>memchr</B></A>(void *s, int c, size_t n); <B>[C++ only]</B>char *<A HREF="#strchr"><B>strchr</B></A>(const char *s, int c); <B>[not in C++]</B>const char *<A HREF="#strchr"><B>strchr</B></A>(const char *s, int c); <B>[C++ only]</B>char *<A HREF="#strchr"><B>strchr</B></A>(char *s, int c); <B>[C++ only]</B>char *<A HREF="#strpbrk"><B>strpbrk</B></A>(const char *s1, const char *s2); <B>[not in C++]</B>const char *<A HREF="#strpbrk"><B>strpbrk</B></A>(const char *s1, const char *s2); <B>[C++ only]</B>char *<A HREF="#strpbrk"><B>strpbrk</B></A>(char *s1, const char *s2); <B>[C++ only]</B>char *<A HREF="#strrchr"><B>strrchr</B></A>(const char *s, int c); <B>[not in C++]</B>const char *<A HREF="#strrchr"><B>strrchr</B></A>(const char *s, int c); <B>[C++ only]</B>char *<A HREF="#strrchr"><B>strrchr</B></A>(char *s, int c); <B>[C++ only]</B>char *<A HREF="#strstr"><B>strstr</B></A>(const char *s1, const char *s2); <B>[not in C++]</B>const char *<A HREF="#strstr"><B>strstr</B></A>(const char *s1, const char *s2); <B>[C++ only]</B>char *<A HREF="#strstr"><B>strstr</B></A>(char *s1, const char *s2); <B>[C++ only]</B></PRE><H2><A NAME="memchr"><CODE>memchr</CODE></A></H2><PRE>void *<B>memchr</B>(const void *s, int c, size_t n); <B>[not in C++]</B>const void *<B>memchr</B>(const void *s, int c, size_t n); <B>[C++ only]</B>void *<B>memchr</B>(void *s, int c, size_t n); <B>[C++ only]</B></PRE><P>The function searches for the first element of an array of <I>unsignedchar,</I> beginning at the address <CODE>s</CODE> with size <CODE>n</CODE>,that equals <CODE>(unsigned char)c</CODE>. If successful, it returns theaddress of the matching element; otherwise, it returns a null pointer.</P><H2><A NAME="memcmp"><CODE>memcmp</CODE></A></H2><PRE>int <B>memcmp</B>(const void *s1, const void *s2, size_t n);</PRE><P>The function compares successive elements from two arrays of <I>unsignedchar,</I> beginning at the addresses <CODE>s1</CODE> and <CODE>s2</CODE>(both of size <CODE>n</CODE>),until it finds elements that are not equal:</P><UL><LI>If all elements are equal, the function returns zero.<LI>If the differing element from <CODE>s1</CODE> is greater than theelement from <CODE>s2</CODE>, the function returns a positive number.<LI>Otherwise, the function returns a negative number.</UL><H2><A NAME="memcpy"><CODE>memcpy</CODE></A></H2><PRE>void *<B>memcpy</B>(void *s1, const void *s2, size_t n);</PRE><P>The function copies the array of <I>char</I> beginning at the address<CODE>s2</CODE> to the array of <I>char</I> beginning at the address<CODE>s1</CODE> (both of size <CODE>n</CODE>). It returns<CODE>s1</CODE>. The elements of the arrays can be accessed and stored in anyorder.</P><H2><A NAME="memmove"><CODE>memmove</CODE></A></H2><PRE>void *<B>memmove</B>(void *s1, const void *s2, size_t n);</PRE><P>The function copies the array of <I>char</I> beginning at<CODE>s2</CODE> to the array of <I>char</I> beginning at <CODE>s1</CODE>(both of size <CODE>n</CODE>). It returns <CODE>s1</CODE>. If the arraysoverlap, the function accesses each of the element values from<CODE>s2</CODE> before it stores a new value in that element, so the copy isnot corrupted.</P><H2><A NAME="memset"><CODE>memset</CODE></A></H2><PRE>void *<B>memset</B>(void *s, int c, size_t n);</PRE><P>The function stores <CODE>(unsigned char)c</CODE> in each of theelements of the array of <I>unsigned char</I> beginning at <CODE>s</CODE>,with size <CODE>n</CODE>. It returns <CODE>s</CODE>.</P><H2><A NAME="NULL"><CODE>NULL</CODE></A></H2><PRE>#define <B>NULL</B> <I><either 0, 0L, or (void *)0></I> <B>[0 in C++]</B></PRE><P>The macro yields a null pointer constant that is usable as an<A HREF="express.html#address constant expression">address constant expression</A>.</P><H2><A NAME="size_t"><CODE>size_t</CODE></A></H2><PRE>typedef <I>ui-type</I> <B>size_t</B>;</PRE><P>The type is the unsigned integer type <CODE><I>ui-type</I></CODE>of an object that you declare to store the result of the<A HREF="express.html#sizeof operator"><I>sizeof</I></A> operator.</P><H2><A NAME="strcat"><CODE>strcat</CODE></A></H2><PRE>char *<B>strcat</B>(char *s1, const char *s2);</PRE><P>The function copies the string <CODE>s2</CODE>, including itsterminating null character, to successive elementsof the array of <I>char</I> that stores the string <CODE>s1</CODE>,beginning with the element that storesthe terminating null character of <CODE>s1</CODE>. It returns<CODE>s1</CODE>.</P><H2><A NAME="strchr"><CODE>strchr</CODE></A></H2><PRE>char *<B>strchr</B>(const char *s, int c); <B>[not in C++]</B>const char *<B>strchr</B>(const char *s, int c); <B>[C++ only]</B>char *<B>strchr</B>(char *s, int c); <B>[C++ only]</B></PRE><P>The function searches for the first element of the string<CODE>s</CODE> that equals <CODE>(char)c</CODE>. It considers theterminating null character as part of the string. If successful, the functionreturns the address of the matching element; otherwise, it returns a nullpointer.</P><H2><A NAME="strcmp"><CODE>strcmp</CODE></A></H2><PRE>int <B>strcmp</B>(const char *s1, const char *s2);</PRE><P>The function compares successive elements from two strings,<CODE>s1</CODE> and <CODE>s2</CODE>, until it finds elements that are notequal.</P><UL><LI>If all elements are equal, the function returns zero.<LI>If the differing element from <CODE>s1</CODE> is greater than theelement from <CODE>s2</CODE> (both taken as <I>unsigned char</I>), thefunction returns a positive number.<LI>Otherwise, the function returns a negative number.</UL><H2><A NAME="strcoll"><CODE>strcoll</CODE></A></H2><PRE>int <B>strcoll</B>(const char *s1, const char *s2);</PRE><P>The function compares two strings, <CODE>s1</CODE> and
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -