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

strlen()

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

#include<stdio.h>
#include<stdlib.h>
#define N 1000
int count = ; int strlen(char *str)
{
int num = ; //定义一个计数器
while('\0' != *str++)
{
num++;
}
return num;
} void test(char *str)
{
printf("所要测试的字符串为: %s\n",str);
count = strlen(str); //调用函数
printf("所输入的字符串长度为:%d\n\n",count);
} void main()
{
char str1[] = "hello world!"; //这样的赋值方式会有在尾部自动一个'\0'
char *str2 = "hello world!"; //这样的赋值方式会有在尾部自动一个'\0'
char str3[] = "world hello!"; //这样的赋值方式会在剩余的位置全部自动添加'\0'
char str4[N] = {};
test(str1);
test(str2);
test(str3); printf("请输入所要测试的数组:\n");
gets(str4); //此函数会在最后添加NULL字符 即'\0'
test(str4);
system("pause");
}

strcpy()

head.h

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

_strcpy().c

#include"head.h"

void strcpy1(char *str_cpy,char const *str)  //为了保证主数组的只读性,所以加"const"修饰
{
while(*str != '\0')
{
*str_cpy = *str ;
str_cpy ++;
str++;
}
*str_cpy = '\0'; //添加结束符
}

main.c

#include"head.h"

void main()
{
char str[N];
char str_cpy[N] ;
printf("请输入所要主字符串数组:\n");
scanf("%s",&str); strcpy1(str_cpy,str); //复制
printf("复制前的主字符串为的%s\n",str);
printf("复制后新字符串为的%s\n",str_cpy); getchar();
getchar();
}

explode()

#include<stdio.h>
#include<stdlib.h> #define N 50
char *ptr[] = {}; //定义指针数组,用来保存分割后的子串
char temp[N] = {}; //定义临时字符数组,用来临时保存分割后的子串 void explode(char *str,char c) //char c 类型用来保存分隔符
{
int i = ;
while((*str) != c)
{
temp[i] = *str; //指针中的字符串赋值给临时数组temp
str++;
i++;
}
str++; //此时 (*str) 是 分割符 c,自增1跳过分隔符
temp[i] = '\0'; //将分割的子串添加结束符号 '\0'
printf("%s\n",temp); //将分割后的子串打印出来
i = ; // 将i置零,方便下次使用临时数
while((*str) != '\0')
{ temp[i] = *str; //指针中的字符串赋值给临时数组temp
str++;
i++;
} str++; //此时 (*str) 是 结束符,自增1跳过结束符 temp[i] = '\0'; //将分割的子串添加结束符号 '\0' printf("%s\n",temp); //将分割后的子串打印出来 i = ; // 将i置零,方便下次使用临时数 return ;
} void main()
{
char *str = "hello,world!";
char b[N] = {} ; //用于保存用户所输入的数组
char c; //用于保存用户所输入的分割符 printf("下面用'hello,world!'作为示例,其中分割符为','\n");
printf("下面是使用分割函数explode(hello,world!,'c')的结果\n"); explode(str,','); //此函数不局限于 ',' 作为分隔符 ,可以用其他符号 printf("请输入只有两个子字符串的字符串:例如hello,world!\n");
scanf("%s",b);
printf("请输入你想用的分隔符:\n"); getchar(); //缓冲点回车键,不然会以回车键作为分隔符,程序崩溃
scanf("%c",&c); explode(b,c); //此函数不局限于 ',' 作为分隔符 ,可以用其他符号 system("pause");
}

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. IOS调试技巧:当程序崩溃的时候怎么办 xcode调试

    转自:http://www.ityran.com/archives/1143 ------------------------------------------------ 欢迎回到当程序崩溃的时候 ...

  2. 光圈、曝光、ISO

    光圈大小对景深的影响: 光圈大小示意图(值越小光圈越大) 光圈.曝光.ISO对图像效果影响

  3. cannot nest '/dubboService/src/main/resources' inside '/dubboService/src/main' .To enable the nesting exclude '/resources' from '/dubboService/src/main'

    eclipse Maven--->update Project时出现以上错误: cannot nest '/dubboService/src/main/resources' inside '/d ...

  4. ajax基本常识及get请求方式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  5. Node.js的优点和缺点(转载)

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:FengqiAsia链接:http://www.zhihu.com/question/19653241/answer/1599 ...

  6. Marshal.FreeHGlobal 方法 (IntPtr)

    释放以前从进程的非托管内存中分配的内存. 命名空间:   System.Runtime.InteropServices程序集:  mscorlib(位于 mscorlib.dll) 下面的示例演示如何 ...

  7. DBA的工作职责和每日工作

    DBA一般职责 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存 ...

  8. netstat/lsof

    netstat/lsof netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也 ...

  9. gatttool的使用

    1.使能hci接口 # hciconfig hci0 up 2.使用hcitool搜索BLE设备 # hcitool lescan LE Scan ...D0:39:72:BE:D2:26 (unkn ...

  10. 小程序报错Do not have xx handler in current page的解决方法

    看到小程序这一大串的“Do not have bindName handler in current page: pages/card/card. Please make sure that bind ...