Maison >développement back-end >C++ >Comment puis-je générer des chaînes alphanumériques aléatoires en C ?
Génération de chaînes alphanumériques aléatoires en C
La création de chaînes aléatoires composées de caractères alphanumériques est une tâche courante en programmation. En C , il existe plusieurs approches pour y parvenir, chacune avec ses avantages et ses limites.
Une approche simple consiste à utiliser des tables de recherche et la fonction rand() pour générer un index aléatoire dans la table. . Voici un exemple :
#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; }
Ce code montre comment des chaînes alphanumériques aléatoires peuvent être générées en référençant simplement une table de recherche et en sélectionnant des caractères en fonction d'index aléatoires. Elle est concise et facile à mettre en œuvre.
Cependant, il est important de noter que la fonction rand() génère des nombres pseudo-aléatoires, qui peuvent ne pas convenir aux applications nécessitant un véritable caractère aléatoire. Pour une génération de nombres aléatoires de meilleure qualité, pensez à utiliser une bibliothèque dédiée comme boost::random.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!