首页 > 后端开发 > C++ > 如何在 C 中生成随机字母数字字符串?

如何在 C 中生成随机字母数字字符串?

DDD
发布: 2024-11-28 19:39:13
原创
873 人浏览过

How Can I Generate Random Alpha-Numeric Strings in C  ?

在 C 中生成随机字母数字字符串

创建由字母数字字符组成的随机字符串是编程中的常见任务。在 C 中,有多种方法可以实现此目的,每种方法都有其优点和局限性。

一种简单的方法是利用查找表和 rand() 函数在表中生成随机索引。下面是一个示例:

#include <ctime>
#include <iostream>
#include <unistd.h>

std::string gen_random(const int len) {
    static const char alphanum[] =
        "0123456789"
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz";
    std::string tmp_s;
    tmp_s.reserve(len);

    for (int i = 0; i < len; ++i) {
        tmp_s += alphanum[rand() % (sizeof(alphanum) - 1)];
    }
    
    return tmp_s;
}

int main(int argc, char *argv[]) {
    srand((unsigned)time(NULL) * getpid());     
    std::cout << gen_random(12) << "\n";        
    return 0;
}
登录后复制

此代码演示了如何通过简单地引用查找表并根据随机索引选择字符来生成随机字母数字字符串。它简洁且易于实现。

但是,需要注意的是 rand() 函数生成伪随机数,这可能不适合需要真正随机性的应用。为了生成更高质量的随机数,请考虑使用专用库,例如​​ boost::random。

以上是如何在 C 中生成随机字母数字字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板