第九章 字符串,字符和字节

1.NUL字节是字符串终止符,但它本身并不是字符串的一部分,所以字符串的长度并不包括NUL字节。

2.size_t这个类型是在头文件stddef.h中定义的,返回长度。

3.连接字符串:strcat

strcpy(message,"hello");
strcat(message,customer_name);
strcat(message,",how are you?");

hello,how are you?

strcat(strcpy(dat,a),b);

ab

4.字符串比较(字典比较):比较ASCII码大小   strcmp

5.NUL相当于‘’,结束字符串,前者为字符常量的名字,后者相当于是字符串常量

   NULL在stddef.h中专门为空指针定义的一个宏(void *)0

6.strlen不包含'',strcpy会把''复制过去。

strlen返回字符串长度时,不会把字符串长度返回过去。

7.长度受限的字符串函数:strncpy.......char *strncpy(char *dst, char const *src, size_t len)  向dst中写入len个字符,如果被复制字符串小于len个字符,则将用NUL补充至len个。如果大于或等于,结果不会有NUL所以需要自己加上‘’。

                                         

                                         strncat.......char *strncat(char *dst, char *src,size_t len)总是在结果字符串后面添加NUL字节,而且它不会像strncpy那样对目标数组用NUL字节进行填充。

                                         strncmp........int strncmp(char const *s1,char const *s2, char const *s3)只对前len个进行比较。

8.字符串查找:

查找一个字符:strchr,strrchr                         查找任何几个字符:strpbrk

查找一个子串:strstr                                     查找一个字符串前缀:strspn,strcspn

查找标记:strtok                                           错误信息:strerror

字符转换:tolower,toupper                           内存操作:memcpy(复制),memchr(查找),memset(设置(初始化等))

字符串分类:iscnstrl.....

9.在使用strcpy和strcat时要考虑容器够大,否则会溢出。

原文地址:https://www.cnblogs.com/Mayfly-nymph/p/8372926.html