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

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

Patricia Arquette
リリース: 2024-11-20 12:57:17
オリジナル
968 人が閲覧しました

How to Generate a Random Alpha-Numeric String of Specified Length in C  ?

C でのランダムな英数字文字列の作成

この記事では、C で指定された長さの英数字で構成されるランダムな文字列を生成する方法について説明します。

Mehrdad Afshari が提示した解決策は効果的ですが、この基本的なタスクについては多少難しいかもしれません冗長。ルックアップ テーブルは、より簡潔なアプローチを提供できます。

#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 関数は疑似乱数を生成しますが、品質が高くない可能性があることに注意することが重要です。より安全なアプリケーションの場合は、代わりに暗号的に強力な乱数生成器 (CSPRNG) の使用を検討してください。

以上がC で指定された長さのランダムな英数字文字列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート