Menjana Rentetan Alfa-Numerik Rawak dalam C
Mencipta rentetan rawak yang terdiri daripada aksara alfa-angka ialah tugas biasa dalam pengaturcaraan. Dalam C , terdapat beberapa pendekatan untuk mencapai ini, masing-masing dengan kelebihan dan hadnya.
Satu pendekatan mudah ialah menggunakan jadual carian dan fungsi rand() untuk menjana indeks rawak dalam jadual . Berikut ialah contoh:
#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; }
Kod ini menunjukkan cara rentetan alfa-numerik rawak boleh dijana dengan hanya merujuk jadual carian dan memilih aksara berdasarkan indeks rawak. Ia ringkas dan mudah untuk dilaksanakan.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa fungsi rand() menjana nombor rawak pseudo, yang mungkin tidak sesuai untuk aplikasi yang memerlukan rawak sebenar. Untuk penjanaan nombor rawak berkualiti tinggi, pertimbangkan untuk menggunakan perpustakaan khusus seperti boost::random.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Rentetan Alfa-Numerik Rawak dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!