memset 填字符 的 阔字符版本 是什么 ?
memset 填字符 的 宽字符版本 是什么 ??
可能说的不明白,举个例子:
char a[8] = {0};
memset(a, 'A', sizeof(a));
这样,在内存里,从低位到高位的8个char,依次为 'A','A','A','A','A','A','A','A'
那对于 WCHAR wa[8] = {0};
我也想实现一次性赋值,使得内存里,从低位到高位的16个char,依次为 'A','\0','A','\0','A','\0','A','\0','A','\0','A','\0','A','\0','A','\0'
但是我不想使用循环赋值的方式,如下:
for (i=0; i<(sizeof(wa)/sizeof(WCHAR)); i++)
{
wa[i] = 'A';
}
所以,就想问问,有没有类似 memset 的宽字符填字 的版本 ??还是说 memset里面本身也是通过 循环来实现的??
------解决方案--------------------
用wmemset就好了。
2楼说的有问题,memset是没有编译条件的,不会自动识别的。
------解决方案--------------------
------解决方案--------------------
memset里面本身也是通过 循环来实现的
没错
可能说的不明白,举个例子:
char a[8] = {0};
memset(a, 'A', sizeof(a));
这样,在内存里,从低位到高位的8个char,依次为 'A','A','A','A','A','A','A','A'
那对于 WCHAR wa[8] = {0};
我也想实现一次性赋值,使得内存里,从低位到高位的16个char,依次为 'A','\0','A','\0','A','\0','A','\0','A','\0','A','\0','A','\0','A','\0'
但是我不想使用循环赋值的方式,如下:
for (i=0; i<(sizeof(wa)/sizeof(WCHAR)); i++)
{
wa[i] = 'A';
}
所以,就想问问,有没有类似 memset 的宽字符填字 的版本 ??还是说 memset里面本身也是通过 循环来实现的??
------解决方案--------------------
用wmemset就好了。
2楼说的有问题,memset是没有编译条件的,不会自动识别的。
------解决方案--------------------
char a[8] = {0};
std::fill_n( a , 8 , 'A' );
wchar_t wa[8] = {0};
std::fill_n( wa , 8 , 'A' );
------解决方案--------------------
memset里面本身也是通过 循环来实现的
没错