亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? listc.c

?? 嵌入式系統軟件教程里的源碼和一個UC_OS的實時操作系統實現.
?? C
字號:
/*$TITLE=Program to list C source files*/
/*
*********************************************************************************************************
*                                               LISTC
*
*                                   Program to list C source files.
*
*
*
* Filename     : LISTC.C
* Programmer(s): Jean J. Labrosse
*********************************************************************************************************
*
*
* Program use :
*
*        LISTC filename.ext [>destination]
*
*        where :
*
*             filename.ext        Is the name of the file to list (with extension)
*             [>destination]      Is the destination of the listed file, it can be:
*                                      >PRN        for the printer
*                                      >file.ext   for redirecting it to a file
*
* Note: This program is compiled using the Borland International C++ compiler Version 3.0
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                              INCLUDES
*********************************************************************************************************
*/

#include <STDIO.H>
#include <STRING.H>
#include <DOS.H>

/*$PAGE*/
/*
*********************************************************************************************************
*                                          LOCAL CONSTANTS
*********************************************************************************************************
*/
#define  PRINTER_FORM_FEED        0x0C
#define  PRINTER_COMPRESSED_MODE  "\017"         /* String to set    printer in compressed mode (SI)   */
#define  PRINTER_NORMAL_MODE      "\022"         /* String to return printer to normal     mode (DC2)  */
#define  NUL                      0x00
#define  NULLPTR                  (char *)0

#define  TRUE                        1
#define  FALSE                       0


/*
*********************************************************************************************************
*                                         TYPE DECLARATIONS
*********************************************************************************************************
*/

typedef  unsigned char BOOLEAN;


typedef struct cmd {                             /* Special comment COMMANDS structure                 */
    char  *CmdName;                              /* Name of COMMAND                                    */
    void (*CmdFnct)(char *s);                    /* Function to execute when COMMAND is found          */
} CMD;


/*
*********************************************************************************************************
*                                       FUNCTION PROTOTYPES
*********************************************************************************************************
*/

        void    main(int argc, char *argv[]);
static  void    ListcInit(void);
static  BOOLEAN ListcChkCmd(char *s);
static  void    ListcNewPage(char *s);
static  void    ListcChangeTitle(char *s);
static  void    ListcHdr(void);
static  void    ListcGetDate(char *s);
static  void    ListcGetTime(char *s);

/*$PAGE*/
/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/

static  char      ListcInStr[256];               /* Input  String                                      */
static  char      ListcDate[30];                 /* Current Date                                       */
static  char      ListcTime[30];                 /* Current Time                                       */
static  char      ListcFileName[100];            /* File Name                                          */
static  int       ListcLineN;                    /* Line counter                                       */
static  int       ListcPageN;                    /* Page counter                                       */
static  char      ListcTitle[150];               /* Page TITLE                                         */
static  FILE     *ListcSrcFile;                  /* File pointer (Input file)                          */

/*
*********************************************************************************************************
*                                              TABLES
*********************************************************************************************************
*/

static  char     *ListcMonths[] = {              /* Table of MONTHs                                    */
    "",
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"
};


static  CMD  ListcCmdTable[] = {                 /* Table of comment COMMANDS                          */
    {"page",   ListcNewPage},                    /* PAGE break command                                 */
    {"PAGE",   ListcNewPage},
    {"title",  ListcChangeTitle},                /* TITLE command                                      */
    {"TITLE",  ListcChangeTitle},
    {"",       (void (*)())0}
};

/*$PAGE*/
/*
*********************************************************************************************************
*                                          LISTC ENTRY POINT
*********************************************************************************************************
*/

