c语言字符指针清零,C语言中字符串的内存地址操作的相关函数简介

C语言bcopy()函数:复制内存(字符串)头文件:

#include

bcopy() 函数用来复制内存(字符串),其原型为:

void bcopy(const void *src, void *dest, int n);

【参数】src 为源内存块(字符串)指针,dest 为目标内存块(字符串)指针,n 为要复制的内存(字符串)的前 n 个字节长度。

bcopy()与memcpy()一样都是用来拷贝src 所指的内存内容前n 个字节到dest 所指的地址,不过参数src 与dest 在传给函数时是相反的位置。

bcopy() 不检查内存(字符串)中的空字节 NULL。

实际上,bcopy() 和 memcpy() 功能相同,用来复制内存块的前 n 个字节,但是 s1, s2 两个参数为指针,又很奇怪的位于 string.h 文件中,所以也可以用来复制字符串。

注意:bcopy() 不是标准函数,没有在ANSI中定义,笔者在VC6.0和MinGW5下编译没通过;据称Linux下的GCC支持,不过笔者没有亲测。鉴于此,还是使用 memcpy() 替代吧。

更多信息请查看:C语言bcopy()和memcpy()、bzero()和memset()、bcmp()和memcmp()几个函数的差别

笔者定义了一个宏,在VC6.0下编译通过,代码如下:

#include

#include

#define bcopy(a, b, c) memcpy(a, b, c)

main(){

char dest[30] = "string(a)";

char src[30] = "string\0string";

int i;

bcopy(src, dest, 30); //src 指针放在前

printf("bcopy(): ");

for(i = 0; i < 30; i++)

printf("%c", dest[i]);

memcpy(dest, src, 30); //dest 指针放在钱

printf("\nmemcpy() : ");

for(i = 0; i < 30; i++)

printf("%c", dest[i]);

}

执行结果:

bcopy() : string(a)

memcpy() :string(a)

C语言bzero()函数:将内存(字符串)前n个字节清零头文件:

#include

bzero() 会将内存块(字符串)的前n个字节清零,其原型为:

void bzero(void *s, int n);

【参数】s为内存(字符串)指针,n 为需要清零的字节数。

bzero()会将参数s 所指的内存区域前n 个字节,全部设为零值。

实际上,bzero(void *s, int n) 等价于 memset((void*)s, 0,size_tn),用来将内存块的前 n 个字节清零,但是 s 参数为指针,又很奇怪的位于 string.h 文件中,也可以用来清零字符串。

注意:bzero() 不是标准函数,没有在ANSI中定义,笔者在VC6.0和MinGW5下编译没通过;据称Linux下的GCC支持,不过笔者没有亲测。鉴于此,还是使用 memset() 替代吧。

C语言bcmp()函数:比较内存(字符串)的前n个字节是否相等头文件:

#include

bcmp() 比较内存(字符串)的前n个字节是否相等,其原型为:

int bcmp(const void *s1, const void * s2, int n);

【参数】s1, s2 为需要比较的两块内存(或两个字符串),n 为要比较的长度。

【返回值】如果 s1, s2 的前 n 个字节相等或者 n 等于 0,则返回 0,否则返回非 0 值。

bcmp() 函数不检查NULL。

实际上,bcmp() 和 memcmp() 功能相同,用来比较内存块的前 n 个字节是否相等,但是 s1, s2 两个参数为指针,又很奇怪的位于 string.h 文件中,也可以用来比较字符串。

注意:bcmp() 不是标准函数,没有在ANSI中定义,笔者在VC6.0和MinGW5下编译没通过;据称Linux下的GCC支持,不过笔者没有亲测。鉴于此,还是使用 memcmp() 替代吧。

勉为其难的举个例子吧:

复制纯文本新窗口

#include

#include

int main ()

