「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C++ でランダムな英数字文字列を生成するにはどうすればよいですか?

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

2024 年 12 月 21 日に公開
ブラウズ:504

How Can I Generate Random Alpha-Numeric Strings in C  ?

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

英数字で構成されるランダムな文字列の作成は、プログラミングにおける一般的なタスクです。 C では、これを実現するためのアプローチがいくつかありますが、それぞれに利点と制限があります。

1 つの直接的なアプローチは、ルックアップ テーブルと rand() 関数を使用してテーブル内にランダムなインデックスを生成することです。 。次に例を示します:

#include 
#include 
#include 

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 

このコードは、ルックアップ テーブルを参照し、ランダムなインデックスに基づいて文字を選択するだけで、ランダムな英数字文字列を生成する方法を示しています。これは簡潔で実装が簡単です。

ただし、 rand() 関数は疑似乱数を生成するため、真のランダム性を必要とするアプリケーションには適さない可能性があることに注意することが重要です。より高品質な乱数を生成するには、boost::random.

のような専用ライブラリの使用を検討してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3