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

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

?? srchfile.c

?? 匯編源代碼大全
?? C
字號:
/*
**  SRCHFILE.C - Functions for searching files
**
**  public domain by Bob Stout
**
**  Note: Although this snippet demonstrates some useful techniques, even
**        the fast text searching algorithm used can't provide particularly
**        good performance. Left as an exercise for the user is to perform
**        explicit buffering using fread() rather than fgets() as is used
**        here. See CHBYTES.C in SNIPPETS for how to perform searches in
**        user-managed buffers.
*/

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

#define SUCCESS 0

/*
**  Allocate a big buffer, use it to buffer a specified stream
*/

static size_t fsetup(FILE *fp, size_t minbuf)
{
      register size_t bufsize;
      register char *buffer;

      /* Allocate the largest buffer we can */

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

      /* Use the buffer to buffer the file */

      if (SUCCESS == setvbuf(fp, buffer, _IOFBF, bufsize))
            return bufsize;
      else  return 0;
}

/*
**  Search a file for a pattern match (forward)
**
**  Arguments: FILE pointer
**             pattern to search for
**             size of pattern
**             find Nth occurance
**
**  Returns: -1L if pattern not found
**           -2L in case of error
*/

long ffsearch(FILE *fp, const char *pattern, const size_t size, int N)
{
      long pos = -2L, tempos = 0L;
      char *sbuf, *p;
      size_t i, skip;
      int ch = 0;

      /* Allocate a search buffer */

      if (NULL == (sbuf = (char *)malloc(size - 1)))
            goto FDONE;

      /* Buffer the file and position us within it */

      if (0 == fsetup(fp, size))
            goto FDONE;
      pos = -1L;
      fseek(fp, 0L, SEEK_SET);

      /* Set up for smart searching */

      if (1 < strlen(pattern) && NULL != (p = strchr(pattern + 1, *pattern)))
            skip = p - (char *)pattern;
      else  skip = strlen(pattern);

      /* Look for the pattern */

      while (EOF != ch)
      {
            if (EOF == (ch = fgetc(fp)))
                  break;
            if ((int)*pattern == ch)
            {
                  tempos = ftell(fp);
                  if (size - 1 > fread(sbuf, sizeof(char), size - 1, fp))
                        goto FDONE;
                  if (SUCCESS == memcmp(sbuf, &pattern[1], size - 1))
                  {
                        if (0 == --N)
                        {
                              pos = tempos - 1L;
                              goto FDONE;
                        }
                  }
                  fseek(fp, tempos + skip, SEEK_SET);
            }
      }

      /* Clean up and leave */

FDONE:
      free(sbuf);
      return pos;
}

/*
**  Search a file for a pattern match (backwards)
**
**  Arguments: FILE pointer
**             pattern to search for
**             size of pattern
**             find Nth occurance
**
**  Returns: -1L if pattern not found
**           -2L in case of error
*/

long rfsearch(FILE *fp, const char *pattern, const size_t size, int N)
{
      long pos = -2L, tempos;
      char *sbuf, *p;
      size_t i, skip;
      int ch = 0;

      /* Allocate a search buffer */

      if (NULL == (sbuf = (char *)malloc(size - 1)))
            goto RDONE;

      /* Buffer the file and position us within it */

      if (0 == fsetup(fp, size))
            goto RDONE;
      pos = -1L;
      fseek(fp, -1L, SEEK_END);
      tempos = ftell(fp) - strlen(pattern);

      /* Set up for smart searching */

      if (1 < strlen(pattern) && NULL != (p = strrchr(pattern + 1, *pattern)))
            skip = strlen(pattern) - (p - (char *)pattern);
      else  skip = strlen(pattern);

      /* Look for the pattern */

      while (0L <= tempos)
      {
            fseek(fp, tempos, SEEK_SET);
            if (EOF == (ch = fgetc(fp)))
                  break;
            if ((int)*pattern == ch)
            {
                  if (size - 1 <= fread(sbuf, sizeof(char), size - 1, fp))
                  {
                        if (SUCCESS == memcmp(sbuf, &pattern[1], size - 1))
                        {
                              if (0 == --N)
                              {
                                    pos = tempos;
                                    goto RDONE;
                              }
                        }
                  }
                  tempos -= skip;
            }
            else  --tempos;
      }

      /* Clean up and leave */

RDONE:
      free(sbuf);
      return pos;
}

