c++ memset头文件_C++基础:memset函数简析

memset函数简析

功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,
块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作

用 法: void *memset(void *s, char ch, unsigned n);

对比:
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。

strcpy就只能拷贝字符串了,它遇到'/0'就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘/0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。

memset:char型初始化函数

头文件: 或

函数原型:void memset(void s , int ch , size_t n )

memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );

memset(结构体/数组名 , "用于替换的字符“ , 前n个字符 );

函数解释:将s中的前n个字节用ch替换并且返回s

函数作用:在一段内存块中填充某一个给定的值,常用于较大的对结构体和数组的清零操作。
//例1
#include<iostream>
//#include"string.h"
using namespace std;
int main()
{
    char str[10];
    str[9] = 'w';
    memset(str,97,9);
    for(int i=0;i<10;i++){
        cout<<str[i]<<" ";
    }
    return 0;
}

输出:a a a a a a a a a w

说明:使用memset似乎不需要使用额外的头文件。

//例2

输出:a a a a a a a a a a

#include

*输出:A A A A A A A *


若你对人工智能(CV/NLP)、C++/python编程、互联网就业及发展有兴趣,欢迎点赞关注和收藏。谢谢鼓励!!!

C++相关知识:

Anxjing.AI:C++ this_thread::sleep_for​zhuanlan.zhihu.com
dde3f8a9b6784a900e8482dd7e1590f7.png
Anxjing.AI:C++ Lambda表达式​zhuanlan.zhihu.com
3a06077ab88871b29257453f6b1c405c.png
Anxjing.AI:C++并发_condition_variable​zhuanlan.zhihu.com
cec9de46a2bb04478584ee074950184a.png
Anxjing.AI:生产者-消费者模型​zhuanlan.zhihu.com
c9218cf2cdb62ed0cae4cf3395097087.png
Anxjing.AI:C++预处理指令​zhuanlan.zhihu.com
94f7689cd986b92396354bf0b65a71ff.png
Anxjing.AI:C++工具:Cmake​zhuanlan.zhihu.com
5bbb995914089662243e7e063ab05692.png
Anxjing.AI:SSH 学习​zhuanlan.zhihu.com
7dbfcd612494948520a2e18d85670a9d.png
Anxjing.AI:记录C++阶段性学习一​zhuanlan.zhihu.com
a7dc2767a8edd329044da340d60bd794.png
Anxjing.AI:DesignPatterns C++:单例模式​zhuanlan.zhihu.com
39eb25012d2a61667a9313e73e454e40.png
Anxjing.AI:C++基础:map简析​zhuanlan.zhihu.com
b3e0ea60e07df5d42e2f2ba6830af96e.png
Anxjing.AI:C++基础:memset函数简析​zhuanlan.zhihu.com
a34dca6ac126ededda298c66608f2ef7.png
Anxjing.AI:C++基础:break&continue区别​zhuanlan.zhihu.com
07e54f8f22abef2b902ff065c69fe694.png
Anxjing.AI:C++基础:指针和引用的区别​zhuanlan.zhihu.com
c46cc4afdb36f8b5940d25383fccc415.png
Anxjing.AI:C++中::和:, .和->的作用和区别?​zhuanlan.zhihu.com
fa592f4ef45ccbf78933146887f9dec1.png
Anxjing.AI:string中c_str()的使用方法和特性​zhuanlan.zhihu.com
b3e0ea60e07df5d42e2f2ba6830af96e.png
Anxjing.AI:C ++ strcpy()和strncpy()函数​zhuanlan.zhihu.com
e13cb348b01688a7f76c82b869de4fa5.png
Anxjing.AI:C++基础-关键字virtual​zhuanlan.zhihu.com
2f5a55bc0da6999d217a023e698552df.png
Anxjing.AI:C++基础-函数重载​zhuanlan.zhihu.com
616b0a5fadd02418fd229645305e734a.png
Anxjing.AI:C++基础-static​zhuanlan.zhihu.com
43e8bae70c7cf8b172da0d0af31a81d2.png
Anxjing.AI:C++基础:判断文件是否存在的方法​zhuanlan.zhihu.com
8ec04641dad8d5bd877d7663b98a6fe3.png
Anxjing.AI:C++基础-strstr查找子串​zhuanlan.zhihu.com
e87bd8d07a5801cf155a0810c0409f7b.png
Anxjing.AI:C++基础:std::thread多线程​zhuanlan.zhihu.com
a4d22637fb7fdd94118622bac117f179.png
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值