在 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中文网其他相关文章!