void main(int argc, char *argv[])
{
    if (argc < 2 || argc > 3) {                                      /* Valid number of arguments ?    */
        fprintf(stdout, "\n\n");
        fprintf(stdout, "Name of file to print missing, use:\n\n");  /* Display program invocation     */
        fprintf(stdout, "     LISTC filename.ext [>destination]\n");
        return;
    }
    ListcInit();                                                     /* Perform initializations        */
    strcpy(ListcFileName, argv[1]);                                  /* Get file name                  */
    ListcSrcFile = fopen(ListcFileName, "r");                        /* Open file to list              */
    if (ListcSrcFile == NULL) {                                      /* Make sure that file got opened */
        fprintf(stdout, "Cannot open %s.\n", ListcFileName);         /* Display error message          */
        return;
    }
    ListcHdr();                                                      /* Print page header              */
    while (fgets(ListcInStr, 250, ListcSrcFile) != NULL) {           /* Print code                     */
        if (ListcChkCmd(ListcInStr) == FALSE) {                      /* See if input line is a command */
            fprintf(stdout, "%04d  %s", ListcLineN, ListcInStr);
        }
        ListcLineN++;
    }
    fclose(ListcSrcFile);                                            /* Close input file               */
    fprintf(stdout, "%c", PRINTER_FORM_FEED);
    fprintf(stdout, "%s", PRINTER_NORMAL_MODE);                      /* Set printer to normal mode     */
}


/*
*********************************************************************************************************
*                                          INITIALIZE LISTC
*********************************************************************************************************
*/

