📄 all.html
字号:
memchr </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> void *memchr( const void *buffer, int ch, size_t count );</pre> <p>The memchr() function looks for the first occurrence of <em>ch</em> within <em>count</em> characters in the array pointed to by <em>buffer</em>. The return value points to the location of the first occurrence of <em>ch</em>, or <strong>NULL</strong> if <em>ch</em> isn't found. For example:</p> <pre class="example-code"> char names[] = "Alan Bob Chris X Dave"; if( memchr(names,'X',strlen(names)) == <strong>NULL</strong> ) printf( "Didn't find an X\n" ); else printf( "Found an X\n" ); </pre> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcmp.html">memcmp</a><br> <a href="memcpy.html">memcpy</a><br> <a href="strstr.html">strstr</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> memcmp </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> int memcmp( const void *buffer1, const void *buffer2, size_t count );</pre> <p>The function memcmp() compares the first <em>count</em> characters of <em>buffer1</em> and <em>buffer2</em>. The return values are as follows:</p> <table class="code-table"> <tr> <th class="code-table-th">Value</th> <th class="code-table-th">Explanation</th> </tr> <tr> <td class="code-table-td">less than 0</td> <td class="code-table-td">buffer1 is less than buffer2</td> </tr> <tr> <td class="code-table-td">equal to 0</td> <td class="code-table-td">buffer1 is equal to buffer2</td> </tr> <tr> <td class="code-table-td">greater than 0</td> <td class="code-table-td">buffer1 is greater than buffer2</td> </tr> </table> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memchr.html">memchr</a><br> <a href="memcpy.html">memcpy</a><br> <a href="memset.html">memset</a><br> <a href="strcmp.html">strcmp</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> memcpy </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> void *memcpy( void *to, const void *from, size_t count );</pre> <p>The function memcpy() copies <em>count</em> characters from the array <em>from</em> to the array <em>to</em>. The return value of memcpy() is <em>to</em>. The behavior of memcpy() is undefined if <em>to</em> and <em>from</em> overlap.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memchr.html">memchr</a><br> <a href="memcmp.html">memcmp</a><br> <a href="memmove.html">memmove</a><br> <a href="memset.html">memset</a><br> <a href="strcpy.html">strcpy</a><br> <a href="strlen.html">strlen</a><br> <a href="strncpy.html">strncpy</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> memmove </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> void *memmove( void *to, const void *from, size_t count );</pre> <p>The memmove() function is identical to <a href= "memcpy.html">memcpy</a>(), except that it works even if <em>to</em> and <em>from</em> overlap.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcpy.html">memcpy</a><br> <a href="memset.html">memset</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> memset </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> void* memset( void* buffer, int ch, size_t count );</pre> <p>The function memset() copies <em>ch</em> into the first <em>count</em> characters of <em>buffer</em>, and returns <em>buffer</em>. memset() is useful for intializing a section of memory to some value. For example, this command:</p> <pre class="example-code"> memset( the_array, '\0', sizeof(the_array) ); </pre> <p>...is a very efficient way to set all values of the_array to zero.</p> <p>The table below compares two different methods for initializing an array of characters: a for-loop versus memset(). As the size of the data being initialized increases, memset() clearly gets the job done much more quickly:</p> <table class="misc-table"> <tr class="misc-table-tr-1"> <th>Input size</th> <th>Initialized with a for-loop</th> <th>Initialized with memset()</th> </tr> <tr class="misc-table-tr-2"> <td>1000</td> <td>0.016</td> <td>0.017</td> </tr> <tr class="misc-table-tr-1"> <td>10000</td> <td>0.055</td> <td>0.013</td> </tr> <tr class="misc-table-tr-2"> <td>100000</td> <td>0.443</td> <td>0.029</td> </tr> <tr class="misc-table-tr-1"> <td>1000000</td> <td>4.337</td> <td>0.291</td> </tr> </table> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcmp.html">memcmp</a><br> <a href="memcpy.html">memcpy</a><br> <a href="memmove.html">memmove</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strcat </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> char *strcat( char *str1, const char *str2 );</pre> <p>The strcat() function concatenates <em>str2</em> onto the end of <em>str1</em>, and returns <em>str1</em>. For example:</p> <pre class="example-code"> printf( "Enter your name: " ); scanf( "%s", name ); title = strcat( name, " the Great" ); printf( "Hello, %s\n", title ); </pre> <p>Note that strcat() does not perform bounds checking, and thus risks overrunning <em>str1</em> or <em>str2</em>. For a similar (and safer) function that includes bounds checking, see <a href="strncat.html">strncat()</a>.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="strchr.html">strchr</a><br> <a href="strcmp.html">strcmp</a><br> <a href="strcpy.html">strcpy</a><br> <a href="strncat.html">strncat</a> </div> <p>Another set of related (but non-standard) functions are <a href="http://en.wikipedia.org/wiki/Strlcpy">strlcpy and strlcat</a>.</p> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strchr </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> char *strchr( const char *str, int ch );</pre> <p>The function strchr() returns a pointer to the first occurence of <em>ch</em> in <em>str</em>, or <strong>NULL</strong> if <em>ch</em> is not found.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="strcat.html">strcat</a><br> <a href="strcmp.html">strcmp</a><br> <a href="strcpy.html">strcpy</a><br> <a href="strlen.html">strlen</a><br> <a href="strncat.html">strncat</a><br> <a href="strncmp.html">strncmp</a><br> <a href="strncpy.html">strncpy</a><br> <a href="strpbrk.html">strpbrk</a><br> <a href="strspn.html">strspn</a><br> <a href="strstr.html">strstr</a><br> <a href="strtok.html">strtok</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strcmp </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> int strcmp( const char *str1, const char *str2 );</pre> <p>The function strcmp() compares <em>str1</em> and <em>str2</em>, then returns:</p> <table class="code-table"> <tr> <th class="code-table-th">Return value</th> <th class="code-table-th">Explanation</th> </tr> <tr> <td class="code-table-td">less than 0</td> <td class="code-table-td">''str1'' is less than ''str2''</td> </tr> <tr> <td class="code-table-td">equal to 0</td> <td class="code-table-td">''str1'' is equal to ''str2''</td> </tr> <tr> <td class="code-table-td">greater than 0</td> <td class="code-table-td">''str1'' is greater than ''str2''</td> </tr> </table> <p>For example:</p> <pre class="example-code"> printf( "Enter your name: " ); scanf( "%s", name ); if( strcmp( name, "Mary" ) == 0 ) { printf( "Hello, Dr. Mary!\n" ); } </pre> <p>Note that if <em>str1</em> or <em>str2</em> are missing a null-termination character, then strcmp() may not produce valid results. For a similar (and safer) function that includes explicit bounds checking, see <a href="strncmp.html">strncmp()</a>.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcmp.html">memcmp</a><br> <a href="strcat.html">strcat</a><br> <a href="strchr.html">strchr</a><br> <a href="strcoll.html">strcoll</a><br> <a href="strcpy.html">strcpy</a><br> <a href="strlen.html">strlen</a><br> <a href="strncmp.html">strncmp</a><br> <a href="strxfrm.html">strxfrm</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strcoll </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> int strcoll( const char *str1, const char *str2 );</pre> <p>The strcoll() function compares <em>str1</em> and <em>str2</em>, much like <a href="strcmp.html">strcmp</a>(). However, strcoll() performs the comparison using the locale specified by the (Standard C Date & Time) <a href="../stddate/setlocale.html">setlocale</a>() function.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> (Standard C Date & Time) <a href= "../stddate/setlocale.html">setlocale</a><br> <a href="strcmp.html">strcmp</a><br> <a href="strxfrm.html">strxfrm</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strcpy </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> char *strcpy( char *to, const char *from );</pre> <p>The strcpy() function copies characters in the string <em>from</em> to the string <em>to</em>, including the null termination. The return value is <em>to</em>.</p> <p>Note that strcpy() does not perform bounds checking, and thus risks overrunning <em>from</em> or <em>to</em>. For a similar (and safer) function that includes bounds checking, see <a href="strncpy.html">strncpy()</a>.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcpy.html">memcpy</a><br> <a href="strcat.html">strcat</a><br> <a href="strchr.html">strchr</a><br> <a href="strcmp.html">strcmp</a><br> <a href="strncmp.html">strncmp</a><br> <a href="strncpy.html">strncpy</a> </div> <p>Another set of related (but non-standard) functions are <a href="http://en.wikipedia.org/wiki/Strlcpy">strlcpy and strlcat</a>.</p> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strcspn </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> size_t strcspn( const char *str1, const char *str2 );</pre> <p>The function strcspn() returns the index of the first character in <em>str1</em> that matches any of the characters in <em>str2</em>.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="strpbrk.html">strpbrk</a><br> <a href="strrchr.html">strrchr</a><br> <a href="strstr.html">strstr</a><br> <a href="strtok.html">strtok</a> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strerror </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> char *strerror( int num );</pre> <p>The function strerror() returns an implementation defined string corresponding to <em>num</em>.</p> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> strlen </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <string.h> size_t strlen( char *str );</pre> <p>The strlen() function returns the length of <em>str</em> (determined by the number of characters before null termination).</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="memcpy.html">memcpy</a><br> <a href="strchr.html">strchr</a><br> <a href="strcmp.html">strcmp</a><br> <a href="strncmp.html">strncmp</a> </div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -