Heim > Backend-Entwicklung > C++ > Wie kann ich zufällige alphanumerische Zeichenfolgen in C generieren?

Wie kann ich zufällige alphanumerische Zeichenfolgen in C generieren?

DDD
Freigeben: 2024-11-28 19:39:13
Original
871 Leute haben es durchsucht

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

Zufällige alphanumerische Zeichenfolgen in C generieren

Zufällige Zeichenfolgen aus alphanumerischen Zeichen zu erstellen ist eine häufige Aufgabe in der Programmierung. In C gibt es mehrere Ansätze, um dies zu erreichen, jeder mit seinen Vorteilen und Einschränkungen.

Ein einfacher Ansatz besteht darin, Nachschlagetabellen und die Funktion rand() zu verwenden, um einen zufälligen Index innerhalb der Tabelle zu generieren . Hier ist ein Beispiel:

#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;
}
Nach dem Login kopieren

Dieser Code zeigt, wie zufällige alphanumerische Zeichenfolgen generiert werden können, indem einfach auf eine Nachschlagetabelle verwiesen und Zeichen basierend auf zufälligen Indizes ausgewählt werden. Es ist prägnant und einfach zu implementieren.

Es ist jedoch wichtig zu beachten, dass die Funktion rand() Pseudozufallszahlen generiert, die möglicherweise nicht für Anwendungen geeignet sind, die echte Zufälligkeit erfordern. Für eine qualitativ hochwertigere Zufallszahlengenerierung sollten Sie die Verwendung einer speziellen Bibliothek wie boost::random in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie kann ich zufällige alphanumerische Zeichenfolgen in C generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage