2024年最全C语言 字符函数和字符串函数_c语言判断是否是字符串的函数,35岁的程序员被裁

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

return 0;

}



#include<stdio.h>
#include<ctype.h>

int main(void)
{
char a = ‘E’;
if (isupper(a))
{
printf(“是大写字母!”);//将会打印出结果
}
return 0;
}



#include<stdio.h>
#include<ctype.h>

int main(void)
{
char a = ‘E’;
if (isalpha(a))
{
printf(“是字母!”);//将会打印出结果
}
return 0;
}



#include<stdio.h>
#include<ctype.h>

int main(void)
{
char a = ‘e’;
if (isalnum(a))
{
printf(“是字母或数字!\n”);//将会打印出结果
}
return 0;
}


#### 3,tolower 函数 && toupper 函数


tolower函数是将大写字母转换成小写字母。头文件是ctype.h。


toupper函数是将小写字母转换成大写字母。头文件是ctype.h。



#include<stdio.h>
#include<ctype.h>

int main(void)
{
char a = ‘E’;
printf(“%c\n”, tolower(a));//e
return 0;
}



#include<stdio.h>
#include<ctype.h>

int main(void)
{
char a = ‘e’;
printf(“%c\n”, toupper(a));//E
return 0;
}


### 二、字符串类


字符串类函数头文件均为string.h。


#### 1,strlen 函数


strlen函数用来求字符串的长度。



> 
> size\_t strlen ( const char \* str );
> 
> 
> 


字符串是以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0' )。 参数指向的字符串**必须**要以 '\0' 结束。 注意函数的返回值为size\_t,是无符号的(易错)。



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

int main(void)
{
char* a = “abcdef”;
printf(“%d\n”, strlen(a));//6
return 0;


#### 2,strcpy函数 && strncpy函数


strcpy函数用来进行字符串的拷贝。


strncpy函数和它的区别是该函数可以按照指定的长度进行拷贝。



> 
> char\* strcpy(char \* destination(目标字符串), const char \* source(源字符串));
> 
> 
> 



> 
> char \* strncpy ( char \* destination, const char \* source, size\_t num );
> 
> 
> 


源字符串必须以 '\0' 结束。 这个函数会将源字符串中的 '\0' 拷贝到目标空间。 目标空间必须足够大,以确保能存放源字符串。 目标空间必须可变。 



int main(void)
{
char a[] = “abcdef”;
char b[20] = { 0 };
strcpy(b, a);
printf(“%s\n”, b);//abcdef
return 0;
}



int main(void)
{
char a[] = “abcdef”;
char b[20] = { 0 };
strncpy(b, a, 2);
printf(“%s\n”, b);//ab
return 0;
}


#### 3,strcat函数 && strncat 函数


strcat函数用来进行字符串的连接。


strncat函数可以按照指定的连接。



> 
> char \* strcat ( char \* destination, const char \* source );
> 
> 
> 



> 
> char \* strncat ( char \* destination, const char \* source, size\_t num ); 
> 
> 
> 


源字符串必须以 '\0' 结束。 这个函数会将源字符串中的 '\0' 拷贝到目标空间。 目标空间必须足够大,以确保能存放源字符串。 目标空间必须可变。 



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

int main(void)
{
char a[] = “abcdef”;
char b[20] = { ‘a’, ‘a’, ‘a’};
strcat(b, a);
printf(“%s\n”, b);//aaaabcdef
return 0;
}



int main(void)
{
char a[] = “abcdef”;
char b[20] = { ‘a’, ‘a’, ‘a’ };
strncat(b, a, 2);
printf(“%s\n”, b);//aaaab
return 0;
}


#### 4,strcmp 函数 && strncmp函数


strcmp函数用来进行字符串的比较。


strncmp函数是比较到出现另个字符不一样或者一个字符串结束或者num个字符全部比较完。



> 
> int strcmp ( const char \* str1, const char \* str2 );
> 
> 
> 



> 
> int strncmp ( const char \* str1, const char \* str2, size\_t num);
> 
> 
> 


标准规定:


        第一个字符串大于第二个字符串,则返回大于0的数字


        第一个字符串等于第二个字符串,则返回0 第一个字符串小于


        第二个字符串,则返回小于0的数字


这种比较不是比较字符串的长度,而是字符串的每一个字母的ASCII码值。



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

int main(void)
{
char a[] = “abcdef”;
char b[20] = “bcdef”;
int ret = strcmp(a, b);
printf(“%d\n”, ret);//-1
return 0;
}


如果是比较长度,则返回的应该是大于0的数,结果是小于0的数,这就说明了这个函数不是比较字符串的长度的,而是ASCII码值。a的ASCII码值是97,b是98,所以结果是-1;



int main(void)
{
char a[] = “abcdef”;
char b[] = “abcdef”;
int ret = strncmp(a, b, 2);
printf(“%d\n”, ret);//0
return 0;
}


#### 5,strstr函数


strstr函数是用来判断主串中是否存在字串(字符串的匹配)。如果匹配成功,指向字符串中第一次出现位置的指针。如果是空的子串,返回这个主串,否则返回NULL。



> 
> char \* strstr ( const char \*str2, const char \* str1);
> 
> 
> 



int main(void)
{
char a[] = “abcdef”;
char b[20] = “def”;
char* ret = strstr(a, b);
printf(“%s\n”, ret);//def
return 0;
}

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

return 0;

}

[外链图片转存中…(img-dWbLSzJd-1715752790851)]
[外链图片转存中…(img-VVsKoD0y-1715752790852)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值