字符串相关常用函数:
#include <string.h>
#include <assert.h>
assert(NULL != str);//假设条件正确时,程序执行,否则直接打断程序且报错
size_t strlen(const char *s);
功能:计算字符串长度 结果不包括字符'\0'
char *strcpy(char *dest,const char *src);
功能:把src拷贝给dest,相当于给dest赋值 dest=src
返回值:dest的首地址(链式调用)
char str[256] = "hello";
printf("strlen:%d\n",strlen(str));
char str1[256]= "wrold";
strcpy(str,str1);
printf("strcpy:%s %c\n",str,str[8]);
char *strcat(char *dest, const char *src);
功能:把src追加到dest的末尾,相当于给dest +=
返回值:dest的首地址(链式调用)
int strcmp(const char *s1, const char *s2);
功能:比较两个字符串的大小,按照字典序比较,睡在前面谁小
一旦比较出结果后,后面结果不在进行比较
返回值:
s1>s2 正数
s1<s2 负数
s1==s2 0
char *strncpy(char *dest,const char *src,size_t n);
功能:把src前n个字符拷贝给dest
char *strncat(char *dest, const char *src, size_t n);
功能:把src前n个字符追加到dest末尾
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
作业:自己实现四个string字符串处理函数
int atoi(const char *nptr);
功能: 字符串转int类型 "192.168.1.0"
long atol(const char *nptr);
功能:字符串转long型
long long atoll(const char *nptr);
功能:字符串转long long类型
char *strstr(const char *haystack, const char *needle);
功能:查找haystack中是否存在needle
返回值:存在时,返回needle在haystack中第一次出现的位置,
如果不存在时,返回NULL
char *strchr(const char *s,int c)
功能:查找字符串s中是否有字符c
返回值:返回c在s中第一次出现的位置,找不到返回NULL
int sprintf(char *str, const char *format, ...);
功能:可以把各种类型的数据输出到字符串中
返回值:字符串str的长度
int sscanf(const char *str, const char *format, ...);
功能:从字符串中解析出各种类型的数据
返回值:成功读取到的变量个数
void *memcpy(void *dest, const void *src, size_t n);
功能:从src内存位置拷贝n个字节数到dest内存位置0
memcpy(p,arr,sizeof(arr))
int memcmp(const void *s1, const void *s2, size_t n);
功能:比较两块内存是否相等,按字节比较,比较前n个字节
返回值:
s1>s2 正数
s1<s2 负数
s1==s2 0
void *memmove(void *dest, const void *src, size_t n);
功能:移动src到dest中,就算有重合部分,也不影响正确性