亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C程序中唯一序列號的生成實例詳解

發布時間:2020-10-14 18:54:01 來源:腳本之家 閱讀:266 作者:lqh 欄目:編程語言

C程序中唯一序列號的生成實例詳解

在實際的軟件開發項目中,經常會涉及唯一序列號的生成。本文以一個實際的程序為例,介紹了唯一序列號的生成過程。
本文生成的序列號的樣式為:MMDDHHMINSS_XXXXXX。

程序如下:

* 修改記錄1:// 修改歷史記錄, 包括修改日期、版本號、修改人及修改內容
* 修改日期: 20140603
* 版 本 號: V1.0
* 修 改 人: Zhou Zhaoxiong
* 修改內容: 創建
**********************************************************************/
  
#include <afxinet.h>
  
// 數據類型
typedef unsigned char    UINT8;
typedef unsigned char    UINT16;
typedef unsigned int      UINT32;
typedef signed  int       INT32;
  
  
// 時間信息結構體
typedef struct
{
 UINT8  second;    /* 0-59 */
 UINT8  minute;     /* 0-59 */
 UINT8  hour;       /* 0-23 */
 UINT8  day;       /* 1-31 */
 UINT8  month;      /* 1-12 */
 UINT16 year;       /* 1994-2099 */
 UINT8  week;       /* 1-7 */
 UINT8  Count10ms; /* 0-99 */
} ClockStruc;
  
  
// 函數聲明
void GetCurTime(ClockStruc *pCurrentTime);              // 獲取當前時間
INT32 CreateSerial(UINT8 *pSerialID, UINT32 iSerialSize);   // 創建序列號
INT32 main(void);                                       // 主函數
  
  
/**********************************************************************
* 功能描述: 獲取當前時間                      
* 輸入參數: 無
* 更多精彩內容:http://www.bianceng.cn/Programming/C/                      
* 輸出參數: pCurrentTime-當前時間結構體               
* 返 回 值: 無                           
* 其它說明: 無                           
* 修改日期   版本號   修改人     修改內容         
* ----------------------------------------------------------------------------
* 20140603    V1.0  Zhou Zhaoxiong    創建          
**********************************************************************/
void GetCurTime(ClockStruc *pCurrentTime)
{
  SYSTEMTIME tCurrentTime;
  
  GetLocalTime(&tCurrentTime);
  
  pCurrentTime->month   = (UINT8)tCurrentTime.wMonth;
  pCurrentTime->day    = (UINT8)tCurrentTime.wDay;
  pCurrentTime->hour   = (UINT8)tCurrentTime.wHour;
  pCurrentTime->minute  = (UINT8)tCurrentTime.wMinute;
  pCurrentTime->second  = (UINT8)tCurrentTime.wSecond;
  pCurrentTime->week   = (UINT8)tCurrentTime.wDayOfWeek;
  if (pCurrentTime->week == 0)     // 表示星期天
  {
    pCurrentTime->week = 7;
  }
}
  
  
/**********************************************************************
* 功能描述: 創建序列號
* 輸入參數: iSerialSize: 序列號長度
* 輸出參數: pSerialID: 序列號
* 返 回 值: 0-成功 -1-失敗
* 其它說明: 序列號的樣式: MMDDHHMINSS_XXXXXX
* 修改日期     版本號      修改人     修改內容
* --------------------------------------------------------------
* 20140603      V1.0     Zhou Zhaoxiong   創建
***********************************************************************/
INT32 CreateSerial(UINT8 *pSerialID, UINT32 iSerialSize)
{
  ClockStruc  tClock  = {0};
  static UINT32 iTailNum = 0;
    
  if (NULL == pSerialID)
  {
    printf("CreateSerial: input parameter is NULL.\n");
    return -1;
  }
  
  GetCurTime(&tClock);
  
  
  _snprintf((char *)pSerialID, iSerialSize, "%02d%02d%02d%02d%02d_%06d",
       tClock.month, tClock.day, tClock.hour, tClock.minute, tClock.second, iTailNum);
  
  
  iTailNum ++;
  if (iTailNum > 999999)
  {
    iTailNum = 0;
  }
  
  return 0;
}
  
  
/****************************************************************
* 功能描述: 主函數                      
* 輸入參數: 無                        
* 輸出參數: 無                        
* 返 回 值: 0-執行成功 -1-執行失敗              
* 其他說明: 無                        
* 修改日期    版本號    修改人    修改內容
* ------------------------------------------------------------------------
* 20140603     V1.0   Zhou Zhaoxiong   創建
****************************************************************/
INT32 main(void)
{
  UINT32 iLoopFlag   = 0;   // 該變量用于表示循環標志
  INT32 iRetValue   = 0;    // 該變量用于表示調用CreateSerial函數返回的值
  UINT8 szSerialID[50] = {0};  // 該變量用于存放生成的序列號
    
  // 生成10個序列號, 并打印出來
  for (iLoopFlag = 0; iLoopFlag < 10; iLoopFlag ++)
  {
    iRetValue = CreateSerial(szSerialID, sizeof(szSerialID));
    if (iRetValue != 0)
    {
      printf("exec CreateSerial failed.\n");
      return -1;
    }
      
    printf("第%d個序列號為: %s\n", iLoopFlag + 1, szSerialID);
  }
  
  return 0;
}

程序運行的結果如下圖所示:

C程序中唯一序列號的生成實例詳解

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰县| 绥化市| 永嘉县| 大安市| 岳阳市| 会同县| 扎赉特旗| 壤塘县| 城口县| 新民市| 旬阳县| 土默特左旗| 高雄市| 兴业县| 亚东县| 赤峰市| 铜鼓县| 徐闻县| 喜德县| 滦南县| 游戏| 鄂托克前旗| 靖安县| 南澳县| 许昌市| 合川市| 冷水江市| 内江市| 连江县| 新昌县| 博湖县| 沅陵县| 石景山区| 密云县| 汝南县| 锡林郭勒盟| 沁水县| 宾阳县| 秭归县| 图木舒克市| 赣州市|