2024年6月2日发(作者:)
C标准库源码解剖(4):字符串处理函数string.h
和wchar.h
简要介绍资料的主要内容,以获得更多的关注
C标准库源码解剖(4):字符串处理函数string.h和wchar.h
分类: C 20XX年-10-08 12:39 648人阅读 评论(1) 收藏 举报
string.h中包含了所有的字符串处理函数,也包含了内存处理函数,
因为这些内存处理函数(如比如、复制、搜索)的功能与字符串处理函数
功能类似。我们是用通用指针来指向内存块的,通用指针可以用char*类
型(传统C语言),也可以用void*类型(标准C语言)。每个函数都有对
应的宽字符版本,在wchar.h中。
string.h中包含的标准库函数:
strcat,strncat,strcmp,strncmp,strcpy,strncpy,strlen,strchr,strrchr,strspn,strcsp
n,strpbrk, strstr,strok,strcoll,strxfrm,strerror;
memcpy,memmove,memcmp,memchr,memeset。GNU还提供了很多非标
准的扩展,如memccpy,rawmemchr,memrchr, strdup,strndup等。 view
plaincopy to clipboardprint? 1. /* ISO C99 Standard: 7.21 字符串处理
string.h */
2. #ifndef _STRING_H
3. #define _STRING_H 1
4. #include features.h /* 非标准头文件,定义了一些编译选项 */
5. __BEGIN_DECLS
6. /* 从stddef.h中获得size_t和NULL */
7. #define __need_size_t
8. #define __need_NULL
9. #include stddef.h
10. __BEGIN_*****CE_STD
11. /* 从SRC中复制N个字节的内容到DEST中 */
12. extern void *memcpy (void *__restrict __dest,
13. __const void *__restrict __src, size_t __n)
14. __THROW __nonnull ((1, 2));
15. /* 从SRC中复制N个字节的内容到DEST中,保证对重叠字符串
(即SRC与DEST共用存储空间)有正确的行为 */
16. extern void *memmove (void *__dest, __const void *__src, size_t
__n)
17. __THROW __nonnull ((1, 2));
18. __END_*****CE_STD
19. /* 从SRC中复制不超过N个字节的内容到DEST中,当遇到字符
C返回DEST中C的拷贝后面的字符指针。
20. 如果在SRC的前面N个字节中没有发现字符C,则返回NULL */
简要介绍资料的主要内容,以获得更多的关注
发布评论