ホームページ  >  記事  >  バックエンド開発  >  C でランダムな英数字文字列を生成するにはどうすればよいですか?

C でランダムな英数字文字列を生成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-18 19:15:02839ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。