C语言字符串函数(部分)

以下函数均需包含头文件#include<string.h>

islower、isupper、tolower、toupper

虽然islower、isuppe、tolower、toupper函数声明中的参数类型为int,但在实际使用中,您可以传入字符常量、字符变量或能转换为字符的整数值。

int islower (int c ):判断传入的字符是否是小写,如果是则返回非0整数。可以通过'-32'将其转为大写。

int isupperr (int c ):判断传入的字符是否是大写,如果是则返回非0整数。可以通过'+32'将其转为大写。

int tolower (int c ):将传入的字符转为小写。

int touppe r(int c ):将传入的字符转为大写。

 strlen

size_t strlen (const char* str):str指向一个字符串的首元素地址;计算字符串的长度(不包括'\0')。

 strcmp

int strcmp (const char* str1, const char* str2):str1、str2分别指向两个字符串的首元素地址,从首元素开始,挨个向后面一个字符一个字符比较,直到'\0'或 str1和str2指向的字符字典序不同,返回值为int。

int ctrcmp(const char* str1, const char* str2){
    ........
    ........
    return *str1-*str2;//如果str1所指向的字符串在字典序上小于str2所指向的字符串,则返回负整数。
                       //                                                    否则返回正整数
}

strcpy

char* strcpy (char* str1, const char* str2):以str1指向的字符串首元素为起点,字符串里'\0'之前的内容将被覆盖为str2指向的字符串里第一个'\0'之前的内容。返回str1指向的字符串的首元素地址。

strcat

char* strcat (char* str1, const char* str2):str1指向的字符串里'\0'之后的内容将被覆盖为str2指向的字符串里第一个'\0'之前的内容。返回str1指向的字符串的首元素地址。

 strncpy

 char* strncpy (char* destiantion, const char* source, size_t num):以destination指向的字符串首元素为起点,将source指向的字符串的前num个字符覆盖到destination前num个字符,最后在后面追加'\0',若source指向的字符串不满num个,则在后面追加0直到num个。返回destination 指向的字符串的首元素地址。

strncat

char* strncat (char* destination, const char* source, size_t num): 将source指向的num个字符追加到source指向的字符串里第一个'\0'前一个字符后面,并在后面追加'\0',如果不满num个字符,则仅追加到destination指向的字符串的'\0'。

strncmp

int strcmp (const char* str1, const char* str2, size_t num):比较str1和str2指向的字符串的前num个字符,如果不一样,则立即停止,返回整数同strcmp:

 strstr

char* strstr (const char* str1, const char* str2):在str1指向的字符串1里查找str2指向的字符串2,如果找到则返回在字符串1里第一次出现的位置,找不到则返回null,还有一种情况是字符串2长度为0,即仅一个'\0',此时返回字符串1的地址。

strtok

char* strtok (char* str, const char* point):str指向字符串1,point指向字符串2。字符串2的内容是分隔字符集合,字符串1包含分隔字符和被分隔的子字符串。

char arr[]="asdf*dkj%.tt";//str指向arr

char brr[]="*.";//point指向brr,里面的分隔字符为‘*’、‘.’;子字符串为"asdf"、"dkj%"、"tt"

         当str不为空时,strtok将查找第一个分隔符并将其替换为'\0'同时返回指向这个分隔符之前的一个子串的地址,同时strtok记住该分隔符位置,以便下次调用strtok从此处开始向后查找分隔符。(除第一次外,后续调用strtok,第一个参数都需为NULL

        如果str为空,strtok将会从上次记住的位置开始查找,如果str里没有分隔符,strtok将会返回null,表示没有子串可分隔。

 strerror

char* strerror (int errnum):C语言标准库里定义了一些通用错误码,C语言中调用标准库函数时发生了错误会将对应的错误码存储在变量errno里(无错误时,errno等于0),而strerror将接受这个错误码并返回对应的错误码对应的错误码字符串的地址。(使用errno需要头文件#include<errno.h>)

 也可以使用perror打印错误信息,perror("string"),打印格式为:"string"+":"+"错误码字符串"。

完。 

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值