c语言中常见的字符串处理函数如下:
(1)字符串拷贝:strcpy()
#include <string.h>
char *strcpy(char *dest, const char *src);
功能:把src所指向的字符串复制到dest所指向的空间中,'\0'也会拷贝过去
参数:
dest:目的字符串首地址
src:源字符首地址
返回值:
成功:返回dest字符串的首地址
失败:NULL
注意:如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况。
例子:
#include <stdio.h>
#include <string.h>
int main() {
char dest[20] = "123456789"; //目标字符串
char src[] = "hello world"; //源字符串
strcpy(dest, src);
printf("%s\n", dest); // hello world
return 0;
}
源字符串无论多大,都只保留目标字符串的内容。
(2)字符串拷贝前n个:strncpy()
#include <string.h>
char *strncpy(char *dest, const char *src, size_t n);
功能:把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符看指定的长度是否包含'\0'。
参数:
dest:目的字符串首地址
src:源字符首地址
n:指定需要拷贝字符串个数
返回值:
成功:返回dest字符串的首地址
失败:NULL
例子:
#include <stdio.h>
#include <string.h>
int main() {
char dest[20];
char src[] = "hello world";
strncpy(dest, src, 5);
printf("%s\n", dest);//hello烫烫烫烫烫烫烫烫烫?饽V椠?
dest[5] = '\0';
printf("%s\n", dest);//hello
return 0;
}
(3)字符串连接:strcat()
#include <string.h>
char *strcat(char *dest, const char *src);
功能:将src字符串连接到dest的尾部,‘\0’也会追加过去
参数:
dest:目的字符串首地址
src:源字符首地址
返回值:
成功:返回dest字符串的首地址
失败:NULL
例子:
#include <stdio.h>
#include <string.h>
int main() {
char str[20] = "123"</