php函数源代码 C编写 【持续更新】
由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 : --> 点击这里
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编写 【持续更新】的更多相关文章
- # OpenGL常用函数详解(持续更新)
OpenGL常用函数详解(持续更新) 初始化 void glutInit(int* argc,char** argv)初始化GULT库,对应main函数的两个参数 void gultInitWindo ...
- iOS --- 总结Objective-C中经常使用的宏定义(持续更新中)
将iOS开发中经常使用的宏定义整理例如以下,仅包括Objective-C. 而对于Swift,不能使用宏,则能够定义全局函数或者extension.请參考博客iOS - 总结Swift中经常使用的全局 ...
- php常用函数(持续更新)
每一种编程语言在用的过程中都会发现有时候要一种特定需求的功能函数,结果没有内置这样的函数,这个时候就需要自己根据已有函数编写尽可能简单的函数,下面是我在做php相关工作时积累下的函数,会持续更新,您要 ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
- 好用的函数,assert,random.sample,seaborn tsplot, tensorflow.python.platform flags 等,持续更新
python 中好用的函数,random.sample等,持续更新 random.sample random.sample的函数原型为:random.sample(sequence, k),从指定序列 ...
- pytorch常用函数总结(持续更新)
pytorch常用函数总结(持续更新) torch.max(input,dim) 求取指定维度上的最大值,,返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引.比如: demo.sha ...
- BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js
BAT 前端开发面经 —— 吐血总结 目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...
- 值得学习的C/C++开源项目 持续更新
值得学习的C语言开源项目 持续更新 文章目录 值得学习的C语言开源项目 持续更新 - 1. Webbench - 2. Tinyhttpd - 3. cJSON - 4. CMockery - 5. ...
随机推荐
- 小程序-Now you can provide attr "wx:key" for a "wx:for" to improve performance
转自:https://www.cnblogs.com/xpwi/p/9878871.html 小程序开发-Now you can provide attr "wx:key" for ...
- curl常用设置-涉及超时相关
curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据 curl_easy_setopt( curl, CURLOP ...
- JS 位数不够自动左补0
var mycode = "11"; mycode = (Array(4).join(0) + parseInt(mycode)).slice(-4);//0011 mycode1 ...
- tomcat 域名直接访问默认工程,而不添加项目路径
<Engine name="Catalina" defaultHost="xx.xx.xx.xx"> <!--For clustering, ...
- hibernate查询出的实体,set值后,自动更新到数据库
1.问题症状描述 最近在处理一个新需求问题,代码的大致逻辑是获取一个实体对象,调用该对象的set方法设置其中的某些字段,然后把修改后的实体作为参数供其他地方调用,根据返回值来决定是否更新这个 ...
- SublimeText Videos Notes
[SublimeText Videos Notes] Getting Started 1.Hello:https://tutsplus.com/course/improve-workflow-in-s ...
- eclipse-jee-mars-2-win32-x86_64安装activiti
离线安装老是不行,只能在线安装了 选择Activiti BPMN Desisner,然后一直选择下一步,直到出现如下窗体: 幸亏这个插件很小,在线安装也不算慢
- 「红米 2A 标准版」闪屏救砖、更正官方线刷救砖工具
问题描述 用 ES 浏览器 卸载了内置软件后重启无法开机,停在 MI android 界面并出现屏幕忽明忽暗的现象,无法进入系统. 漫长的救砖探索,直白的解决方案 总体来说,林林总总下了六个 G 的教 ...
- 自己动手搭建Git服务器-Gitblit
首先到官网http://gitblit.com/下载最新版本的Gitblit GO 解压缩到本地目录中 E:\git\gitblit132 官方文档:http://gitblit.com/setu ...
- 在PowerDesigner中设计物理模型1——表和主外键(转)
出处:http://www.cnblogs.com/studyzy/archive/2009/12/15/1624899.html 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念 ...