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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chbytes.c

?? 匯編源代碼大全
?? C
字號:
/*
**  CHBYTES.C - Change bytes in a file
**
**  This program searches a file for a sequence of bytes. If they are
**  found, they are replaced with zeros. It was originally developed for
**  a friend who needed a program to call from Paradox to remove printer
**  control sequences from formatted print files. The requirements were
**  1) since it is called by another program, all status has to be returned
**  in the errorlevel with no screen messages allowed, and 2) The file must
**  remain the same length, so the deleted sequences must only be replaced
**  with ASCII NULs.
**
**  Syntax: CHBYTES filename pattern_1 [pattern_2 [...pattern_N]]
**  where:  Each pattern is a comma-separated list of bytes, each of which
**          may be of the following forms:
**          C    - Any single character will be treated as literal.
**          XXh  - "XX" will be interpreted as a hexidecimal number (both
**                 1- and 2-digit hex numbers are allowed).
**          NNNd - "NNN" will be interpreted as a decimal number (both
**                 1-, 2-, and 3-digit decimal numbers are allowed).
**
**  e.g.    CHBYTES printer.fil 12d 1bh,[,3,x
**          would zero out form feeds and the escape sequence "[3x"
**
**  Returns: 0 - Success
**           1 - No filename
**           2 - No arguments
**           3 - Error opening file
**           4 - Not enough memory
**           5 - Bad argument
**           6 - Error reading file
**           7 - Error writing file
**
**  Public domain by Bob Stout
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#ifdef __ZTC__
 int _okbigbuf = 0;
#endif

#define LAST_CHAR(s) (((char *)(s))[strlen((char *)(s)) - 1])

#ifndef max
 #define max(x,y) (((x) >= (y)) ? (x) : (y))
#endif

typedef enum {ERROR = -1, SUCCESS, FALSE = 0, TRUE} LOGICAL;

int bufsize;

struct {
      char pattern[40];                         /* pattern to find      */
      int numbytes;                             /* length of pattern    */
} search[40];

int main (int argc, char *argv[])
{
      FILE *fp  = NULL;
      char *buf = NULL, *getbuf(void);
      fpos_t rpos;
      int i, patterns, max_bytes = 0;
      LOGICAL hex2char(const char *, char *);

      if (2 > argc)                             /* no filename          */
            return 1;
      if (3 > argc)                             /* no argument          */
            return 2;
      if (NULL == (fp = fopen(argv[1], "r+b")))
            return 3;                           /* file open error      */
      if (NULL == (buf = getbuf()))
            return 4;                           /* no memory for buffer */

      patterns = argc - 2;                      /* process arguments    */
      for (i = 2; i < argc; ++i)
      {
            char *p, *ptr;

            if (NULL != (ptr = strtok(argv[i], ",")))
            {
                  p = search[i - 2].pattern;
                  do
                  {
                        search[i - 2].numbytes++;
                        if (1 == strlen(ptr))
                        {
                              *p++ = *ptr;
                              continue;
                        }
                        switch (toupper(LAST_CHAR(ptr)))
                        {
                        case 'D':
                              LAST_CHAR(ptr) = '\0';
                              *p++ = (char)atoi(ptr);
                              break;
                        case 'H':
                              LAST_CHAR(ptr) = '\0';
                              if (ERROR == hex2char(ptr, p++))
                                    return 5;
                              break;
                        default:
                              return 5;
                        }
                  } while (NULL != (ptr = strtok(NULL, ",")));
                  *p = '\0';
                  max_bytes = max(max_bytes, search[i - 2].numbytes);
            }
            else  return 5;
      }

      fgetpos(fp, &rpos);                       /* save where we are    */
      while (1)
      {
            int bytes, n;
            LOGICAL modified;

            if (max_bytes > (bytes = (int)fread(buf, 1, bufsize, fp)))
            {
                  if (0 == bytes && !feof(fp))
                        return 6;               /* something's wrong!   */
                  else  break;                  /* all done!            */
            }
            for (n = 0, modified = FALSE; n < patterns; ++n)
            {
                  /* check each pattern in turn                         */

                  for (i = 0; i < (bytes - max_bytes + 1); ++i)
                  {
                        int j;

                        if (buf[i] != *(search[n].pattern))
                              continue;
                        if (SUCCESS != strncmp(&buf[i],
                              search[n].pattern, search[n].numbytes))
                        {
                              continue;
                        }

                        /* found one! replace it in the buffer          */

                        for (j = 0; j < search[n].numbytes; ++j, ++i)
                              buf[i] = '\0';
                        modified = TRUE;
                  }
            }
            if (modified)                       /* write changes, if any*/
            {
                  fpos_t wpos = rpos;

                  fsetpos(fp, &wpos);
                  if (bytes != (int)fwrite(buf, 1, bytes, fp))
                        return 7;
                  fsetpos(fp, &rpos);
            }
            rpos += bytes - max_bytes + 1;      /* get another buffer   */
            fsetpos(fp, &rpos);
      }
      fclose(fp);
      return SUCCESS;
}

