由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 :  --> 点击这里

strlen()

获取字符串长度,成功则返回字符串 string 的长度;如果 string 为空,则返回 0。

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define N 1000
  4. int count = ;
  5.  
  6. int strlen(char *str)
  7. {
  8. int num = ; //定义一个计数器
  9. while('\0' != *str++)
  10. {
  11. num++;
  12. }
  13. return num;
  14. }
  15.  
  16. void test(char *str)
  17. {
  18. printf("所要测试的字符串为: %s\n",str);
  19. count = strlen(str); //调用函数
  20. printf("所输入的字符串长度为:%d\n\n",count);
  21. }
  22.  
  23. void main()
  24. {
  25. char str1[] = "hello world!"; //这样的赋值方式会有在尾部自动一个'\0'
  26. char *str2 = "hello world!"; //这样的赋值方式会有在尾部自动一个'\0'
  27. char str3[] = "world hello!"; //这样的赋值方式会在剩余的位置全部自动添加'\0'
  28. char str4[N] = {};
  29. test(str1);
  30. test(str2);
  31. test(str3);
  32.  
  33. printf("请输入所要测试的数组:\n");
  34. gets(str4); //此函数会在最后添加NULL字符 即'\0'
  35. test(str4);
  36. system("pause");
  37. }

strcpy()

head.h

  1. #include<stdio.h>
  2. #include<string.h>
  3. #define N 100
  4. void strcpy1(char *str_cpy, char const *str);

_strcpy().c

  1. #include"head.h"
  2.  
  3. void strcpy1(char *str_cpy,char const *str) //为了保证主数组的只读性,所以加"const"修饰
  4. {
  5. while(*str != '\0')
  6. {
  7. *str_cpy = *str ;
  8. str_cpy ++;
  9. str++;
  10. }
  11. *str_cpy = '\0'; //添加结束符
  12. }

main.c

  1. #include"head.h"
  2.  
  3. void main()
  4. {
  5. char str[N];
  6. char str_cpy[N] ;
  7. printf("请输入所要主字符串数组:\n");
  8. scanf("%s",&str);
  9.  
  10. strcpy1(str_cpy,str); //复制
  11. printf("复制前的主字符串为的%s\n",str);
  12. printf("复制后新字符串为的%s\n",str_cpy);
  13.  
  14. getchar();
  15. getchar();
  16. }

explode()

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. #define N 50
  5. char *ptr[] = {}; //定义指针数组,用来保存分割后的子串
  6. char temp[N] = {}; //定义临时字符数组,用来临时保存分割后的子串
  7.  
  8. void explode(char *str,char c) //char c 类型用来保存分隔符
  9. {
  10. int i = ;
  11. while((*str) != c)
  12. {
  13. temp[i] = *str; //指针中的字符串赋值给临时数组temp
  14. str++;
  15. i++;
  16. }
  17. str++; //此时 (*str) 是 分割符 c,自增1跳过分隔符
  18. temp[i] = '\0'; //将分割的子串添加结束符号 '\0'
  19. printf("%s\n",temp); //将分割后的子串打印出来
  20. i = ; // 将i置零,方便下次使用临时数
  21. while((*str) != '\0')
  22. {
  23.  
  24. temp[i] = *str; //指针中的字符串赋值给临时数组temp
  25. str++;
  26. i++;
  27. }
  28.  
  29. str++; //此时 (*str) 是 结束符,自增1跳过结束符
  30.  
  31. temp[i] = '\0'; //将分割的子串添加结束符号 '\0'
  32.  
  33. printf("%s\n",temp); //将分割后的子串打印出来
  34.  
  35. i = ; // 将i置零,方便下次使用临时数
  36.  
  37. return ;
  38. }
  39.  
  40. void main()
  41. {
  42. char *str = "hello,world!";
  43. char b[N] = {} ; //用于保存用户所输入的数组
  44. char c; //用于保存用户所输入的分割符
  45.  
  46. printf("下面用'hello,world!'作为示例,其中分割符为','\n");
  47. printf("下面是使用分割函数explode(hello,world!,'c')的结果\n");
  48.  
  49. explode(str,','); //此函数不局限于 ',' 作为分隔符 ,可以用其他符号
  50.  
  51. printf("请输入只有两个子字符串的字符串:例如hello,world!\n");
  52. scanf("%s",b);
  53. printf("请输入你想用的分隔符:\n");
  54.  
  55. getchar(); //缓冲点回车键,不然会以回车键作为分隔符,程序崩溃
  56. scanf("%c",&c);
  57.  
  58. explode(b,c); //此函数不局限于 ',' 作为分隔符 ,可以用其他符号
  59.  
  60. system("pause");
  61. }

