热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言String类型小结

String字符串与字符数组#includeStringintmain(){char*strhello;字符串与字符数组的关系:字符串是

String


字符串与字符数组

#include//String
int main()
{char *str="hello";//字符串与字符数组的关系://字符串是结尾有&#39;\0&#39;的字符数组//如:"hello"等于{&#39;h&#39;,&#39;e&#39;,&#39;l&#39;,&#39;l&#39;,&#39;o&#39;,&#39;\0&#39;} for(int i=0;i<5;i++){printf("%c",str[i]);}printf("\n");//一行变两行printf("hello \
world\n"); //注意第一行结尾\后还有一个空格return 0;
}

字符串输入之scanf

#include
int main(){char str[4],strl[4];scanf("%3s%3s",&str,&strl);//最多读前三位,可以少//例如输入abcde,则输出abc##de;//输入abcd efg,则输出abc##d printf("%s##%s",str,strl);return 0;
}

还有一个getchar方法,这里就不多说了


strcmp&strcpy&strcat

即:比较&复制&连接

#include
#include
//strcmp&strcpy&strcat
//比较&复制&连接
int main(){char a[]="abc";char b[]="abc";printf("%d\n",strcmp(a,b));//输出0 if(strcmp(a,b)==0){//这里不能不写判断 printf("相等\n");char c[]="Abc";printf("%d\n",strcmp(a,c));//输出1,有的编译器会输出32,正数代表a比c大,负数相反char d[]="cde";strcpy(d,a);//第二个是被复制字符串 printf("%s\n",d);//输出dstrcat(a,b);printf("%s",a);//输出a}//strcpy&strcat有安全问题//因此常使用strncpy&strncat//传入参数时最后加一个n,代表对后一个传入字符串最多读取n个数 //strncmp则不同,n的作用为使该函数改为判断前n个字符是否相同
}

strchr&strrchr

即:查找字符&从右边查找字符

#include
#include
#include
//strchr&strrchr
//查找字符&从右边查找字符
//返回一个指针int main(){char str[]="hello";char *p=strchr(str,&#39;l&#39;);printf("%s\n",p);//输出了 lloprintf("%s\n",p+1);//输出了 lop=strchr(p+1,&#39;l&#39;);//p指向下一个元素位置 printf("%s\n",p);//同样输出 lo char *t=(char*)malloc(strlen(p)+1);//加1的原因是字符串结尾有&#39;\0&#39;而strlen不计&#39;\0&#39;strcpy(t,p);//复制p到t printf("%s\n",t);//输出 lo free(t);//翁恺老师教的骚操作(doge) char c=*p;*p=&#39;\0&#39;;//中断字符串 char *q=(char*)malloc(strlen(str)+1);//来了来了他来了strcpy(q,str);//只会复制到str*p=&#39;\0&#39;之前的一位,也就是 hel 的 l *p=c;//把*p写回来 printf("%s\n",q);free(q);
}

另外,还有常用的字符串查找函数,建议去看看大佬的博客↓

strstr和strcasestr

简单地说,

strstr的作用是在字符串中查找字符串并以指针形式输出该字符串在被查找字符串中第一次出现的位置

strcasestr的作用比strstr多了一条无视大小写


推荐阅读
  • C语言中的指针详解
    1.什么是指针C语言中指针是一种数据类型,指针是存放数据的内存单元地址。计算机系统的内存拥有大量的存储单元,每个存储单元的大小为1字节, ... [详细]
  • c语言二元插值,二维线性插值c语言
    c语言二元插值,二维线性插值c语言 ... [详细]
  • 本文详细介绍了在单片机编程中常用的几个C库函数,包括printf、memset、memcpy、strcpy和atoi,并提供了具体的使用示例和注意事项。 ... [详细]
  • 本文介绍如何手动实现一个字符串连接函数,该函数不依赖于C语言的标准字符串处理函数,如strcpy或strcat。函数原型为void concatenate(char *dest, char *src),其主要作用是将源字符串src追加到目标字符串dest的末尾。 ... [详细]
  • 实现系统调用
    实现系统调用一、实验环境​本次操作还是基于上次编译Linux0.11内核的实验环境进行操作。环境如下:二、实验目标​通过对上述实验原理的认识,相信 ... [详细]
  • 编译原理中的语法分析方法探讨
    本文探讨了在编译原理课程中遇到的复杂文法问题,特别是当使用SLR(1)文法时遇到的多重规约与移进冲突。文章讨论了可能的解决策略,包括递归下降解析、运算符优先级解析等,并提供了相关示例。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文通过C++语言实现了一个递归算法,用于解析并计算数学表达式的值。该算法能够处理加法、减法、乘法和除法操作。 ... [详细]
  • 本文详细介绍了如何在循环双链表的指定位置插入新元素的方法,包括必要的步骤和代码示例。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 本文探讨了如何高效地计算数组中和为2的幂的偶对数量,提供了从基础到优化的方法。 ... [详细]
  • 本文提供了一个使用C语言实现的顺序表区间元素删除功能的完整代码示例。该程序首先初始化一个顺序表,然后根据用户输入的数据进行插入操作,最后根据指定的区间范围删除相应的元素,并输出最终的顺序表。 ... [详细]
  • 深入浅出C语言指针
    指针是C语言中极其重要的数据类型,广泛应用于各种数据结构的表示、数组和字符串的操作以及内存地址的处理。本文将通过实例详细解析指针的基本概念及其应用。 ... [详细]
  • C语言中的结构体详解
    本文详细介绍了C语言中的结构体,包括结构体的声明、初始化、成员访问以及传参等方面的知识。 ... [详细]
  • 字符串中特定模式出现次数的计算方法
    本文详细探讨了如何高效地计算字符串中特定模式(如'pat')的出现次数,通过实例分析与算法解析,帮助读者掌握解决此类问题的方法。 ... [详细]
author-avatar
wang静的天空
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有