每天学一点库函数10

字符串函数

本文中将会介绍memmove、memset、strpbrk、strrev命令。

memmove

其语法结构为。
void *memmove(void *dest, const void *src, unsigned int count);
功能均为由src所指内存区域复制count个字节到dest所指内存区域。src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。

    char a[32]= "welcome to my blog!", b[32];
	memmove(b, a+1, 20);
   cout << a<< endl;
   cout << b<< endl;

运行以上程序可以得到如下结果。
memmove运行示意图
如图所示,本程序将a[1]到a[20]之间的内容拷贝到了b。由于b未经过初始化,在其后部分的内容是随机值,输出后便成为了“烫”。

memset

其语法结构为void *memset(void *buffer, int c, int count);
功能也比较简单,是把buffer所指内存区域的前count个字节设置成字符c。然后返回指向buffer的指针。
执行以下代码。

	char str[] = "hallo world!";
	memset(str, 'K', 5);
	cout << str << endl;

可得到以下结果。
在这里插入图片描述

strpbrk

其语法结构为char *strpbrk(char *s1, char *s2);
功能为在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。

	char str1[] = "hallo world!";
	char str2[] = "wellcome";
	cout << *strpbrk(str1, str2) << endl;

运行以上代码,运行结果如图所示。
在这里插入图片描述
当然,这是输出的‘l’,并非1。如果未找到的话会输出NULL,这样执行以上代码就会崩溃掉,因此在解引用时必须判断其是否为空。

strrev

其语法结构为char *strrev(char *s);
功能是把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。然后返回指向颠倒顺序后的字符串指针。

	char str[] = "hallo world!";
	char *a = strrev(str);
	cout << a << endl;
	str[6] = '\0';
	char *b = strrev(str);
	cout << b << endl;

在这里插入图片描述
如图所示,该函数是在原地址的基础上进行修改的,故第二次输出是与str尾部的顺序相同。

注意

本文使用的操作系统是Windows 7 64位处理器。
使用的软件是Microsoft visual studio 2015
在使用字符函数的时候,应该在源文件中添加以下命令
#include <string.h>

Ω ~未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水利改革发展 中国政府高度重视水利建设,将水利作为国家基础设施建设的优先领域。政策文件强调了防洪抗旱、水资源管理、水环境保护和水生态修复等方面的全面要求,推动了水利信息化的发展。 智慧水利建设目标 智慧水利的建设目标是通过数据共享、应用惠民、应急预警等手段,打破信息孤岛,提升应急抢险协作能力,加强水利数据在惠民信息化方面的应用。同时,提出了共享联动化、解决信息安全问题、提高水利信息科技创新能力等目标。 智慧水利建设模式 智慧水利的建设模式包括构建统一平台、数据中心、信息整合平台、决策支持系统等,以实现水利、海洋、环保等政府部门和公众的信息共享和服务。此外,还包括了云计算虚拟化、网络传输、采集工程等多个方面的技术应用。 智慧水利应用实例 智慧水利的应用实例包括视频水文工程监控、多要素一体化检测设备、汛情预警智能联动、三防决策指挥、河长综合信息展示等。这些应用通过集成GIS、互联网地图服务、物联网设备等技术,实现了对水利设施的实时监控、数据分析和应急响应。 成功案例与展望 智慧水利的成功案例展示了通过视频监控、预警信息发布、移动办公信息APP等技术,有效提升了灾害应对能力、水资源管理和河长制的实施效果。这些案例表明,智慧水利的建设不仅提高了水利管理的效率和水平,也为未来的水利信息化发展提供了方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值