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. HDU 1005 Number Sequence(矩阵)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  2. 15:Challenge 11(主席树裸题)

    总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  262144kB 描述 给一个长为N的数列,有M次操作,每次操作是以下两种之一: (1)修改数列中的一个数 (2)求 ...

  3. android 客户端 Cookie处理

    Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). Cookie最早是网景公司的前雇员Lou Montul ...

  4. 关于viewport详解

  5. Coderfroces 862 C. Mahmoud and Ehab and the xor

    C. Mahmoud and Ehab and the xor Mahmoud and Ehab are on the third stage of their adventures now. As ...

  6. 清空/var/adm/wtmp 文件内容

    清/var/adm/wtmp 文件内容 用于显示登录系统和重启机器的情况 /var/adm/wtmp文件过大. 可用du -sm /var/adm/wtmp查看 cat /dev/null>/v ...

  7. vue+ webpack中的animate.css实现的执行多个连续的动画

    1.安装 npm install animate.css 2.使用方法 入口文件App中进行引入 import animate from 'animate.css' 3.多个连续的动画 实现的效果:实 ...

  8. Ace在线编辑器使用requirejs配置

    Ace代码在线编辑器如果需要在requirejs里使用,注意需要使用github上lib/ace目录的文件. 如果使用ajaxorg/ace-builds下面的代码再使用requirejs会报错,不能 ...

  9. 树莓派 使用python来操作GPIO 控制LED灯

    一.创建python驱动和控制GPIO 先新建一个文件夹用于放置脚本 mkdir python_gpio 进入文件夹内新建一个gpio_blink.py的脚本 cd python_gpio touch ...

  10. IOS开发人员经常使用的10个Xcode插件

    IOS开发人员经常使用的10个Xcode插件 申请达人,去除赞助商链接 一个合适的插件意味着它能够适应不同的开发环境,Sublime Text 和TextMate就是非常好的样例.你知道Xcode也支 ...