前言
string.h库函数是工程中很常用的字符串操作库函数。
在这篇博客中总结一下常用的几个string.h有关的库函数,在工程中避免重复造轮子,换句话说提高工程效率
(* ̄︶ ̄)。
- char *strcpy(char *destin, const char *source);
//函数原型:char *strcpy(char *destin, const char *source);
//函数功能:从source常量字符串首地址复制到destin地址
小细节:由于使用strcpy有可能造成内存的溢出,在工程中使用strcpy_s更为安全。
//时间:2019年11月15日
//作者:Kroner
//编译环境:VS 2019
//库函数 string.h
//函数原型:char *strcpy(char *destin, const char *source);
//函数功能:从source常量字符串首地址复制到destin地址
#define _CRT_SECURE_NO_WARNINGS
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int main()
{
char dest[10];
const char* src = "123456"; //可以尝试一下不加const是否会报错
strcpy(dest, src) //在此处可以利用返回值进行连式编程,提高代码的灵活性
printf_s("%s", dest);
return 0;
}
测试结果:
- char *strncpy(char *destin, char *source, int len);
函数原型:char *strncpy(char *destin, char *source, int len);
功能:将source指向的len个字符串拷到destin。
//时间:2019年11月15日
//作者:Kroner
//编译环境:VS 2019
//库函数 string.h
//函数原型:char *strncpy(char *destin, char *source, int len);
//函数功能:将source指向的前len个字符串拷到destin。
#define _CRT_SECURE_NO_WARNINGS
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int main()
{
char dest[10];
const char* src = "123456";
strncpy(dest, src, 3);
dest[3] = '\0';
printf("dest= %s, %s, %s", dest, dest + 4, dest + 5);
//前三个字符是正确,后面的几个字符就是乱码
return 0;
}
测试结果:
- char* strcat(char * str1,char * str2);
char* strcat(char * str1,char * str2);
功能: 把字符串str2接到str1后面,str1最后的’\0’被取消
//时间:2019年11月15日
//作者:Kroner
//编译环境:VS 2019
//库函数 string.h
//函数原型:char* strcat(char * str1,char * str2);
//函数功能:把字符串str2接到str1后面,str1最后的'\0'被取消
#define _CRT_SECURE_NO_WARNINGS
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int main()
{
char dest[20] = "abcd";
const char* src = "123456";
strcat(dest, src);
printf_s("dest= %s", dest); // 这边输出是dest拼接src
return 0;
}
测试结果:
- char *strncat(char *dest, const char *src, size_t maxlen)
char *strncat(char *dest, const char *src, size_t maxlen)
功能