#ifdef TEST

void main(int argc, char *argv[])
{
      long pos;
      int N = 1;
      size_t size = strlen(argv[1]);
      char buf[256], *fname = "FILESRCH.C";
      FILE *fp;

      if (2 < argc)
            N = atoi(argv[2]);

      if (3 < argc)
            fname = strupr(argv[3]);

      fp = fopen(fname, "r");
      printf("ffsearch(%s, %s) returned %ld\n", fname, argv[1],
            pos = ffsearch(fp, argv[1], size, N));
      fseek(fp, pos, SEEK_SET);
      fgets(buf, 256, fp);
      printf("...which contains \"%s\"\n\n", buf);
      fclose(fp);

      fp = fopen(fname, "rb");
      printf("rfsearch(%s, %s) returned %ld\n", fname, argv[1],
            pos = rfsearch(fp, argv[1], size, N));
      fseek(fp, pos, SEEK_SET);
      fgets(buf, 256, fp);
      printf("...which contains \"%s\"\n\n", buf);
      fclose(fp);
}

#endif /* TEST */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线不卡视频| 欧美一区二区三区人| 欧美亚洲一区二区在线观看| 日韩女同互慰一区二区| 国产精品激情偷乱一区二区∴| 亚洲伊人伊色伊影伊综合网| 国产成人午夜99999| 6080亚洲精品一区二区| 综合激情成人伊人| 国产精品自在欧美一区| 欧美一区二区三区四区高清| 亚洲欧美日韩一区| 国产盗摄女厕一区二区三区| 日韩一区二区精品在线观看| 亚洲精品免费在线观看| 豆国产96在线|亚洲| 日韩精品一区二区三区在线观看 | 欧美极品少妇xxxxⅹ高跟鞋| 亚洲成a人v欧美综合天堂| 91视频com| 成人欧美一区二区三区小说 | 麻豆久久一区二区| 欧美视频精品在线观看| 亚洲三级免费观看| 成人激情小说乱人伦| 久久久美女毛片| 国产精品亚洲第一区在线暖暖韩国 | 中文字幕在线不卡国产视频| 六月丁香婷婷久久| 日韩亚洲欧美成人一区| 久久99国产精品久久99| 日韩欧美精品在线| 九九热在线视频观看这里只有精品| 欧美日韩国产成人在线91| 亚洲高清一区二区三区| 在线不卡免费av| 日韩av电影免费观看高清完整版 | 在线精品视频免费播放| 亚洲精品老司机| 欧美三级乱人伦电影| 午夜激情一区二区三区| 欧美一区二区三区人| 国产一区二区网址| 久久九九久久九九| 99精品欧美一区二区三区综合在线| 国产精品美女www爽爽爽| av一区二区三区在线| 一区二区三区加勒比av| 欧美剧在线免费观看网站| 久久国产精品无码网站| 久久久99精品久久| 日韩午夜三级在线| 国精品**一区二区三区在线蜜桃| 国产亚洲一区二区在线观看| 成人国产精品免费| 五月激情综合网| 国产日韩一级二级三级| 99r国产精品| 日日欢夜夜爽一区| 精品国产麻豆免费人成网站| 国产aⅴ综合色| 亚洲成人一区二区在线观看| 欧美一区二区三区视频在线| 国产福利一区在线观看| **欧美大码日韩| 欧美一区二区在线观看| 粉嫩在线一区二区三区视频| 亚洲免费在线观看视频| 日韩免费高清电影| 97久久久精品综合88久久| 首页综合国产亚洲丝袜| 国产精品色婷婷| 欧美一区二区三区白人| 成人一级片网址| 日本视频一区二区| 国产精品久久久久久久久搜平片| 欧美丰满美乳xxx高潮www| 成人午夜电影久久影院| 日韩电影一二三区| 中文字幕一区在线观看视频| 欧美一区二区大片| 99re热这里只有精品免费视频| 日本女优在线视频一区二区| 成人免费视频在线观看| 精品国产精品网麻豆系列| 欧美三级三级三级爽爽爽| 成人黄色软件下载| 国产精品影音先锋| 色一情一伦一子一伦一区| 激情丁香综合五月| 日本美女一区二区三区视频| 亚洲欧美日韩久久| 国产清纯白嫩初高生在线观看91 | 一级日本不卡的影视| 久久精品夜夜夜夜久久| 日韩欧美色电影| 91福利在线导航| 色综合网站在线| 成人动漫中文字幕| 国产裸体歌舞团一区二区| 久久精品国产秦先生| 日本亚洲电影天堂| 亚洲二区在线视频| 亚洲综合一二区| 亚洲精品国产视频| 成人欧美一区二区三区白人| 久久精品视频网| 国产人成亚洲第一网站在线播放 | 成人免费在线视频| 国产精品久99| 亚洲欧洲国产日韩| 国产精品剧情在线亚洲| 国产清纯白嫩初高生在线观看91| 久久精品欧美日韩精品| 国产欧美一区二区三区鸳鸯浴| 精品精品国产高清一毛片一天堂| 一区av在线播放| 亚洲韩国一区二区三区| 亚洲乱码国产乱码精品精小说 | 精品国产露脸精彩对白| 久久综合给合久久狠狠狠97色69| 欧美一区二区网站| 666欧美在线视频| 欧美成人精品二区三区99精品| 91精品国产综合久久香蕉麻豆 | 久久精品国产999大香线蕉| 麻豆精品在线看| 国产做a爰片久久毛片| 国产成人免费9x9x人网站视频| 成人性生交大片| 91小视频免费观看| 欧美日韩国产成人在线91| 欧美一区二区国产| 国产日韩av一区| 亚洲一区在线看| 免费观看久久久4p| 粉嫩av一区二区三区| 色婷婷精品大在线视频 | 久久这里只精品最新地址| 日本一区二区三区在线观看| 亚洲欧美经典视频| 奇米色一区二区| av电影一区二区| 777午夜精品免费视频| 日本欧美加勒比视频| 精品一区二区日韩| 色婷婷av一区二区三区软件| 欧美福利一区二区| 国产精品家庭影院| 日韩国产在线观看一区| 成人自拍视频在线观看| 欧美丰满高潮xxxx喷水动漫| 国产精品午夜春色av| 亚洲成a人在线观看| 成人教育av在线| 日韩精品中午字幕| 亚洲一区在线电影| 国产**成人网毛片九色| 51精品视频一区二区三区| 国产精品久久精品日日| 久久99久久精品欧美| 欧美综合亚洲图片综合区| 久久这里只有精品首页| 亚洲成av人片一区二区三区| 99久久精品国产麻豆演员表| 日韩欧美视频在线| 亚洲国产你懂的| 99在线视频精品| 国产日韩欧美电影| 久久国产麻豆精品| 91精品国产综合久久国产大片| 亚洲色图19p| 成人午夜激情视频| 久久伊人蜜桃av一区二区| 日韩在线播放一区二区| 日本韩国视频一区二区| 国产精品久久夜| 粉嫩13p一区二区三区| 久久综合一区二区| 玖玖九九国产精品| 日韩视频中午一区| 日韩高清国产一区在线| 欧美三级中文字幕在线观看| 亚洲人一二三区| 成人av网址在线| 欧美国产综合色视频| 国产精品综合视频| 国产三级精品三级在线专区| 久久成人免费网| 日韩欧美在线网站| 欧美丝袜丝交足nylons| 一级女性全黄久久生活片免费| 99这里只有久久精品视频| 国产精品久久久久久久久动漫| 国产成人av自拍| 中文子幕无线码一区tr| 福利一区福利二区| 国产精品久久久久一区二区三区共| 国产成人8x视频一区二区| 久久综合精品国产一区二区三区|