memset和fill_n比較
来源:互联网 发布:java判断合法标识符 编辑:程序博客网 时间:2024/06/11 21:10
memset和fill_n比較
1.memset是对每个字节赋值,而int有4字节(32位)
比如这样,memset(a,1,sizeof(a));
则a中的每个元素都被赋值成为2进制数为,00000001000000010000000100000001,的数
转换成10进制就是16843009
所以,一般用memset对数组赋0或-1,赋其他的值就要用循环来实现.
函数名: memset
//要包含头文件<string.h>
功 能: 设置s中的所有字节为ch, s数组的大小由n给定
用 法: void *memset(void *s, char ch, unsigned n);
程序例:
#include <string.h>
#include <stdio.h>
#include <mem.h>
int main(void)
{
char buffer[] = "Hello world/n";
printf("Buffer before memset: %s/n", buffer);
memset(buffer, '*', strlen(buffer) - 1);
printf("Buffer after memset: %s/n", buffer);
return 0;
}
注意它的用法,不一定是赋为0,其实就是把一个数组的每个单元写上ch,说明了就是写上一个数.
对于对int之类的数组,只能用memset对其初始化为0或-1。
如:int a[]; memset(a,0,sizeof(a)): //sizof(a)=sizeof(int)*n;
而对于char型,可以赋任何字符。
如:char a[]; memset(a,'0',sizeof(a));//sizeof(a)=1*n;
2,fill_n(void *s,unsigned n,char n)
//要包含头文件 <iostream>
与memset的不同不仅在于函数参数的顺序,而且对int型的数组赋值,fil_n可以赋任何值,而memset只能赋0或-1.
- memset和fill_n比較
- memset和fill_n比较
- memset和fill_n比较
- memset和fill_n的比较
- C++ fill() 、 fill_n & memset函数
- fill_n
- fill_n
- C++中fill()、fill_n()与memset()函数的区别
- STL 之fill和fill_n
- STL 之fill和fill_n
- C++ fill()和fill_n()函数用法
- fill和fill_n函数的应用
- c++ fill和fill_n函数的应用
- C++ fill()和fill_n()函数用法
- 【C++】fill函数,fill与memset与fill_n函数的区别
- 【C++】别再用memset初始化int数组了,用fill或者fill_n靠谱多了
- fill和fill_n函数的应用 / fill_n与generate_n的区别
- C++ fill和fill_n函数用法介绍和比较
- IIS提示:“此网站要求您登录”的解决办法。
- 异常控制try,catch用法小结
- Delphi自动适应屏幕大小
- Did You Mean: Lucene?-- Tom White
- 硬盘安装ubuntu10.04---windows XP环境
- memset和fill_n比較
- dwr reverse-ajax 实例解析
- [C#应用]得到组件事件的委托列表
- Playing Video on the iPhone and iPad
- 国何以立
- XML转义字符
- 数据库中的Sequence
- 策略模式(Strategy)
- 致文明的生活方式和环境污染