相关文章推荐
长情的小马驹  ·  ServerSecurityContextR ...·  10 月前    · 
爱听歌的茶叶  ·  java.util.NoSuchElemen ...·  1 年前    · 
沉稳的脸盆  ·  关于“ORA-02049: 超时: ...·  1 年前    · 
儒雅的保温杯  ·  javascript - ...·  1 年前    · 
眼睛小的铁链  ·  unity Socket ...·  1 年前    · 

c语言随机生成字符串

在 C 语言中,可以使用随机数生成函数和字符数组来生成随机字符串。以下是一个示例代码,它可以生成指定长度的随机字符串:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_LENGTH 50
char* generate_random_string(int length) {
    char* str = malloc(length + 1);
    const char charset[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    if (str) {
        for (int i = 0; i < length; i++) {
            int index = rand() % (sizeof charset - 1);
            str[i] = charset[index];
        str[length] = '\0';
    return str;
int main() {
    srand(time(NULL));
    int length = rand() % MAX_LENGTH + 1; // 生成 1 到 MAX_LENGTH 长度的随机字符串
    char* str = generate_random_string(length);
    printf("%s\n", str);
    free(str);
    return 0;

上述代码中,generate_random_string 函数会生成一个指定长度的随机字符串,并返回一个动态分配的字符数组。在函数中,首先动态分配了一个大小为 length+1 的字符数组,然后使用 rand() 函数生成 0 到 61 的随机数,根据这个随机数从字符集中选择一个字符加入字符串中,最后在字符串的末尾加上空字符 \0,表示字符串的结束。

在主函数中,使用 srand(time(NULL)) 来初始化随机数生成器。然后使用 rand() % MAX_LENGTH + 1 生成 1 到 MAX_LENGTH 长度的随机数,作为需要生成的字符串的长度。最后调用 generate_random_string 函数生成随机字符串,然后输出到控制台上。

需要注意的是,在使用完动态分配的字符数组之后,需要使用 free() 函数来释放内存空间。

  •