首頁 > 後端開發 > C++ > 如何在 C 中產生隨機字母數字字串?

如何在 C 中產生隨機字母數字字串?

DDD
發布: 2024-11-28 19:39:13
原創
885 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板