Bagaimana untuk Menjana Rentetan Alfa-Numerik Rawak Panjang Ditentukan dalam C?

Patricia Arquette
Lepaskan: 2024-11-20 12:57:17
asal
922 orang telah melayarinya

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

Mencipta Rentetan Alfa-Numerik Rawak dalam C

Artikel ini menangani pertanyaan tentang cara menjana rentetan rawak yang terdiri daripada aksara alfanumerik dengan panjang tertentu dalam C .

Penyelesaian yang dikemukakan oleh Mehrdad Afshari adalah berkesan, tetapi untuk tugas asas ini, ia mungkin agak bertele-tele. Jadual carian boleh memberikan pendekatan yang lebih ringkas:

#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;
}
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa fungsi rand menjana nombor rawak pseudo, yang mungkin tidak berkualiti tinggi. Untuk aplikasi yang lebih selamat, pertimbangkan untuk menggunakan penjana nombor rawak yang kuat secara kriptografi (CSPRNG).

Atas ialah kandungan terperinci Bagaimana untuk Menjana Rentetan Alfa-Numerik Rawak Panjang Ditentukan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan