撸代码时候字符串和数组是我们最常见的数据类型,要熟练使用c语言编程,字符串操作也要相当的熟练,这里介绍一些常见的字符串操作方法,不够完整,如果用到其他的方法可以查询 c语言字符串函数API

strchr :
功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。

void main(){char *str = "this is string";//查询i元素char *p =strchr(str,'i');if(p){printf("索引位置 %d\n",p);}else{printf("没有找到");}getchar();
}

strstr:

功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。

说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

与strchr有点类似,一个是找字符,一个是找字符串。

    void main(){char * str= "welcome to beijing";char * needle = "to";char *p;p= strstr(str,needle);if(p){printf("索引位置 %d\n",p);}else{printf("没有找到");}getchar();}

strcmp:

功能:比较字符串s1和s2。忽略大小写

说明:

    当s1<s2时,返回值<0当s1=s2时,返回值=0当s1>s2时,返回值>0
void main(){char *str1 = "abcd";char *str2 = "ABCD";int result = strcmp(str1,str2);if(result<0){printf("str1 小于 str2");}else if(result == 0){printf("str1 等于 str2");}else{printf("str1 大于 str2");}getchar();
}

strupr:
功能:将字符串s转换为大写形式

说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。


void mystrlwr(char str[],int len){int i =0;for(;i<len;i++){//在A-Z字母转为小写只需+32('a'-'A')if(str[i]>='A'&&str[i]<='a'){str[i] = str[i] - 'A' + 'a';}}
}void main(){char * str= "this is string";char * p = strupr(str);printf("转为大写:%s\n",p);//转小写strlwrmystrlwr()getchar();}

strtod

功能:将字符串s转换为double
说明:strtod(str,p)从字符串 str中转换 double 类型数值,并将后续的字符串指针存储到 p 指向的 char* 类型存储。

void main(){char *str= "99ab77";char *p;double value;value = strtod(str,&p);printf("value = %l\n",value);printf("p地址 %#x\n",p);getchar();
}

strrev:

功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。

说明:返回指向颠倒顺序后的字符串指针。

 void main(){char *str ="this is string";char *p;p = strrev(str);print("%s\n",p);getchar();}

strset:
功能:把字符串s中的所有字符都设置成字符c。

说明:返回指向s的指针。

   void main(){char *s="Golden Global View";strset(s,'G');printf("%s",s);getchar();}

strpbrk

功能:在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。

说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。

void main(){char *s1="Welcome To Beijing";char *s2="BIT";char *p;p=strpbrk(s1,s2);if(p){printf("%s\n",p);}else{printf("Not Found!\n");}p=strpbrk(s1, "Da");if(p){printf("%s",p);}else{printf("Not Found!");}getchar();}

字符串API方法还有很多,不一一列举,查询string api进行练习,熟悉了这么多,写一个实例:删除字符串中指定的字符

//删除字符串中指定的字符
void delchr(char *str,char del){char *p = str;while(*str!='\0'){if(*str!=del){*p++ = *str;}str++;}*p='\0';
}void main(){char *str="this is string";printf("%s\n",str);delchr(str,'r');printf("%s\n",str);getchar
}

[JNI] 开发基础(6)字符串相关操作相关推荐

  1. python基础实例-Python基础之字符串常见操作经典实例详解

    本文实例讲述了Python基础之字符串常见操作.分享给大家供大家参考,具体如下: 字符串基本操作 切片 # str[beg:end] # (下标从 0 开始)从下标为beg开始算起,切取到下标为 en ...

  2. Unity开发基础——使用字符串学习笔记

    蓝鸥Unity开发基础使用字符串学习笔记 本节内容:使用字符串:字符串拼接.转义字符 一.字符串拼接:字符串可以使用+或+=进行字符串拼接!! using System; namespace Less ...

  3. Android Studio1.4.x JNI开发基础 - 简单实例

    接上一篇,搭建好基于Android Studio的环境之后,编写native代码相对来说也比较简单了.在Android上编写Native代码和在Linux编写C/C++代码还是有区别,Native代码 ...

  4. 10 字符串相关操作

    # ### 字符串的相关操作 #(1)字符串的拼接 + str1 = "我爱你" str2 = "美丽的祖国" res = str1 + str2 print( ...

  5. python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  6. Android Studio1.4.x JNI开发基础-基本环境配置

    从Eclipse时代到Android Studio普及,开发工具越来越好用.早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环 ...

  7. Java字符串相关操作(一)

    学习的书java中关于字符串的相关操作 stringName.charAt(index):表示返回stringName中的第index个字符,一次输入0和stringName.length()-1并分 ...

  8. JNI开发基础知识及编译SO(一)

    前言 本文主要介绍学习JNI从0开始学习过程的记录,包含JNI的定义,使用 以下是本篇文章正文内容 一.JNI是什么?SO是什么? JNI是Java Native Interface的缩写,它提供了若 ...

  9. php字符串相关操作,PHP字符串常用操作

    常用操作有: PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度 count($sttr);数组长度 字符串长度:strlen(string $a); 判断是否相同, ...

  10. android 字符串函数,Android JNI开发系列(六)字符串操作

    JNI字符串操作 字符串是引用数据类型,不属于基本数据类型 Java 使用unicode编码,C使用UTF-8,所以在操作中 C语言的字符串操作在头文件中 示例代码 public native Str ...

最新文章

  1. 刚进园子,广州的冬天像夏天
  2. datetime 和 smalldatetime
  3. leetcode-回文链表
  4. 用until编写一段shell程序,计算1~10的平方
  5. 双目测距(二)--双目标定与矫正
  6. Unknown run configuration type AndroidRunConfigurationType的解决办法
  7. Rust : evmap库多读多写尝试
  8. vue部门结构图_Vue组织架构图组件
  9. 华为内部几近满分的项目管理PPT,牛逼了
  10. 高校学生档案管理系统(Angularjs+HTML+CSS+bootstrap)
  11. 尼克尔镜头上边的字表示什么?
  12. 有事的一天,小事一大堆......
  13. html页面高度不同浏览器兼容性设置
  14. 4x root 红米_红米手机4x如何获取root权限?
  15. n-魔方阵(找规律)
  16. 如何往云服务器上装虚拟机,如何在虚拟机安装linux
  17. 华硕zx50j笔记本 拆机教程 换风扇教程
  18. linux新建磁盘分区
  19. Yii2.0-发邮件找回密码
  20. PC企业微信hook接口,通过查询添加外部联系人教程

热门文章

  1. 【洛谷 P3384】树链剖分【详解树链剖分】
  2. 监控延迟严重怎么解决_监控画面故障解决:网络监控画面没有图像显示或无视频信号怎么办...
  3. dao获取到mysql存储函数_GreenDao3.0使用
  4. mycat管理mysql_Mycat用户和权限控制管理
  5. python 设置请求时间间隔_如何自学Python爬虫?新手入门教程
  6. oracle的sql字符串转义,sql – 在Oracle数据库中搜索带转义的字符串
  7. 简单的idea非maven项目引入jar包
  8. linux使用flock文件锁解决crontab冲突问题
  9. Linux系统的命令应该如何记
  10. codeforces 1041A Heist