C 字符/字符串经常使用函数

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" >

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" >

函数名中出现‘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" >

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" >

时间: 2024-10-25 08:17:48

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

Delphi中怎样将字符串按给定字符分隔(类似split函数的功能)

Delphi中怎样将字符串按给定字符分隔(类似split函数的功能) 分类:            Delphi2007-05-16 11:094911人阅读评论(2)收藏举报 delphiintegerstringbutton文本编辑function 今天偶尔要做的Delphi程序,其中涉及到了字符串处理,里面有一个功能类似于VB里的split()函数的功能,于是查了很久才查到些资料,现将这些资料整理一下,方便大家. 首先是一个网友自己编的函数.实现了和split()函数的功能. unit U

c语言:用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件

用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件. 解:程序: #include<stdio.h> #include<stdlib.h>//exit使程序终止 int main() { FILE* fp; char ch, filename[10]; printf("请输入所用的文件名:"); scanf("%s", &filename); if ((fp = fopen(filename, "w"

C#字符串的截取函数用法总结

这篇文章主要介绍了C#字符串的截取函数用法,实例总结了substring,Remove,indexOf等函数的用法,并对具体应用进行了实例分析,需要的朋友可以参考下 本文实例总结了C#常用的字符串截取函数用法.分享给大家供大家参考.具体分析如下: 在C#中字符串截取函数包括有substring 函数,Remove 函数,indexOf 函数,它们三个都可以对字符串进行截取操作,下面我们来分别介绍一下. 下面是截取字符串过程中我们必须知道的以下函数:substring 函数.Remove 函数.i

【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts

#include <stdio.h> int fputc(int c, FILE *stream); int fputs(const char *s, FILE *stream); int putc(int c, FILE *stream); int putchar(int c); int puts(const char *s); fputc()写一个字符c,强制转换成一个unsigned char类型字符,到文件stream. fputs()写一个字符串到stream,省略字符串尾部的'\0

指针 指针与数组 指针与字符串 指针与函数 结构体与指针 宏

指针 指针与数组 指针与字符串 指针与函数?? 指针与数组 1.数组名:数组元素首地址 eg: int array[3]={1,3,6}; 这里array 恒等于&array[0] 2.int *p = a; int *p = 0; int a[]={0}; 3.int *p = a; 均指向数组的首地址 *p是? *(p+1)是?(*p)+1是? *(p+1)决定向下移动几个字节是类型 4.指针可以当数组名使用 p[1] = 3; 恒等于a[1] ;恒等于*(p+1);恒等于*(a+1) 5.

PHP第八课 字符串拆分常用函数

课程概要: 通过这节课能够对字符串进行基本的操作. 字符串知识点: 1.字符串的处理介绍 2.常用的字符串输出函数 3.常用的字符串格式化函数 4.字符串比较函数 5.正则表达式在字符串中的应用 6.与per1兼用的正则表达式 1.pathinfo();//返回域名的path信息 2.parse_url(); 3.parse_str();//用来拆分参数用的 pathinfo(); <?php $str="http://blog.csdn.net/junzaivip"; $arr

JavaScript中有三个可以对字符串编码的函数,分别是: escape(),encodeURI(),encodeURIComponent()

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent . 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string) 参数  描述  string  必需.要被转义或编码的字符串. 返回值 已编码的

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

Python列表.元组.字典和字符串的常用函数 列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并.注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入 2.ls.append(object) 将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典 3.ls.insert(index, object

JavaScript字符串常用操作函数之学习笔记

字符串简介 使用英文单引号或双引号括起来,如:’Hello’,”World”,但是不能首尾的单引号和双引号必须一致,交错使用,如果要打印单引号或者双引号,可以使用转义字符\’(单引号),\”(双引号)  代码如下 复制代码 var str_1 = 'Hello World!';  //Hello World!var str_2 = "Hello World!";  //Hello World!var str_3 = '他说:"这样可以的."';  //他说:&quo