{

char *s1 = "Golden Global View";

char *s2 = "Golden Global View";

if( !bcmp(s1, s2, 7) )

printf("s1 equal to s2 in first 7 bytes");

else

printf("s1 not equal to s2 in first 7 bytes");

return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言密码锁程序,急求C语言电子密码锁程序

你要什么要求的程序呢?我这里有个程序#include#include#includeunsigned char code ps[] {1,2,3,4,5};unsigned char code dispcode[] {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};unsigned char pslen9;unsigned char templen;unsigned char digit;unsig…

c++ udp多线程 例子_计算机网络知识梳理(4)——TCP/UDP、TCP三次握手与四次挥手...

TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础&#xff0c;由网络层的IP协议和传输层的TCP协议组成。通俗而言&#xff1a;TCP负责发现传输的问题&#xff0c;一有问题就发出信号&#xff0c;要求重新传输&#xff0c;直到所有数据安全正确地传输到目的地。而…

appender log4j 扩展_Log4j扩展使用--输出地Appender

OK&#xff0c;现在我们来研究输出低Appended。Appender控制日志输出的位置Log4j日志系统允许把日志输出到不同的地方&#xff0c;如控制台(Console)、文件(Files)、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。Log4j内置了常用的输出地&#xff0c;一般…

2017c语言考核册答案,2017年电大《C语言程序设计》形成性考核册答案.doc

C语言程序设计形成性作业一1.?????? 在每个C语言程序中都必须包含有这样一个函数&#xff0c;该函数的函数名为( A )。A&#xff0e;main B&#xff0e;MAIN C&#xff0e;name D&#xff0e;funtion2&#xff0e;C语言原程序文件的缺省扩展名为( D )。A&#xff0e;cpp …

python max取下标_Python 变量类型总结

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型&#xff0c;解释器会分配指定内存&#xff0c;并决定什么数据可以被存储在内存中。因此&#xff0c;变量可以指定不同的数据类型&#xff0c;这些变量可以存储整数&#xff0c;小数或…

mybatis支持驼峰自动转换sql吗_SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换...

一、简述mybatis驼峰式命名规则自动转换&#xff1a;使用前提&#xff1a;数据库表设计按照规范“字段名中各单词使用下划线"_"划分”&#xff1b;使用好处&#xff1a;省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系&#xff0c;即resultMap。示例…

c语言存储大范围整形,C语言整形数值范围问题

有符号二进制数的表示是这样的&#xff1a;如果计算机的字长为n位&#xff0c;n位二进制数的最高位为符号位。其余n-1位为数值位&#xff0c;采用补码表示法时&#xff0c;可表示的数X的范围是 -2的(n-1)次幂 < X < 2的(n-1)次幂-1。如果字长是16位&#xff0c;补码表示的…

vue修改计算属性的值_Vue语法高级之计算属性和侦听器

计算属性和侦听器都可以监听到data区数据的变化&#xff0c;当数据变化时可以触发方法的调用&#xff0c;从而在方法内部可以进行相应的逻辑处理。计算属性的语法格式是&#xff1a;computed: {}侦听器的语法格式是&#xff1a;watch: {}一、计算属性计算属性一般是为了简化模板…

三次hermite插值多项式例题_2点三次Hermite插值多项式解析.ppt

2点三次Hermite插值多项式解析1.问题的提法 分段三次Hermite插值多项式存在唯一 三.分段三次Hermite插值 2.分段三次Hermite插值的表达式 当 x∈[xi&#xff0c;xi1]时, 两点Hermite插值 ( i 0,1,2,,n-1) 定理&#xff1a; 设 f(x)在[a,b]上具有四阶连续导数&#xff0c;S3(x)是…

sqlserver查看索引_SQL Server页中行物理存储

SQL Server页有很多类型&#xff1a;1 – 数据页. 记录堆或者聚集索引叶子级的数据2 – 索引页. 用于保存聚集索引中的中间页和根页&#xff0c;或者非聚集索引的所有页3 – text mix page. A text page that holds small chunks of LOB values plus internal parts of text tr…

华为畅享max有没有人脸识别_华为手机有人脸识别功能吗?

展开全部华为5X有的1、请插e5a48de588b63231313335323631343130323136353331333365633837入手机卡&#xff0c;开启数据业务。第一次使用“人脸解锁”功能时&#xff0c;需要连接网络之后才可以激活。所以当第一次进入系统设置->安全->屏幕锁定中&#xff0c;可能会不能马…

c 语言 结构体 编程,C语言:结构体的编程问题(很简单)

C语言&#xff1a;结构体的编程问题(很简单)答案:2 信息版本&#xff1a;手机版解决时间 2020-07-25 02:18已解决2020-07-24 02:27先定义一个结构体Student&#xff0c;它包含四个成员&#xff1a;学号(number)、姓名(name)、电话(telphone)、地址(address)&#xff0c;然后定…

gin 怎么通过 post 发送结构体_Go Web 框架 Gin 实践12—优化配置结构及实现图片上传...

Go语言中文网&#xff0c;致力于每日分享编码、开源等知识&#xff0c;欢迎关注我&#xff0c;会有意想不到的收获&#xff01;项目地址&#xff1a;https://github.com/EDDYCJY/go-gin-example如果对你有所帮助&#xff0c;欢迎点个 Star 前言一天&#xff0c;产品经理突然跟你…

python次方运算_neg__python 魔术方法1 运算符重载

python中存在一些特殊的方法&#xff0c;这些方法通常采用格式&#xff1a;__method__()。这些方法会在特定的情况下自动调用。例如&#xff1a;__new__()、__init__()、__del__() 等生命周期方法。正是这些特殊方法&#xff0c;构建了python的语言风格。特殊方法有很多&#x…

resnet50网络结构_AAAI2020 | 利用网络结构关系加速NAS+Layer

这是我在海康威视研究院实习的工作&#xff0c;被AAAI-2020接收为Spotlight。论文地址&#xff1a;http://xxx.itp.ac.cn/pdf/2002.12580v1引子上一个阶段的网络结构搜索(NAS)研究&#xff0c;主要在两个方面。1)各类搜索方法&#xff0c;从强化学习、进化算法等到梯度下降&…

python 去除nan inf_Python实现半自动评分卡建模(附代码)

作者&#xff1a;Summer Memories个人公众号&#xff1a;风控汪的数据分析之路知乎专栏&#xff1a;小鑫的数据分析笔记这次分享一个自己写的python脚本&#xff0c;可以实现半自动化的评分卡建模。运行脚本时需要input已经预处理好的训练集和测试集数据&#xff0c;所以建模前…

国嵌c语言深度,国嵌C语言3部全

课程目录&#xff1a;国嵌 C语言深度剖析班&#xff1a;1课-基本数据类型分析2 auto,register,static分析3 if,switch,do,while,for分析4 goto,void,extern,sizeof分析5 const和volatile分析6 struct和union分析7课-enum和typedef分析8 注释符号9 接续符和转义符10 单引号和双引…

linux如何判断网线插入_“Linux”中如何判断哪个网卡连接网线?

展开全部【解决方法】1、ifconfig查看现在使用的网e68a84e8a2ad3231313335323631343130323136353331333365633935卡。2、ethtool命令查看网卡的具体信息,如eth0是连接状态&#xff0c;则正常使用。2、在ifconfig中可以看到有eth2这个网卡&#xff0c;但不知道是否连线&#xff…

单调有界定理适用于函数吗_《实变函数》——论有界变差函数

一日不见如隔三秋&#xff0c;本人觉得有界变差函数是实变函数中最容易理解且和高等数学联系最紧密的一个概念&#xff0c;其在概率论中也有非常广泛的应用&#xff0c;也和勒贝格空间有着千丝万缕的联系。什么叫有界变差函数&#xff1f;若在区间(a&#xff0c;b)中&#xff0…