static void ListcInit(void)
{
    ListcLineN = 1;
    ListcPageN = 1;
    strcpy(ListcTitle, "");                                /* No TITLE when we start                   */
    ListcGetDate(ListcDate);                               /* Get the current date 'Month day, year'   */
    ListcGetTime(ListcTime);                               /* Get the current time 'HH:MM:SS'          */
    fprintf(stdout, "%s", PRINTER_COMPRESSED_MODE);        /* Force printer into compressed mode       */
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                      CHECK FOR LISTC COMMAND
*********************************************************************************************************
*/

static BOOLEAN ListcChkCmd(char *s)
{
    char  *p1;                                                  /* Pointer to command name             */
    char  *p2;                                                  /* Pointer to command buffer           */
    CMD   *ptr;                                                 /* Pointer to table of available cmds  */
    char  cmd[80];                                              /* Buffer to hold the command name     */


    cmd[0] = NUL;
    p1     = strchr(s, '$');                                    /* Look for '$' in string              */
    if (p1 != NULLPTR) {                                        /* See if we found a '$'               */
        p1++;                                                   /* We did, position on next character  */
        p2 = &cmd[0];                                           /* Set up to copy command to buffer    */
        while (*p1 != NUL && strchr(" =*", *p1) == NULLPTR) {   /* Copy cmd until '=', '*', ' ' or NUL */
            *p2++ = *p1++;
        }
        *p2 = NUL;                                              /* Append NUL at end of command        */
        ptr = &ListcCmdTable[0];                                /* Search for command in command table */
        while (ptr->CmdName[0] != NUL) {                        /* Go through the whole command table  */
            if (strcmp(ptr->CmdName, cmd) == 0) {               /* See if we found the cmd to execute  */
                ptr->CmdFnct(p1);                               /* We found the command name,          */
                return (TRUE);                                  /* ... execute the function            */
            } else {
                ptr++;                                          /* Look for next entry in cmd table    */
            }
        }
    }
    return (FALSE);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                    LISTC 'PAGE' COMMAND HANDLER
*********************************************************************************************************
*/

static void ListcNewPage(char *s)
{
    s[0] = s[0];                                           /* Prevent compiler warning                 */
    ListcPageN++;                                          /* Increment the page counter               */
    fprintf(stdout, "%c", PRINTER_FORM_FEED);              /* Issue a form feed                        */
    ListcHdr();                                            /* Make the page header                     */
}


/*
*********************************************************************************************************
*                                  LISTC 'TITLE' COMMAND HANDLER
*********************************************************************************************************
*/

static void ListcChangeTitle(char *s)
{
    char *p1;


    ListcTitle[0] = NUL;                                   /* Initialize the TITLE to empty            */
    p1           = &ListcTitle[0];                         /* Position at beginning of destination     */
    s++;                                                   /* Ignore the '='                           */
    while (*s != NUL && strchr("*", *s) == NULLPTR) {      /* Copy command until '*' or NUL            */
        *p1++ = *s++;
    }
    *p1 = NUL;                                             /* Append NUL terminator at end of command  */
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                        PRINT PAGE HEADER
*********************************************************************************************************
*/

static void ListcHdr(void)
{
    fprintf(stdout, "              ");
    fprintf(stdout, "%-15s         ", ListcDate);
    fprintf(stdout, "%-15s         ", ListcTime);
    fprintf(stdout, "%-20s         ", ListcFileName);
    fprintf(stdout, "  Page: %03d\n", ListcPageN);
    if (ListcTitle[0] != NUL) {
        fprintf(stdout, "              %s\n", ListcTitle);      /* Output TITLE if we have a title     */
    }
    fprintf(stdout, "\n\n");
}


/*
*********************************************************************************************************
*                                          GET CURRENT DATE
*********************************************************************************************************
*/

static void ListcGetDate(char *str)
{
    struct date today;                                     /* Structure to hold current date           */


    getdate(&today);                                       /* Function to get the current DATE         */
    sprintf(str, "%s %2d, %4d", ListcMonths[today.da_mon], today.da_day, today.da_year);
}


/*
*********************************************************************************************************
*                                          GET CURRENT TIME
*********************************************************************************************************
*/

static void ListcGetTime(char *str)
{
    struct time now;                                       /* Structure to hold current time           */


    gettime(&now);                                         /* Function to get the current TIME         */
    sprintf(str, "%02d:%02d:%02d", now.ti_hour, now.ti_min, now.ti_sec);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区精品性色| 日本视频一区二区三区| 一级中文字幕一区二区| 日韩av中文字幕一区二区| 成人激情免费网站| 这里只有精品电影| 亚洲女人的天堂| 国产一区二区三区黄视频| 欧洲一区在线电影| 国产精品久久久久久福利一牛影视 | 丁香激情综合国产| 欧美日韩一二三| 国产精品国产三级国产三级人妇 | 日本欧美加勒比视频| 91一区二区在线| 国产精品素人视频| 看电视剧不卡顿的网站| 欧美日韩国产电影| 亚洲日本一区二区三区| 成人免费视频一区| 中文字幕成人av| 国产精品77777| 久久精品亚洲乱码伦伦中文 | 国产一区二区三区| 欧美成人一区二区三区片免费| 一区二区三区视频在线看| 国产iv一区二区三区| 久久蜜桃av一区精品变态类天堂 | 亚洲一区二区三区中文字幕| 岛国精品在线播放| 国产视频一区二区三区在线观看| 美女脱光内衣内裤视频久久网站| 欧美肥妇毛茸茸| 奇米精品一区二区三区四区 | 久久综合中文字幕| 经典三级视频一区| 精品国产乱码久久久久久浪潮| 日本成人中文字幕| 亚洲欧美偷拍另类a∨色屁股| 粉嫩av亚洲一区二区图片| 国产午夜精品福利| 成人免费黄色在线| 亚洲欧洲中文日韩久久av乱码| 色综合天天性综合| 亚洲一区在线视频观看| 在线观看欧美黄色| 日韩高清中文字幕一区| 精品剧情v国产在线观看在线| 国产一区视频导航| 日韩毛片在线免费观看| 色噜噜偷拍精品综合在线| 午夜精品爽啪视频| 日韩女优av电影| 粉嫩av一区二区三区| 亚洲视频在线观看三级| 欧美日韩黄色影视| 国产毛片精品视频| 亚洲天堂免费看| 777a∨成人精品桃花网| 激情丁香综合五月| 亚洲视频一区在线| 欧美一区二区三区性视频| 国产精品一区二区久激情瑜伽| 综合久久久久久| 91精品国产91综合久久蜜臀| 国产福利精品导航| 亚洲激情校园春色| 91精品在线观看入口| 国产成人在线视频网站| 亚洲尤物视频在线| 久久久不卡网国产精品一区| 色婷婷综合五月| 国内精品视频666| 欧美在线制服丝袜| 欧美男男青年gay1069videost| 欧美激情在线一区二区| 国产精品久久久久久妇女6080| 欧美色偷偷大香| av在线这里只有精品| 日本一道高清亚洲日美韩| 中文字幕永久在线不卡| 欧美一级日韩不卡播放免费| 成人国产在线观看| 久久国产精品一区二区| 亚洲黄色免费网站| 国产日韩欧美制服另类| 51精品秘密在线观看| 99热精品一区二区| 国产精品乡下勾搭老头1| 亚洲成av人片www| 亚洲桃色在线一区| 国产精品视频麻豆| 精品福利视频一区二区三区| 欧美三级乱人伦电影| 欧美视频在线观看一区| 蜜桃av噜噜一区| 日本一区二区三区高清不卡 | 精品国产乱码久久久久久久| 老司机精品视频线观看86| 久久久久久久久久看片| 一本大道av伊人久久综合| 亚洲国产综合色| 精品成人私密视频| 92精品国产成人观看免费| 一区二区三区欧美视频| 欧美一区二区女人| 不卡电影免费在线播放一区| 亚洲一线二线三线视频| 久久综合99re88久久爱| 色综合久久久网| 蜜臀av一区二区在线免费观看 | 蜜桃传媒麻豆第一区在线观看| 欧美三级电影精品| 国内偷窥港台综合视频在线播放| 成人app在线观看| 欧美一区二区三区在线看| 国产精品国产成人国产三级| 日韩av一级电影| 欧洲人成人精品| 国产精品免费人成网站| 奇米影视7777精品一区二区| 日本韩国欧美三级| 国产精品久久久久aaaa樱花| 麻豆精品一区二区av白丝在线| 97精品久久久午夜一区二区三区| 精品国产凹凸成av人网站| 美腿丝袜亚洲一区| 宅男噜噜噜66一区二区66| 亚洲国产日韩一级| 欧美日韩在线精品一区二区三区激情 | 亚洲欧美激情视频在线观看一区二区三区| 日本中文字幕一区二区有限公司| 欧美怡红院视频| 亚洲资源在线观看| 91一区在线观看| 中文字幕一区二区三| 成人性生交大片免费看视频在线| 精品精品欲导航| 久久不见久久见免费视频1| 日韩午夜av一区| 秋霞影院一区二区| 欧美v亚洲v综合ⅴ国产v| 久久国内精品视频| 久久久国产一区二区三区四区小说| 精品一区二区三区免费观看| 精品va天堂亚洲国产| 91久久国产综合久久| 亚洲另类一区二区| 欧美三级乱人伦电影| 丝袜脚交一区二区| 精品久久国产97色综合| 国产宾馆实践打屁股91| 中文久久乱码一区二区| 91美女片黄在线观看91美女| 亚洲国产sm捆绑调教视频| 欧美丰满少妇xxxbbb| 国模套图日韩精品一区二区| 国产欧美一区二区精品性| 99久久99久久精品国产片果冻| 亚洲免费观看高清在线观看| 欧美色图在线观看| 九色porny丨国产精品| 欧美韩国日本不卡| 欧美在线观看一区二区| 久久精品999| 成人免费一区二区三区视频 | 91精品一区二区三区在线观看| 久久精品国产在热久久| 国产精品久久久久久亚洲伦| 色偷偷88欧美精品久久久| 日韩精品一区第一页| 中文字幕不卡在线| 欧美一区二区三区白人| 成人动漫一区二区| 日韩av高清在线观看| 国产精品久久久久影视| 91麻豆精品国产自产在线观看一区 | 成人午夜视频在线观看| 亚洲第一福利视频在线| 亚洲国产精品av| 欧美一区二区三区免费观看视频| 成人免费va视频| 久久国产麻豆精品| 狠狠色丁香久久婷婷综合_中| 亚洲欧美一区二区久久| 久久久久久夜精品精品免费| 欧美日韩在线观看一区二区| 国产精品一品视频| 日本不卡在线视频| 亚洲最大色网站| 国产精品女同一区二区三区| 日韩精品一区二区三区在线观看 | 蜜桃视频在线一区| 亚洲一区二区不卡免费| 国产精品成人一区二区艾草| 精品粉嫩超白一线天av| 日韩一区二区三| 欧美一区三区二区| 欧美日韩精品一区二区在线播放| 99视频国产精品|