/*
**  Allocate the largest buffer we can
*/

char *getbuf(void)
{
      register char *buffer;

      for (bufsize = 0x4000; bufsize >= 128; bufsize >>= 1)
      {
            if (NULL != (buffer = (char *) malloc(bufsize)))
                  return buffer;
      }
      return NULL;
}

/*
**  Convert ASCII hex char to char
*/

#define xdigit(c) (toupper(c) - (((c) > '9') ? 'A' - 10 : '0'))

LOGICAL hex2char(const char *hex, char *buf)
{
      int ch = 0;
      char *p = (char *)hex;

      while(*p)
      {
            if (!isxdigit(*p))
                  return ERROR;
            ch <<= 4;
            ch  += xdigit(*p);
                ++p;
      }
      *buf = (char)ch;
      return SUCCESS;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人免费电影| 久久人人超碰精品| 日韩影院免费视频| 久久色在线视频| 色婷婷综合久久久中文字幕| 亚洲午夜一区二区三区| 久久久青草青青国产亚洲免观| 色婷婷综合久久久中文一区二区| 国产综合久久久久久久久久久久| 亚洲精品视频在线| www国产成人免费观看视频 深夜成人网| 91网上在线视频| 国产一区二区在线电影| 日本成人中文字幕| 亚洲午夜免费福利视频| 国产精品美日韩| 精品国产免费久久| 91精品国产综合久久福利软件| 色婷婷综合中文久久一本| 大胆亚洲人体视频| 韩国女主播成人在线| 日韩在线一区二区三区| 亚洲综合清纯丝袜自拍| 亚洲精品老司机| 成人午夜视频在线观看| 麻豆一区二区99久久久久| 亚洲国产中文字幕| 一区二区三区日韩在线观看| 国产精品―色哟哟| 国产拍欧美日韩视频二区| 精品国产免费一区二区三区四区 | 一区二区三区欧美日韩| 中文字幕免费不卡在线| 亚洲精品一区二区三区影院| 日韩欧美成人一区| 日韩一级完整毛片| 日韩欧美视频一区| 欧美一区二区三区婷婷月色| 欧美久久高跟鞋激| 欧美性大战xxxxx久久久| 色av成人天堂桃色av| 91免费在线看| 91久久线看在观草草青青| 色哟哟日韩精品| 欧美午夜宅男影院| 欧美日韩免费观看一区二区三区| 在线日韩av片| 欧美日韩一二三区| 欧美美女一区二区| 欧美一区午夜视频在线观看| 欧美一级在线免费| 2020日本不卡一区二区视频| 久久久久久久久久久久久久久99| 国产精品久久国产精麻豆99网站| 91精品办公室少妇高潮对白| 欧美色图在线观看| 3atv一区二区三区| 欧美大胆人体bbbb| 国产午夜亚洲精品不卡| 国产精品毛片无遮挡高清| 国产精品美女一区二区三区| 国产精品网站导航| 亚洲女性喷水在线观看一区| 亚洲综合一区二区精品导航| 午夜私人影院久久久久| 免费人成网站在线观看欧美高清| 韩国三级电影一区二区| 成人高清av在线| 日本久久一区二区| 欧美一区日韩一区| 久久精品一区二区| 一区二区视频在线看| 综合激情成人伊人| 日韩成人免费在线| 狠狠久久亚洲欧美| 99久久99久久免费精品蜜臀| 欧洲精品一区二区三区在线观看| 日韩一区二区在线观看视频 | 欧美日韩精品免费| 欧美va天堂va视频va在线| 亚洲国产精品二十页| 亚洲午夜在线视频| 国产一区二区三区久久久| 色婷婷综合久色| 欧美不卡一二三| 亚洲欧美色一区| 日本不卡视频在线| 91电影在线观看| eeuss鲁一区二区三区| 欧美性猛片xxxx免费看久爱| 91麻豆精品国产91久久久久久| 国产亚洲人成网站| 亚洲成人1区2区| 高清成人免费视频| 欧美日韩国产123区| 国产农村妇女精品| 日韩影院免费视频| 色综合久久久久久久久久久| 欧美不卡一区二区三区四区| 亚洲永久精品大片| 久久精品国产99国产精品| 成人精品gif动图一区| 制服.丝袜.亚洲.另类.中文| 亚洲国产精品av| 奇米亚洲午夜久久精品| 色琪琪一区二区三区亚洲区| 337p日本欧洲亚洲大胆精品| 亚洲大片精品永久免费| 不卡在线视频中文字幕| 精品区一区二区| 亚洲电影你懂得| 91美女精品福利| 国产欧美一区二区精品性| 美女被吸乳得到大胸91| 精品视频1区2区| 日韩一区欧美一区| 久久狠狠亚洲综合| 在线播放亚洲一区| 一区二区三区成人在线视频| 成人精品国产一区二区4080| 国产亚洲精久久久久久| 裸体一区二区三区| 4438x亚洲最大成人网| 亚洲电影激情视频网站| 欧美午夜电影网| 免费高清在线视频一区·| 丝袜a∨在线一区二区三区不卡 | 欧美日韩在线三区| 国产精品欧美极品| 国产乱码精品一区二区三区五月婷| 欧美男人的天堂一二区| 亚洲激情自拍偷拍| 91丝袜呻吟高潮美腿白嫩在线观看| 日本一区二区三区久久久久久久久不 | 日韩小视频在线观看专区| 亚洲电影视频在线| 欧美性三三影院| 亚洲精品日日夜夜| 色狠狠综合天天综合综合| 中文字幕字幕中文在线中不卡视频| 高清日韩电视剧大全免费| 日本一区二区三区免费乱视频| 成人网在线播放| 国产精品入口麻豆原神| 成人国产亚洲欧美成人综合网| 久久久噜噜噜久久中文字幕色伊伊| 国模少妇一区二区三区| 精品国产一区a| 国产乱子伦一区二区三区国色天香| 日韩午夜在线观看| 国产一区二区福利视频| 中文字幕不卡在线观看| 处破女av一区二区| 国产精品久久久久影院亚瑟 | 欧美精品99久久久**| 婷婷激情综合网| 欧美国产日韩一二三区| 中文字幕一区不卡| 91久久精品一区二区二区| 亚洲观看高清完整版在线观看 | 欧美日韩视频专区在线播放| 亚洲chinese男男1069| 91精品国产综合久久精品app | 午夜影院久久久| 日韩欧美国产一区二区三区| 激情伊人五月天久久综合| 国产欧美日韩综合| 色素色在线综合| 久久不见久久见免费视频7| 国产亚洲短视频| 91美女在线看| 日日嗨av一区二区三区四区| 精品国产一区二区三区久久影院| 99久久综合精品| 热久久免费视频| 国产欧美一二三区| 欧美中文字幕一二三区视频| 麻豆成人av在线| 亚洲天堂福利av| 日韩精品专区在线影院重磅| 高清在线成人网| 日韩二区三区四区| 欧美激情综合在线| 欧美日本在线视频| 岛国精品在线观看| 五月天丁香久久| 国产亚洲福利社区一区| 欧美午夜寂寞影院| 国产精品自拍网站| 亚洲va天堂va国产va久| 国产日韩欧美亚洲| 欧美性大战xxxxx久久久| 风间由美中文字幕在线看视频国产欧美| 樱花影视一区二区| 久久久精品免费观看| 日本乱人伦aⅴ精品| 成人性生交大合| 亚洲国产欧美日韩另类综合 | 成人性视频网站| 日韩影院免费视频|