欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

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

程序如下:

* 修改記錄1:// 修改歷史記錄, 包括修改日期、版本號、修改人及修改內(nèi)容
* 修改日期: 20140603
* 版 本 號: V1.0
* 修 改 人: Zhou Zhaoxiong
* 修改內(nèi)容: 創(chuàng)建
**********************************************************************/
  
#include <afxinet.h>
  
// 數(shù)據(jù)類型
typedef unsigned char    UINT8;
typedef unsigned char    UINT16;
typedef unsigned int      UINT32;
typedef signed  int       INT32;
  
  
// 時間信息結(jié)構(gòu)體
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;
  
  
// 函數(shù)聲明
void GetCurTime(ClockStruc *pCurrentTime);              // 獲取當(dāng)前時間
INT32 CreateSerial(UINT8 *pSerialID, UINT32 iSerialSize);   // 創(chuàng)建序列號
INT32 main(void);                                       // 主函數(shù)
  
  
/**********************************************************************
* 功能描述: 獲取當(dāng)前時間                      
* 輸入?yún)?shù): 無
* 更多精彩內(nèi)容:http://www.bianceng.cn/Programming/C/                      
* 輸出參數(shù): pCurrentTime-當(dāng)前時間結(jié)構(gòu)體               
* 返 回 值: 無                           
* 其它說明: 無                           
* 修改日期   版本號   修改人     修改內(nèi)容         
* ----------------------------------------------------------------------------
* 20140603    V1.0  Zhou Zhaoxiong    創(chuàng)建          
**********************************************************************/
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;
  }
}
  
  
/**********************************************************************
* 功能描述: 創(chuàng)建序列號
* 輸入?yún)?shù): iSerialSize: 序列號長度
* 輸出參數(shù): pSerialID: 序列號
* 返 回 值: 0-成功 -1-失敗
* 其它說明: 序列號的樣式: MMDDHHMINSS_XXXXXX
* 修改日期     版本號      修改人     修改內(nèi)容
* --------------------------------------------------------------
* 20140603      V1.0     Zhou Zhaoxiong   創(chuàng)建
***********************************************************************/
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;
}
  
  
/****************************************************************
* 功能描述: 主函數(shù)                      
* 輸入?yún)?shù): 無                        
* 輸出參數(shù): 無                        
* 返 回 值: 0-執(zhí)行成功 -1-執(zhí)行失敗              
* 其他說明: 無                        
* 修改日期    版本號    修改人    修改內(nèi)容
* ------------------------------------------------------------------------
* 20140603     V1.0   Zhou Zhaoxiong   創(chuàng)建
****************************************************************/
INT32 main(void)
{
  UINT32 iLoopFlag   = 0;   // 該變量用于表示循環(huán)標(biāo)志
  INT32 iRetValue   = 0;    // 該變量用于表示調(diào)用CreateSerial函數(shù)返回的值
  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;
}

程序運行的結(jié)果如下圖所示:

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

上一篇:linux 匿名管道實例詳解

欄    目:C語言

下一篇:C++中小數(shù)點輸出格式(實例代碼)

本文標(biāo)題:C程序中唯一序列號的生成實例詳解

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1440.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有