21xrx.com
2024-12-22 22:46:17 Sunday
登录
文章检索 我的文章 写文章
C++生成随机字符串 – 方便快捷的方法
2023-06-23 16:04:45 深夜i     --     --
C++ 生成 随机字符串 方便 快捷

在编写程序时,有时需要使用随机字符串作为变量或数据的值。C++作为一种高级编程语言,提供了多种方便快捷的方法来生成随机字符串。

1.使用rand()函数

rand()函数是一个C++标准库函数,可以生成伪随机数。我们可以使用该函数来生成随机字符串。

例如,以下代码可以生成一个由10个随机小写字母组成的字符串:


#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

  srand(time(NULL)); //初始化rand()函数

  string s = "";

  for(int i = 0; i < 10; i++){

   s += (char)((rand() % 26) + 'a'); //生成一个随机小写字母

  }

  cout << s << endl; //输出随机字符串

  return 0;

}

这里使用了time()函数生成初始化rand()函数的种子,以便生成更随机的数。

2.使用C++11随机数生成器

C++11引入了一个更强大的随机数生成器 – 库。该库提供了多种生成随机数的方式,可以更精确地生成随机字符串。

例如,以下代码可以生成一个由10个随机小写字母组成的字符串:


#include <iostream>

#include <random>

using namespace std;

int main()

{

  random_device rd; //获得真随机数

  mt19937 eng(rd()); //使用mt19937作为随机数引擎

  uniform_int_distribution<> distr('a', 'z'); //生成一个介于'a'和'z'之间的随机整数分布

  string s = "";

  for(int i = 0; i < 10; i++){

   s += (char)distr(eng); //生成一个随机小写字母

  }

  cout << s << endl; //输出随机字符串

  return 0;

}

这里使用了random_device来获得“真”随机数作为随机数引擎的种子,以便更精确地生成随机数。

总结

无论是使用rand()函数还是C++11随机数生成器,生成随机字符串的方法都非常简单。根据实际需求和应用场景的不同,选择不同的方法即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复