需求背景:
最近数据库相关的代码,功能类似会员数据。代码写完后,需要模拟数据测试接口,其中一个字段就是用户姓名,需要模拟中文的用户名,所以就有了下面的随机生成中文的代码。

具体实现:

#include "stdafx.h"

#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
class RandCommon
{
public:
//全自动随机  n_count想生成汉字的个数
static void get_rand_chinese_char(const int n_count, std::string& str_content);
//半自动随机 (自己配置字库集合)
static void get_half_rand_chines_char(std::string& str_content);
};

void RandCommon::get_rand_chinese_char(const int n_count, std::string& str_content)
{
srand(time(NULL));
int n_high = 0xd7 - 0xc1; 
int n_low= 0xfe - 0xa1;
char c_name[3]; 
c_name[2]='\0'; 
for (int i = 0; i < n_count; ++i)

c_name[0]=rand()%n_high + 0xc1;
c_name[1]=rand()%n_low + 0xa1; 
str_content += c_name;
}
}

void RandCommon::get_half_rand_chines_char(std::string& str_content)
{
srand(time(NULL));
//自己配置集合,随机选中集合中的中文字符串
char char_set[6][10] = {"张无忌", "杨过", "张三丰", "郭靖", "萧峰", "段誉"};
int n_count = sizeof(char_set)/sizeof(char_set[0]);
str_content = char_set[rand()%6];
}

int _tmain(int argc, _TCHAR* argv[])
{
std::string str;
RandCommon::get_rand_chinese_char(5, str);
cout << str.c_str() << endl;
RandCommon::get_half_rand_chines_char(str);
cout << str.c_str() << endl;
return 0;
}

【厚积薄发系列】C++项目总结8—全自动和半自动随机生成中文字符串相关推荐

  1. 【SQL Server 学习系列】-- sql 随机生成中文名字

    [SQL Server 学习系列]-- sql 随机生成中文名字 原文:[SQL Server 学习系列]-- sql 随机生成中文名字 1 DECLARE @fName TABLE(Id INT I ...

  2. 第三周项目10-小学生计算题的随机生成

    问题及代码: /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:徐健 *完成日期:2015年3月17日 ...

  3. 【厚积薄发系列】C++项目总结19—组件化架构思想

    在一个大型的项目中,随着业务不断拓展,开发人员和代码量的不断增加,传统的单体架构会经常遇到以下问题: 1.业务模块划分不够清晰,模块之间高度耦合,修改和新增需求的时候可能会导致牵一发而动全身的雪崩. ...

  4. C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码

    C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码 1.别看它界面丑,里面的应有应该尽有; 2.麻雀虽小五脏俱全,很适合新手的一个学习项目,绝对推荐 3.本人也是通过这个项目进入运控行业; ...

  5. 【花雕动手做】有趣好玩的音乐可视化系列小项目(17)--光导纤维灯

    偶然心血来潮,想要做一个声音可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...

  6. 【花雕动手做】有趣好玩的音乐可视化系列小项目(19)--通体光纤灯

    偶然心血来潮,想要做一个音乐可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...

  7. 【花雕动手做】有趣好玩的音乐可视化系列小项目(18)--LED平面板灯

    偶然心血来潮,想要做一个音乐可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...

  8. 【庖丁解牛系列】 项目时间管理之前导图/单代号网络图

    [庖丁解牛系列][项目时间管理]3前导图/单代号网络图 --------------------------------------------------------- [庖丁解牛系列]项目时间管理 ...

  9. 【花雕动手做】有趣好玩的音乐可视化系列小项目(14)---水杯水瓶灯

    偶然心血来潮,想要做一个声音可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...

最新文章

  1. 信息学奥赛一本通 1956:【11NOIP普及组】表达式的值 | 洛谷 P1310 [NOIP2011 普及组] 表达式的值
  2. JavaScript算法(实例一)完数 / 水仙花数 / 素数
  3. OkHttp RouteSelector代理解析
  4. 剑指offer面试题[29]-数组中出现次数超过一半的数字
  5. 计算某天是星期几数字或文本形式的JAVA工具方法
  6. 如何利用c语言写九九乘法表
  7. java需要知道哪些英语单词_70个学习JAVA必背的英语单词,了解下
  8. mysql 跨库查询_mysql跨库联表查询
  9. 从未在一起更让人遗憾_我们从未在一起更遗憾
  10. 职业综合英语 章节答案考试答案 深圳职业技术学院[渝粤教育]
  11. 腾讯投资“差评”遭舆论讨伐,或被迫退股!!
  12. 实战新浪微博、腾讯微博的分享功能(转)
  13. 从明日方舟入手数据统计--盒须图
  14. 精品基于PHP实现的剧影评|剧评影评系统
  15. 管理:身先士卒是必要的手段
  16. 计算机网络相关术语概念名词汇总总结集合——摘自《计算机网络--自顶向下》第四章
  17. 谷歌浏览器存放插件文件在电脑中位置路径
  18. C++中关于DWORD
  19. 在leap15.2的kde下使用飞鸽传书QIpmsg
  20. 概率统计Python计算:双正态总体未知总体方差总体均值差双侧假设的T检验

热门文章

  1. CSS高手布局:让footer完美处于网页下方
  2. Java和Python,哪个更适合开发AI人工智能?
  3. 北京理工大学计算机实验广域网通信与有,北京理工大学计算机实验七报告表
  4. 山东大学创新实训---前端原型设计以及环境配置
  5. Excel全部或部分字体加粗方法
  6. SpringBoot +WebSocket实现简单聊天室功能实例
  7. C语言小白(5)——结束语句
  8. 【工作记录】网易云信最近联系人中加入本地服务端数据
  9. scala中case的用法
  10. 单片机c语言篮球比分_基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)...