1. 程式人生 > >C++ STL 快速生成帶字尾的隨機檔名

C++ STL 快速生成帶字尾的隨機檔名

如果你不想使用系統API或者API不可用,那麼可使用以下類似程式碼代替隨機檔名的生成,程式碼生成4到32位長度的隨機檔名,並以.txt結尾。
#include <string>
#include <random>
static std::string random_name()
{
	const char cs[] = "0a{[email protected]`CmDnEo[FpGqHrI~s-JtKuLvMw%NxOyPz(Q9R8S7T6)U5V4]W3X2}Y1Z0";
	std::random_device r;
	std::default_random_engine e(r());
	std::uniform_int_distribution<> u(0, _countof(cs) - 2);

	char n[((_countof(cs) - 2) + 12) / 3 + _countof(".txt")];
	int l = (u(e) + 12) / 3; // length [4, 32]
	strcpy(&n[l], ".txt");
	while (--l >= 0) {
		n[l] = cs[u(e)];
	}
	return n;
}

相關推薦

C++ STL 快速生成字尾隨機檔名

如果你不想使用系統API或者API不可用,那麼可使用以下類似程式碼代替隨機檔名的生成,程式碼生成4到32位長度的隨機檔名,並以.txt結尾。 #include <string> #include <r

C++ STL快速入門

在數月之前的機試中第一次體驗到STL的威力,因為自己本來一直在用C語言做開發,很多資料結構都是自己造的,比如連結串列、佇列等,第一次接觸C++ STL後發現這些資料結構都已經給我提供好了,我直接拿去呼叫就好了,真是超級方便。最近的專案中也遇到了STL一些容器,所以現在自己好好

C++ STL快速入門(轉)

在數月之前的機試中第一次體驗到STL的威力,因為自己本來一直在用C語言做開發,很多資料結構都是自己造的,比如連結串列、佇列等,第一次接觸C++ STL後發現這些資料結構都已經給我提供好了,我直接拿去呼叫就好了,真是超級方便。最近的專案中也遇到了STL一些容器,所以現在

利用C++獲取某一資料夾下的所有檔名,並獲取不字尾的檔名字

來源:https://www.cnblogs.com/fnlingnzb-learner/p/6424563.html 那麼到底如何查詢檔案呢?我們需要一個結構體和幾個大家可能不太熟悉的函式。這些函式和結構體在<io.h>的標頭檔案中, 結構體為struct _finddata_t

C# ZXing.Net生成二維碼、識別二維碼、生成Logo的二維碼(一)

tree bit 字符串 單位 images j2se lba 支付 .net 一.ZXing.Net 源代碼地址:http://zxingnet.codeplex.com/ 也可以使用Nuget包管理,添加如圖: 說明:ZXing是一個開源Java類庫用於解析多種格式的

java基礎 數組 Set Map 集合綜合應用 生成0的隨機字符串 "00000001" 水果商品號問題

set map 綜合 rand rgs omap 蘋果 查詢 pac 不能 package com.swift.test01; /*有四種水果(蘋果,香蕉,西瓜,橘子) 1、給每種水果設定一個商品號,商品號是8個0-9的隨機數,商品號碼不能重復, 最小值 "0000000

C# 利用VS自的WSDL工具生成WebService服務類

web 路徑 引用 src cnblogs logs png program 菜單 WebService有兩種使用方式,一種是直接通過添加服務引用,另一種則是通過WSDL生成。 添加服務引用大家基本都用過,這裏就不講解了。 那麽,既然有直接引用的方式,為什麽還要通過WSDL

C# 生成n位隨機驗證碼

生成n位隨機驗證碼,程式碼如下: public static string RandomCode(int n) { int number; char code; string StrCode = String.Empty; Rand

VBA 生成時間戳的隨機數字

Function GenPasswd(length, level) Dim allstr, substr, passwd As String allstr = "[email protected]#$%^&*()" Select Case level Case 1 strlen = 10

C#公眾平臺(三)—— 生成引數的二維碼

遇到了一個需求,就是要生成客戶的專屬二維碼,要求掃碼後能關注訂閱號,並且將每個掃碼的人和這個二維碼所屬客戶繫結,但是系統用的是商戶號,商戶號不能繫結訂閱號,這就存在了怎麼確認是同一個客戶的問題。 生成帶引數的二維碼文件 基礎幫助類 unionid 只有在使用者將公眾號繫結到微信開

WIndow下使用QT C++開發生成Logo的二維碼的程式

現在二維碼很流行,大街小巷大小商品廣告上的二維碼標籤都隨處可見,而且大都不是簡單的純二維碼,而是中間有個性圖示的二維碼。網上比較少介紹基於windows下的C++二維碼編碼實現的文章,最近正好在windows平臺下使用QT開發了一個簡單的生成帶LOGO的二維碼小程式,特

通過jdk自xjc將xsd 快速生成java類

首先確保計算機已經安裝了jdk,且在環境變數中配置了jdk路徑。 我的計算機安裝的是1.7,就以這個為例吧! 1.進入dos視窗 1.指定某一個xsd檔案生成指定名稱的java類 進入xsd檔案所在目錄,我的在D盤,所以我 D:進入D盤 然後開始執行下面語法(xxxxx.

C語言程式生成符合正態分佈的隨機數列

一般有兩種演算法:       演算法一產生12個(0,1)平均分佈的隨機函式,用大數定理可以模擬出正態分佈。       演算法二用到了數學中的雅可比變換,直接生成正態分佈,但此演算法在計算很大規模的數時       會出現溢位錯誤。       測試程式:       #include    <ma

C# .NET Random 生成隨機數字和字母

1:隨機數生成器 類 Random 是 .NET 的偽隨機數生成器,要生成各種型別的隨機數,必須先得到它的例項物件,然後再生成隨機數 2:種子 隨機數的生成是從種子值開始。 如果反覆使用同一個種子,就會生成相同的數字系列,產生不同序列的一種方法是使種

C++ STL Stack 快速入門

1、STACK 相對來說,STACK是一個比較簡單的容器,它的使用也比較簡單。 STACK是LIFO容器,就是後進先出。最後新增進去的元素,第一個取出來。 2、STACK常用方法 template stack<class T,class Container = de

C++ STL slice()函式的正確開啟方式 詳細註釋例項講解

//本程式例項主要介紹了slice的正確玩法 #include <iostream> #include <valarray> #include <cmath> usi

C#呼叫ThoughtWorks.QRCode.dll生成引數二維碼

ThoughtWorks.QRCode.Codec.QRCodeEncoder encoder = new QRCodeEncoder();        encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//編碼方式(注意:BYTE能支援中文

教你如何用C++快速生成1000萬個隨機數

updated: 2012.5.10 上個星期天(2012.5.6)中午去華科參加了百度的筆試,試卷的最後一題是問百度搜索框的suggestion提示功能如何實現,用什麼資料結構和演算法。 我簡單地提及了一下Top K。 前段時間看過演算法大牛JULY部落格中的一些面試題,其中有講到Top K演算法。且《程

使用DW、Sublime快速生成HTML頭部和DW中站點建立及顯示檔案字尾

Dreamweaver 8 中快速生成DOCTYPE頭部(需要外掛): 新增 Zen Coding 外掛,或者emmet 外掛(Sublime 中使用在這也可以用) 開啟DW 8 –>命令–

快速入門 C++ STL】 demo 演示九:二元謂詞,二元函式物件,函式介面卡

#include<vector> #include<iostream> #include<algorithm> #include<functional> using namespace std; template <typ