C ++中的记忆集

在本节中,我们将了解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