我们在初学C语言的时候,最主要是学习它的语法,比如循环、选择、指针等内容,其次就是关心编程语言的算法,比如排序、查找算法等,由于这些知识点是平台无关的,即便是在MCU上编程,使用的也无外乎就是这些语法,所以非常重要。也正因为如此,嵌入式工程师往往会忽略C语言中另一个非常重要的内容——C标准库函数。接下来就和大家分享一下。
1.strcpy
#include <string.h>
char *strcpy(char *str1, char *str2);
把字符串str2(包括’\0’)拷贝到字符串str1当中,并返回str1。
2.strncpy
#include <string.h>
char *strncpy(char *str1, char *str2, size_t count);
把字符串str2中最多count个字符拷贝到字符串str1中,并返回str1。如果str2中少于count 个字符,那么就用’\0’来填充,直到满足count个字符为止。
3.strcat
#include <string.h>
char *strcat(char *str1, const char *str2);
把str2(包括’\0’)拷贝到字符串str1的尾部(连接),并返回str1。其中原str1的’\0’被str2的第一个字符覆盖。
4.strncat
#include <string.h>
char *strncat(char *str1, const char *str2, size_t count);
把str2中最多count个字符连接到字符串str1的尾部,并以’\0’终止str1,返回str1。其中原str1的’\0’被str2的第一个字符覆盖。
注意,最大拷贝字符数是count+1。
5.strcmp
#include <string.h>
char *strcmp(const char *str1, const char *str2);
按字典顺序比较两个字符串,返回整数值的意义如下:
小于0,str1小于str2
等于0,str1等于str2
大于0,str1大于str2
6.strncmp
#include <string.h>
char *strncmp(const char *str1, const char *str2, size_t count);
同strcmp,除了最多比较count个字符。根据比较结果,返回整数值的意义如下:
小于0,str1小于str2
等于0,str1等于str2
大于0,str1大于str2
7.strchr
#include <string.h>
char *strchr(const char *str1, int ch);
返回指向字符串str中字符ch第一次出现的位置的指针,如果str中不包含ch,则返回NULL。
8.strrchr
#include <string.h>
char *strrchr(const char *str1, int ch);
返回指向字符串str中字符ch最后一次出现的位置的指针,如果str中不包含ch,则返回NULL。
9.strspn
#include <string.h>
size_t strspn(const char *str1, const char *str2);
返回字符串str1中由字符串str2中字符构成的第一个子串的长度。
10.strcspn
#include <string.h>
size_t strcspn(const char *str1, const char *str2);
返回字符串str1中不在字符串str2中字符构成的第一个子串的长度。
11.strpbrk
#include <string.h>
char *strpbrk(const char *str1, const char *str2);
返回指向字符串str2中的任意字符第一次出现在字符串str1中的位置的指针;如果str1中没有与str2相同的字符,那么必须返回NULL。
12.strstr
#include <string.h>
char *strstr(const char *str1, const char *str2);
返回指向字符串str2第一次出现在字符串str1中的位置的指针;如果str1中不包含str2,则返回NULL。
13.strlen
#include <string.h>
size_t strlen(const char *str);
返回字符串str的长度,’\0’不计算在内。
14.strerror
#include <string.h>
char *strerror(int errnum);
返回指向与错误序号errnum对应的错误信息字符串的指针(错误信息的具体内容依赖于实现)。
15.strtok
#include <string.h>
char *strtok(char *str1, const char *str2);
在str1中搜索有str2的分界符界定的单词。
16.memcpy
#include <string.h>
void *memcpy(void *to, const void *from, size_t count);
把from中的count个字符拷贝到to中,并返回to。
17.memmove
#include <string.h>
void *memmove(void *to, const void *from, size_t count);
功能与memcpy类似,不同之处在于,当发生对象重叠时,函数仍能正确执行。
18.memcmp
#include <string.h>
void *memcmp(void *buf1, const void *buf2, size_t count);
比较buf1和buf2的前count个字符,返回值与strcmp的返回值相同。
19.memchr
#include <string.h>
void *memchr(const void *buf1, int ch, size_t count);
返回指向ch在buffer中第一次出现的位置指针,如果在buffer的前count个字符当中找不到匹配,则返回NULL。
20.memset
#include <string.h>
void *memset(void *buf, int ch, size_t count);
把buf中的前count个字符替换为ch,并返回buf。
以上就是“c语言的库函数有哪些?(C语言有什么库函数)”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10118/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料