一 C字符串概述:
(1)按照约定,C的字符串就是以null字符('\0')结尾的字符数组。编译器会自动在所有的字符串常量后面自动添加一个额外的null字符。但是,确保字符数组中所创建的字符串是以null字符结尾则是程序员的责任。
(2)把字符串复制到一个目标字符串时,常常不会对目标字符串是否溢出进行检查。确保内存中的目标区域足以容纳结果字符串(包含结尾的null字符)是程序员的责任。
二 字符串的赋值
(1)strcat
语法:
#include<string.h>
char *strcat(char *dest,const char *src);
返回值:dest的值。
介绍:
strcat函数把字符串src的内容追加到字符串dest的尾部。用于结束dest的null字符(以及它后面可能出现的其他字符)被src的字符所覆盖,并在最后添加一个新的null字符。它复制src的字符,直到遇到src的null字符。这个函数假设从dest开始的内存区域具有足够的空间容纳这两个字符串。
(2)strncat
语法:
char *strncat(char *dest,const char *src,size_t n)
返回值:返回dest的值。
strncat函数把src中的n个字符追加到dest的尾部。
*如果在复制n个字符之前就遇到了src的null字符,则这个null字符也被复制,然后就不再复制其他字符。
*如果在src的前n个字符中并没有null字符,则前n个字符就被复制到dest,并在dest中追加一个用于追加一个用于结束字符串的null字符。
如果两个参数字符串在内存中重叠,这些函数的行为是未定义的。