string.h中经常使用函数



char * strchr(char * str ,char ch);

从字符串str中查找首次出现字符ch的位置,若存在返回查找后的地址。若不存在则返回NULL

void main(){
char a[100]="abcdefg";
printf("%o\n",strchr(a,'f')); //返回字符f的地址
printf("%d\n",strchr(a,'f')-a); //返回字符f在字符串中的下标
}



char * strstr(char * str ,char *str2);

在字符串str中查找首次出现子串str2的位置,若存在返回查找后的地址。若不存在返回NULL

void main(){
char a[100]="abcdefg";
printf("%o\n",strstr(a,"defg")); //查找是否包括“defg”, 若存在返回子串的地址
printf("%o\n",strstr(a,"1234")); //查找是否包括“1234”,不存在返回NULL
printf("%d\n",strstr(a,"defg")-a); //返回字串第一个字符在源字符串中的下标
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

int strcmp(char * str1,char *str2); 

将字符串str1和str2中的各个字符依照ASCII依次比較大小。直到出现不同字符或者'\0'时为止,返回值(1)当str1出现小于str2的字符时。返回值为-1。(2)当str1出现大于str2的字符时,返回值为1。(3)当str1与str2两个字符串全然同样,则返回0。

void main(){
char a[100]="ABCD";
char b[100]="ABAB";
char c[100]="ABcd";
char d[100]="ABCD";
printf("%d\n",strcmp(a,b)); //"ABCD"与"ABAB"比較C比A大。所以返回1
printf("%d\n",strcmp(a,c)); //"ABCD"与"ABcd"比較C比c小,所以返回-1
printf("%d\n",strcmp(a,d)); //两者全然同样所以返回0
}

char * strrev(char * str); 

颠倒字符串str。并返回颠倒后的字符串地址。

void main(){
char a[100]="abcdefg";
printf("%s\n",strrev(a));
}

int strlen(char * str);

求字符串str的长度。不包含'\0'

char * strcat(char * des ,char *src);

将src字符串连接到des字符串的后面,并返回des字符串的首地址。连接前src和des后面都有'\0',连接时将des后面的'\0'取消掉,保留新串后面的'\0'

void main(){
char a[100]="abcd";
char b[100]="1234";
printf("%s\n",strcat(a,b)); //将“1234”连接到"abcd"后面
}

char * strcpy(char *des,char *src);

将src字符串拷贝到des字符串中(包含'\0''),并返回des字符串的首地址。des的字符串要足够长。

void main(){
char a[100]="abcdefghi";
char b[100]="1234";
printf("%s\n",strcpy(a,b)); //将"1234"拷贝到"abcdefghi"中
}

char *strlwr(char *str);

将字符串str中的大写字母转换成小写,不改变其它字符。返回转换后的字符串首地址

void main(){
char a[100]="ABCD";
printf("%s\n",strlwr(a));
}

char *strupr(char *str);

将字符串str中的小写字母转换成大写。不改变其它字符。返回转换后的字符串首地址

void main(){
char a[100]="abcd";
printf("%s\n",strupr(a));
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

函数名中出现‘n'的情形:表示对字符串前n个字符进行处理

int strncmp(char *str1 ,char * str2。int n);

将字符串str2中的前n个字符与字符串str1进行比較,直到首次出现不同字符或者'\0'时为止。若n大于str2的长度,则相当于strcmp(str1,str2)

void main(){
char a[100]="abcd";
char b[100]="abcdefg";
printf("%d\n",strcmp(a,b)); //"abcd"小于"abcdefg"
printf("%d\n",strncmp(a,b,4)); //"abcd"与"abcdefg"的前4个字符"abcd"比較
}

char * strncpy(char *des ,char *src , int n);

将src中的前n个字符拷贝到字符串或字符数组中(不自己主动加'\0')

若n大于src字符的长度,则复制整个src

void main(){
char a[100]="abcdefg";
char b[100]="1234";
//printf("%s\n",strncpy(a,b,3)); // 123defg
//printf("%s\n",strncpy(a,b,4)); // 1234efg
//printf("%s\n",strncpy(a,b,5)); // 1234 ,相当于strcpy(a,b)
}

char * strncat(char *des ,char *src , int n);

将src中的前n个字符连接到des字符串中并在末尾加上'\0'。若n大于src的长度。则连接整个src

void main(){
char a[100]="abcdefg";
char b[100]="1234";
//printf("%s\n",strncat(a,b,2)); // abcdefg12
//printf("%s\n",strncat(a,b,4)); // abcdefg1234
//printf("%s\n",strncat(a,b,5)); // abcdefg1234
}

函数名中出现‘i'的情形:表示忽略大写和小写

int stricmp(char * str1,char *str2);

功能同strcmp,但忽略大写和小写

void main(){
char a[100]="abcd";
char b[100]="ABCD";
printf("%d\n",strcmp(a,b)); //正常比較
printf("%d\n",stricmp(a,b)); //忽略大写和小写比較
}

函数名中同一时候出现'n'和'i':表示对字符串前n个字符。进行忽略大写和小写的处理

int strnicmp(char * str1 ,char *str2);

将字符串str2中的前n个字符与字符串str1进行不区分大写和小写的比較,直到首次出现不同字符或者'\0'时为止。

ctype.h中的经常使用函数


int isalpha(char ch);
推断字符ch是否为字母,是字母返回非0(不一定是1),不是字母返回0
void main(){
printf("%d\n",isalpha('a')); //測试返回值,a是字母所以返回非0
printf("%d\n",isalpha('1')); //測试返回值,1不是字母所以返回0
}




int isalnum(char ch);
推断字符ch是否是字母或数组。若是字母或数组返回非0(不一定是1),不是则返回0
void main(){
printf("%d\n",isalnum('a'));
printf("%d\n",isalnum('1'));
printf("%d\n",isalnum('+'));
}




int isdigit(char ch);
推断字符ch是否为数字,是数字返回非0(不一定是1),不是则返回0
void main(){
printf("%d\n",isdigit('b'));
printf("%d\n",isdigit('1'));
printf("%d\n",isdigit('+'));
}




int isupper(char ch);
推断字符ch是否为大写

int islower(char ch);
推断字符是否为小写
void main(){
printf("%d\n",isupper('a')); //推断a是否是大写字母
printf("%d\n",isupper('A')); //推断A是否是大写字母
printf("%d\n",isupper('0')); //推断0是否是大写字母 printf("%d\n",islower('a')); //推断a是否是小写字母
printf("%d\n",islower('A')); //推断A是否是小写字母
printf("%d\n",islower('0')); //推断0是否是小写字母
}




char tolower(char ch);
转换为小写

char toupper(char ch);
转换为大写
void main(){
printf("%c\n",toupper('a')); //a转换为大写字母
printf("%c\n",toupper('1')); //1不是字母原样返回
printf("%c\n",tolower('A')); //A转换为小写字母
printf("%c\n",tolower('1')); //1不是字母原样返回
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


int ispunct(char ch);
是否为标点(除字母,数字和空格以外的全部可打印字符)
void main(){
printf("%d\n",ispunct('a'));
printf("%d\n",ispunct('1'));
printf("%d\n",ispunct('A'));
printf("%d\n",ispunct('+'));
printf("%d\n",ispunct('-'));
printf("%d\n",ispunct('*'));
printf("%d\n",ispunct('/'));
printf("%d\n",ispunct(','));
printf("%d\n",ispunct('#'));
printf("%d\n",ispunct('%'));
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">




C 字符/字符串经常使用函数的更多相关文章

  1. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

    [提交][状态][讨论版] 题目描述 有一字符串,包含n个字符.写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串. 输入 数字n 一行字符串 数字m 输出 从m开始的子串 样例输入 ...

  2. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  3. 介绍一个很爽的 php 字符串特定检索函数---strpos()

    大家在用 php 开发的时候 是否 有遇到过,对于一个获取的字符串,如果想要特定检测它是否 含有某个特定的字符或者子字符串,总是找不到好方法,或者根本做不到,迫于无奈而使用foreach. 函数: s ...

  4. PHP常用字符串的操作函数

    字符串转换类函数 addcslashes函数:以C语言风格使用反斜线转义字符串中的字符 addslashes函数:使用反斜线引用字符串 chop函数:清除字符串中的连续空格 get_html_tran ...

  5. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  6. JavaScript实现字符串的contains函数

    JavaScript实现字符串的contains函数 / *  * string:原始字符串  * substr:子字符串  * isIgnoreCase:忽略大小写  * / function co ...

  7. 【C语言】10-字符和字符串常用处理函数

    一.字符处理函数 下面介绍的两个字符处理函数都是在stdio.h头文件中声明的. 1.字符输出函数putchar putchar(65); // A putchar('A'); // A int a ...

  8. php的数组与字符串的转换函数整理

    1.将一个字符串转化为数组 str_split()用于将一个字符串转化为数组 语法: str_split(string,length) //string是必须的,是要分割的字符串: //length是 ...

  9. python基础(二)字符串內建函数详解

    字符串 定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,''或""或''' '''中间包含的内容称之为字符串特性:1.只能存放一个值2.不可变,只能重新赋值3.按照从 ...

随机推荐

  1. 理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH

    目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM).双端口RAM(DPRAM,Double Ports RAM) ...

  2. BZOJ2016: [Usaco2010 Feb]Chocolate Eating

    [传送门:BZOJ2016] 简要题意: 贝西收到了N 块巧克力,她会在接下来的D 天里吃掉这些巧克力,她想制定一个计划,让她每 天的快乐度都保持在较高的水品上. 在第一天刚开始的时候,贝西的快乐度为 ...

  3. 24. 在IDEA中使用JUnit进行方法测试

    转自:https://blog.csdn.net/smxjant/article/details/78206279 1. 前文 刚学习到的新技能,对JUnit的了解也还是皮毛程度,在这里做个笔记.如果 ...

  4. quartz 持久化 数据库表

    此处只包括配置数据库操作 quartz 持久化数据库表格字段解释建表,SQL语句在dbTables文件夹中可以找到,介绍下我们开发主要使用到的表: (版本不一样,可能数据库表也不一样,这里使用2.2. ...

  5. 学习《人工智能一种现代的方法(第3版)》中文PDF+英文PDF

    学习人工智能概论时,推荐看看<人工智能:一种现代的方法(第3版)>,最权威.最经典的人工智能教材,已被全世界100多个国家的1200多所大学用作教材. 全面性以及结构的安排还是不错的,值得 ...

  6. jquery点击弹框外层关闭弹框

    $(document).bind("click",function(e){            if($( e.target ).closest(".game-cont ...

  7. Mysql学习总结(9)——MySql视图原理讲解与使用大全

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

  8. 线段树 hdu3642 Get The Treasury

    不得不说,这是一题很经典的体积并.. 然而还是debug了2个多小时... 首先思路:按z的大小排序. 然后相当于扫描面一样,,从体积的最下方向上方扫描,遇到这个面 就将相应的两条线增加到set中,或 ...

  9. Python 面向对象 —— super 的使用(Python 2.x vs Python 3.x)

    注意区分当前的 Python 版本是 2.X 还是 3.X,Python 3.X 在 super 的使用上较之 Python 2.X 有较大的变化: 1. Python 2.x class Conta ...

  10. 配置远程访问阿里云服务器的Redis

    1.默认情况Redis不是在后台运行,我们需要修改把redis放在后台运行:daemonize yes 2.Redis安全策略默认本机访问,所以远程访问的话需要将 bind 127.0.0.1加#注释 ...