对字符串操作:
标准库中的string.h函数几乎都是处理字符串的函数,常用的有:
size_t strlen(const char *s);
功能:计算字符串的长度,不包含'\0'
size_t str_len(const char* str)
{
assert(NULL != str);
const char* tmp = str;
while(*tmp) tmp++;
return tmp - str;
}
char *strcpy(char *dest, const char *src);
功能:拷贝字符串,相当于普通变量的赋值语句。
char* str_cpy(char* dest,const char* src)
{
assert(NULL!=dest && NULL!=src);
char* tmp = dest;
while(*tmp++ = *src++);
return dest;
}
char *strcat(char *dest, const char *src);
功能:把字符串src追加到dest的末尾,相当于普通变量的 +=。
char* str_cat(char* dest,const char* src)
{
assert(NULL!=dest && NULL!=src);
char* tmp = dest;
while(*tmp)tmp++;
while(*tmp++ = *src++);
return dest;
}
int strcmp(const char *s1, const char *s2);
功能:按照字典序,比较两个字符串,谁在前谁小。
s1 > s2 返回 正值
s1 < s2 返回 负值
s1 == s2 返回 0
int str_cmp(const char* s1,const char* s2)
{
assert(NULL!=s1 && NULL!=s2);
while(*s1 == *s2 && *s1) s1++,s2++;
if(*s1 > *s2)
return 1;
if(*s1 < *s2)
return -1;
return 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 strncmp(const char *s1, const char *s2, size_t n);
功能:按照字典序比较字符s1和s2,只比较前n个字符
char *strchr( const char *str, int ch );
功能:在str中查找字符ch首次出现位置,如果找不到返回NULL
char *strstr( const char *str1, const char *str2 );
功能:在str1中查找字符串str2首次出现的位置,如果找不到返回NULL
int sprintf( char *str, const char *format, … );
功能:把字符串写入str中
int atoi(const char *nptr);
功能:把字符串转换成int类型整数
long atol(const char *nptr);
功能:把字符串转换成long类型整数
long long atoll(const char *nptr);
功能:把字符串转换成long long类型整数