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

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

Barbara Streisand
Barbara Streisand原創
2024-11-18 19:15:02917瀏覽

How to Generate Random Alphanumeric Strings in C  ?

在C 中建立隨機字母數字字串

問題:

問題:

產生隨機字元串列C 中具有使用者指定長度的字母數字字元。

解:
#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 產生低品質的隨機數,因此請使用更好的隨機數產生器來實現更安全的應用程式。

以上是如何在 C 中產生隨機字母數字字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn