getrandom举例
时间: 2024-03-30 09:31:10 浏览: 130
getrandom是一个系统调用,用于生成随机数。它可以用于各种应用场景,如密码学、随机数生成等。getrandom函数的原型如下:
```c
#include <sys/random.h>
ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
```
其中,参数`buf`是用于存储生成的随机数的缓冲区,`buflen`是缓冲区的大小,`flags`是控制随机数生成行为的标志。
下面是一个使用getrandom函数生成随机数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sys/random.h>
int main() {
unsigned char random_data[16]; // 用于存储生成的随机数的缓冲区
ssize_t result = getrandom(random_data, sizeof(random_data), 0);
if (result == -1) {
perror("getrandom");
exit(EXIT_FAILURE);
}
printf("Generated random data: ");
for (int i = 0; i < sizeof(random_data); i++) {
printf("%02x ", random_data[i]);
}
printf("\n");
return 0;
}
```
这段代码使用getrandom函数生成了一个长度为16字节的随机数,并将其以十六进制形式打印出来。
阅读全文