C++随机生成字符串函数,亲测可用话不多说,上代码。蜜汁自信注释写的很清楚,嘿嘿。第一次写文章,希望能够对大家有一丢丢的帮助吧~#include <iostream>using namespace std;string rand_str(const int len) /*参数为字符串的长度*/{ /*初始化*/ string str; /*声明用来保存随机字符串的str*/ char c;
C++
生成随机
字符串
这个需求也是最近一个项目里的实际需求。测试一个数据库相关的代码。要往数据库里随机的填写一些字段。
从原理上是很容易实现。建立一个数组,存放一些字符。然后随机的从里面取一些字符凑成一个
字符串
。
所以这个代码没啥可说的。里面用到了 std::random_device,std::mt19937 ,std::uniform_int_distribution 可以作为
C++
生成随机数的一个例子。还用到了初始化列表来初始化一个 QVector , 这个也可以作为一个例子。
最近给自己的网站搞一个相册,
随机生成
图片名字,生成100W个16位的名字,测试没重复,感觉还不错,生成的数字是均匀分布的cppreference
#include <random>
#include <iostream>
#include <unistd.h>
#include <unordered_set>
using namespace std;
char seed[64] = {
'0','1','2','3','4','5','6','7','
首先,我们知道可以使用随机函数
随机生成
自然数,整数,小数,负数等常见的数据类型,那怎么使用它生成包含26个英文字母大小写的
字符串
呢? 其实,这很
简单
,程序也很朴素。 每一个字符都对应了它的ascii码,而ascii码则是整数,所以我们可以通过得到字符的ascii码,将它转换成字符就行了。程序如下:#include<cstdio>
#include<time.h>
std::string randomStr(int character_count ,bool is_contain_chinese = false)
std::vector<std::string> chinese_table ={
"一","乙","二","十","丁","厂","七","卜","人","入","八","九","几","儿","了","力","乃","刀","
string substr (size_t pos, size_t len) const;
其中,pos表示要截取的子
字符串
的起始位置,len表示要截取的子
字符串
的长度。例如,以下代码截取了
字符串
str中从第3个字符开始的5个字符:
string str = "Hello, world!";
string sub = str.substr(2, 5); // sub为"llo, "