C语言中的字符串习惯上是以null字符('/0')结尾的字符数组。编译器在所有字符串常量后面自动添加一个多余的null字符,但编程人员要保证字符数组中生成的字符串以null字符结尾。
以下是几个基本的字符串处理函数:
strcat
#include <string.h>
char *strcat(char *dest, const char *src);
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
strncat
#include <string.h>
char *strncat(char *dest, const char *src, size_t n);
把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
strcpy
#include <string.h>
char *strcpy(char *dest, const char *src);
将字符串src的内容复制到字符串dest,覆盖dest中原先的内容。
复制整个src的内容并添加终止NULL字符,即使src比dest长。
函数strcpy返回dest。
strncpy
#include <string.h>
char *strncpy(char *dest, const char *src, size_t n);
strncpy不复制最后的'/0'结束符,所以是不安全的。
strlen
#include <string.h>
int strlen(char *s);
返回s的长度,不包括结束符NULL。
这几个函数中,需要留意strncpy函数,此函数调用后不会自动在字符串尾添加'/0',需要手动添加。