C++ 自定义订单号
2024-10-18 23:25:07
自定义订单号
#include<iostream>
#include<stack>
#include <time.h>
#include <sys/timeb.h>
#include <string>
#include <sstream> using namespace std; //获取时间戳,精确到毫秒
long long getTimeStamp()
{
timeb t;
ftime(&t);
return t.time * ;//+ t.millitm;
} //将时间戳转换为自定义格式
const string m_num = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWSYZ";
string tenToX(string& str)
{
long long n = getTimeStamp();
stack<long long> s; while(n)
{
s.push(n%); n/=;
}
while(!s.empty())
{
// cout<<m_num[s.top()];
str+=m_num[s.top()];
s.pop();
}
return str;
} //将数字转换为4位字符串
string transform(int num)
{
string res;
stringstream ss;
ss<<num;
ss>>res;
if(num<)
{
res=""+res;
}
else if(num<)
{
res =""+res;
}
else if(num<)
{
res=""+res;
} return res;
} //+时间戳转换为自定义格式+4位数自增+4位数随机数
int main()
{
int increment=;
string str="";
for(int i=;i<;i++)
{
int randnum=+rand()%;
string tmpstr;
tenToX(tmpstr);
if(tmpstr==str)
{
increment++;
}
else
{
increment=;
}
str=tmpstr; tmpstr = tmpstr + to_string(increment)+to_string((randnum));
cout<<tmpstr<<endl;
}
system("pause");
return ;
}
最新文章
- IOS RunLoop 常驻线程的实现
- 反序列化问题的研究之java篇
- The C Programming Language Exercise
- Mono+Jexus部署Web页面
- Java框架介绍-13个不容错过的框架项目
- Eclipse中Ant的配置与测试 转
- asp.net子窗体与父窗体交互
- Android Apps开发环境搭建
- OutLook中发送用户密码加密的小技巧
- Java学习----你的选择是什么-条件结构
- linux经常使用命令:打包、复制等
- Android系统移植(一)-让android系统在目标平台上运行起来
- yii2 中布局文件的 设置方法
- Eddy&#39;s爱好 hdu2204
- cloudera manager 安装配置
- Volterra方程的不动点
- asp.net mvc Dateset读取Excel数据
- XTest
- python全栈开发day39-CSS继承性和层叠性、权重问题、盒模型和其属性、文本级标签和块级标签、浮动
- C++三大特性之继承
热门文章
- python之使用 wkhtmltopdf 和 pdfkit 批量加载html生成pdf,适用于博客备份和官网文档打包
- Go的sort接口实现
- 什么是vue
- c#一步一步实现ORM(二)
- 英语口语练习系列-C36-城市-谈论活动-登高
- exit()
- Fliptile [POJ3279] [开关问题]
- java集合的复习
- [LeetCode] Swim in Rising Water 在上升的水中游泳
- dtIntersectSegmentPoly2D 2D上的线段与多边形相交计算 产生结果:是否相交,线段跨越的开始和结束百分比,相交的边