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