C语言 string.h头文件

                    C标准要求在使用字符串函数时要包含头文件string.h在使用字符函数时包含头文件 ctype.h

    函数名    函数原型    功能    返回值    包含文件
    isdigit

    int isdigit

    (int ch)

检验ch是否是数字(0~9)

是,返回1

不是,返回0

    ctype.h
    isxdigit

    int isxdigit

    (int ch)

检验ch是否是16进制字符(0~9,a~f)

是,返回1

不是,返回0

    ctype.h
    isalnum

    int isalnum

    (int ch)

检验ch是否是字母或数字

是,返回1

不是,返回0

    ctype.h
    isalpha

    int isalpha

    (int ch)

检查ch是否字 母

 是,返回1

 不是,返回0

    ctype.h
    islower

    int islower

    (int ch)

 检查ch是否小写

 是,返回1

 不是,返回0

    ctype.h
    isupper

    int isupper

    (int ch)

 检查ch是否大写

 是,返回1

 不是,返回0

    ctype.h
    

 

 

 

    
    iscntrl

    int iscntrl

    (int ch) 

  检查ch是否控制字符

 是,返回1

 不是,返回0

    ctype.h
    ispunct

    int ispunct

    (int ch)

 检查ch是否标点字符,除字母、数字和空格以外的所有可打印字符

 是,返回1

 不是,返回0

    ctype.h
    isprint

    int isprint

    (int ch)

 检查ch是否可打印字符

 是,返回1

 不是,返回0

    ctype.h
    isgraph

    int isgraph

    (int ch)

 检查ch是否可打印字符,不包括空格

 是,返回1

 不是,返回0

    ctype.h
    tolower

   int tolower

   (int ch)

 将ch字符转化为小写字符 返回char型字符    ctype.h
    toupper

   int toupper

   (int ch)

 将ch字符转化为大写字符 返回char性字符    ctype.h

    1. puts(字符数组)-----输出字符串

                 将一个字符串或字符数组指针输出到终端,在输出时将字符串结束标志 '\0' 转换成 '\n' ,即输出完字符串后换行。

                 而且puts函数输出的字符串中可包含转义字符(也就是说puts会遍历执行字符串中每个字符)。

 

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"china beijing"};
	char str1[]={"china\nbeijing"};
	char str2[]={"china\0beijing"};
	puts(str);
	puts(str1);
	puts(str2);
	
	return 0;
}

               输出结果:

              

     2.gets(字符数组)-----输入字符串

                  将字符串从终端赋值到字符数组,并得到字符数组的起始地址为函数的返回值。

                  将字符串送给指定字符数组会送给 输入内容+‘\0’(结束符)。

                  

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"china beijing"};
	char *temp;
	temp=gets(str);
	puts(str);//输出字符数组或字符数组指针 
	puts(temp);
	printf("%d\n",sizeof(str));//系统会自动为赋值的字符数组加'\0' 
	printf("%d",strlen(str));
	return 0;
}

            输出结果:

           

     3.strcat(字符数组1,字符数组2)-----字符串连接

                 将字符数组中字符连接起来,把字符数组2中内容顺次传递到字符数组1中,并返回数组1的地址

                 数组1必须足够大才能容纳连接后的新字符串

                 连接前两个字符串的后面都有 '\0' ,连接时将字符串1后面的 '\0' 取消,只在新生成的串后保留 '\0'

 

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"china beijing"};
	char str1[]={"janpan"};
	char *temp;
	temp=strcat(str,str1);
	printf("%s\n",temp);
	printf("%d\n",strlen(str));
	return 0;
}

            输出结果:

         

     4.strcpy(字符数组1,字符数组2) 和strncpy(字符数组1,字符数组2,int)-----字符串复制

                 strcpy将字符数组2整个复制到字符数组1中

                 strcpy将字符数组2的内容加上 '\0'一起复制到数组1中,但其余字符还是数组1原有字符,且默认 '\0' 为空

                 ​​​​​​

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"chinaabeijing"};
	char str1[]={"janpan"};
	char *temp;
	temp=strcpy(str,"qwert");
	printf("%s\n",temp);
	printf("%d\n",strlen(str));
	printf("%d\n",sizeof(str));
	for(int i=0;i<sizeof(str);i++)
	{
		printf("%c",str[i]);
	}
	
	return 0;
}

                输出结果:

                 

                 strcpy(str1,str2):将str2中内容复制到str1中

                 strncpy(str1,str2,n):将str2中前n位送给str1中

                 共同的是:str1数组必须足够大,能够承载str2数组复制给str1的内容

                 不同的是:strncpy只会把 str2 中的前 n 位给 str1,不会把str2的前 n 位的内容加上 '\0'一起复制到数组1中

                 

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"chinaabeijing"};
	char str1[]={"janpan"};
	char *temp;
	temp=strncpy(str,"qwert",2);
	printf("%s\n",temp);
	printf("%d\n",strlen(str));
	printf("%d\n",sizeof(str));
	for(int i=0;i<sizeof(str);i++)
	{
		printf("%c",str[i]);
	}
	
	return 0;
}

                输出结果:                 ​​​​​​​

                 ​​​​​​​            

     5.strcmp(字符数组1,字符数组2)-----字符串比较大小

                 将每位按照 ASCLL码大小去比较,并返回 int 值

                 int strcmp(*str1,*str2):

               (1)str1==str2,函数==0

               (2)str1>str2,函数==正数

               (3)str1<str2,函数==负数

     6.其他常用函数

               int strlen(*str)-----测量字符数组的字符串长度

               char * strlwr(*str)-----将字符数组中字符串转化为小写

               char * strupr(*str)-----将字符数组中字符串转化为大写

               案例:

#include<stdio.h>
#include<string.h>

int main(){
	
	char str[]={"ASDQijing"};
    char *temp=strlwr(str);
    printf("%s\n",strlwr(str));
	printf("%s",temp);
	
	return 0;
}

                 

 ​​​​​​​              char * strchr(char *str,int ch)-----找出str字符串中第一次出现字符ch的位置的指针

               char * strstr(char *str1,char *str2) -----找出str2字符串在str1字符串中第一次出现位置,并返回指针

 

​​​​​​​

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值