在本节中,我们将了解memset()C ++中函数的目的是什么。此函数将字符的值转换为无符号字符,并将其复制到给定str []指向的对象的前n个字符中的每个字符中。如果n大于字符串大小,则它将是不确定的。
memset()函数的语法
void* memset( void* str, int c, size_t n);
在此示例中,将使用一个字符串,然后将每个字符转换为长度不超过n的其他字符。
#include<bits/stdc++.h>
using namespace std;
int main() {
   char str[] = "Hello World";
   memset(str, 'o', 6); //take n = 6
   cout << str;
}输出结果
ooooooWorld
的memset()可以是使用将所有值设置为0或-1。但是我们不能使用其他一些值,因为memset()逐字节工作。
#include<bits/stdc++.h>
using namespace std;
int main() {
   int array[10];
   memset(array, 0, sizeof(array));
   for(int i = 0; i<10; i++){ cout << array[i] << " "; }
      cout << endl;
      memset(array, -1, sizeof(array));
   for(int i = 0; i<10; i++){ cout << array[i] << " "; }
      cout << endl;
      memset(array, 3, sizeof(array));
   for(int i = 0; i<10; i++){ cout << array[i] << " "; }
      cout << endl;
}输出结果
0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 50529027 50529027 50529027 50529027 50529027 50529027 50529027 50529027 50529027 50529027