gen_string.h - GaisaiYuno/data-generation GitHub Wiki

char_set(字符集)

init():初始化。

init(s):以字符串 s 初始化字符集。

add_ch(c):增加字符 c。

add_chs(l,r):增加从 l 到 r 的字符。

add_upper_case():初始化为大写字母 A-Z。

add_lower_case():初始化为小写字母 a-z。

add_numbers():初始化为数字 0-9。

gen_char():从字符集里面随机抽取一个字符。

函数

gen_rand_string(len,c):用字符集 c 生成长度为 len 的随机字符串。

gen_palindrome(len,c):用字符集 c 生成长度为 len 的随机回文字符串。

add_noise(s,c,cnt):用字符集 c 为字符串 s 添加 cnt 个噪音,也就是随机 cnt 个位置,放上随机字符。

repeat(pattern,cnt):将 pattern 这个字符串重复 cnt 次,生成新的字符串。

举例

#include <bits/stdc++.h>
#include "random.h"
#include "gen_string.h"
using namespace std;
int main() {
	int n=100;
	char_set c;
	c.init();
	c.add_lower_case();
	cout<<add_noise(repeat("poiop",n/5),c,10)<<endl; //生成一个由 poiop 重复 2000 次形成的字符串,添加 10 点噪音
	c.init("ab");
	cout<<gen_rand_string(n,c)<<endl; //生成一个随机的由 a,b 构成的长度为 n 的字符串
	cout<<gen_palindrome(n,c)<<endl; //生成一个随机的由 a,b 构成的长度为 n 的回文串
	c.init();
	c.add_upper_case();
	cout<<gen_rand_string(n,c)<<endl; //生成一个随机的由小写字母构成的长度为 n 的字符串
	return 0;
}