用c写一个函数,随机生成256位16进制数的函数
时间: 2023-11-28 08:47:28 浏览: 60
以下是一个生成256位16进制数的随机数的C函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generate_random_hex(unsigned char* result) {
srand((unsigned int)time(NULL));
for (int i = 0; i < 32; i++) {
sprintf((char*)&result[i * 8], "%08x", rand());
}
}
```
该函数接受一个指向 unsigned char 类型的指针作为参数,用于存储生成的随机数。函数内部使用 srand 函数初始化随机数生成器,然后使用循环调用 sprintf 函数生成 32 个随机的 8 位 16 进制数,最终存储到传入的指针所指向的地址上。
使用方式如下:
```c
int main() {
unsigned char result[256];
generate_random_hex(result);
printf("%s\n", result);
return 0;
}
```
阅读全文