php函数源代码 C编写 【持续更新】的更多相关文章

  1. # OpenGL常用函数详解(持续更新)

    OpenGL常用函数详解(持续更新) 初始化 void glutInit(int* argc,char** argv)初始化GULT库,对应main函数的两个参数 void gultInitWindo ...

  2. iOS --- 总结Objective-C中经常使用的宏定义(持续更新中)

    将iOS开发中经常使用的宏定义整理例如以下,仅包括Objective-C. 而对于Swift,不能使用宏,则能够定义全局函数或者extension.请參考博客iOS - 总结Swift中经常使用的全局 ...

  3. php常用函数(持续更新)

    每一种编程语言在用的过程中都会发现有时候要一种特定需求的功能函数,结果没有内置这样的函数,这个时候就需要自己根据已有函数编写尽可能简单的函数,下面是我在做php相关工作时积累下的函数,会持续更新,您要 ...

  4. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  5. 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...

  6. 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新

    python 中好用的函数,random.sample等,持续更新 random.sample random.sample的函数原型为:random.sample(sequence, k),从指定序列 ...

  7. pytorch常用函数总结(持续更新)

    pytorch常用函数总结(持续更新) torch.max(input,dim) 求取指定维度上的最大值,,返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引.比如: demo.sha ...

  8. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  9. 值得学习的C/C++开源项目 持续更新

    值得学习的C语言开源项目 持续更新 文章目录 值得学习的C语言开源项目 持续更新 - 1. Webbench - 2. Tinyhttpd - 3. cJSON - 4. CMockery - 5. ...

随机推荐

  1. 使用libcurl显示下载进度

    使用libcurl显示下载进度 http://blog.csdn.net/zhouzhenhe2008/article/details/53876622

  2. U3D SCENEMANAGER.LOADSCENE是半异步的

    作地图加载优化时用到了SceneManager.LoadScene,发现它执行后立即执行了后面的语句,查文档才知道 它是 semi-asyncronize的,即半异步的. 说它是半异步,是因为,它本身 ...

  3. Application.streamingAssetsPath

    [Application.streamingAssetsPath] This API contains the path to the StreamingAssets folder (Read Onl ...

  4. Sprint boot notes

    1. spring.io 官网 2. http://javainuse.com/spring/sprboot spring boot学习资源 3. spring boot websocketss视频  ...

  5. 用Hash Table(哈希散列表)实现统计文本每个单词重复次数(频率)

    哈希表在查找方面有非常大应用价值,本文记录一下利用哈希散列表来统计文本文件中每个单词出现的重复次数,这个需求当然用NLP技术也很容易实现. 一.基本介绍 1.Hash Key值:将每个单词按照字母组成 ...

  6. nslookup域名查询命令查询ip

    一.nslookup(name server lookup ) nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释.在已安装TCP/IP协议的电脑上 ...

  7. 如何学习C++? C++ Primer第三版中文版

    C++只是一门工具,要在实际项目中才能感受到它的伟大.是慢慢积累的(任何知识都是,冰冻三尺非一日之寒),它的思想是慢慢领悟的. 知道它的语法不代表你会用,你会用不代表你就会建造起高水平的作品,这是一个 ...

  8. SQL -- What Tables Queries are Used to Display the Counts in the Inventory Account Periods form (INVTTGPM.fmb) (Doc ID ID 357997.1)

    Applies to: Oracle Inventory Management - Version 11.5.9 to 12.1.3 [Release 11.5 to 12.1] Informatio ...

  9. Android-HttpsURLConnectionHelp-工具类

    HttpsURLConnectionHelp-工具类 是专门把javax.net.ssl.HttpsURLConnection类的使用,进行了封装,提供了常用的公共方法: package common ...

  10. 我的Jquery参考词典

    由于工作主要用到Asp.net Mvc+Jquery,最近也看了一些Jquery的书籍,在此总结以备回顾. 已读书籍:<Jquery In Action> 主要讲了些Jquery语法以及A ...