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

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

?? w_wrap.c

?? 由8051/8096/8099/8048單片機匯編工具、 匯編語言、摩托羅拉m68HC11、m680x0系列匯編語言、inter8051單片機匯編語言、dos未公開的秘密、windows進程控制、圖
?? C
字號:
/* w_wrap.c */

/*
**  This is an attempt at a useful word-wrap function.  It is given an array
**  of characters ( a string ) and it modifies the string, replacing any
**  new-lines found with spaces and placing new-lines where needed to make
**  lines of the width specified, placing them only where there was previously
**  white-space. ( ie. Words are not split across lines. )  At the present
**  time it is rather stupid. 1) It doesn't know enough to split a line at an
**  existing hyphen.  2) It has no clue about how to hyphenate words.  3) It
**  makes no attempt at dealing intelligently with a singly word longer than
**  the specified line length 4) It does not deal intelligently with multiple
**  spaces new-lines, etc. ( eg. has no clue of paragraph seperation, etc. )
**  OTOH, it does deal well with unformatted, left justified text.
**
**  Tabs will be considered the size specified.  Note that word_wrap() does
**  not actually expand tabs.  This is only to inform it of the number of
**  spaces the output device will expand them to, so it will know how much
**  they expand a line.  The only time word_wrap does anything with tabs, is
**  if the tab size is set to zero, in which case each tab is replaced with a
**  single space character.  This often provides the most useful output, since
**  tabs will often be in the wrong places after re-formatting, and is
**  therfore the default.
**
**
**  Publicly available contents:
**
**      char *word_wrap(char *string,long line_len);
**          Does the actual word-wrapping, as described above;
**          Parameters:
**            string:     actual string to work with
**            line_len:   length of lines for output
**          Returns:        pointer to justified string.
**
**          void set_tab_size(int size);
**            Set the number of spaces that tabs will be expanded to on output
**            default tab size is zero. (each tab replaced with a space char )
**            word_wrap does not actually expand tabs.  This only lets it keep
**            track of how many spaces they take up.  If this is set to
**            zero, each tab will be replaced with a single space.
**
**  Other procedures:
**      int get_word(char *string);
**          returns the number of characters in the next word in string,
**          including leading white-space characters.
**
**  This compiles without warnings and runs with the following compilers:
**      MS Quick C 2.51:
**      Borland C++ 2.0:            either as C or C++
**      GNU C++ 1.39, DOS port:     either as C or C++
**  As far as I know, it uses only portable, standard C constructs.  It should
**  compile and run with little or no modification under nearly any C compiler
**  and environment.
**
**
**  This code was written Nov 16, 1991 by Jerry Coffin.
**  It is hereby placed in the public domain, for free use by any and
**  all who wish to do so, for any use, public, private, or commercial.
*/

#include <stddef.h>
#include <ctype.h>

enum {FALSE,TRUE};

static int tab_size = 0;                  /* size to consider tabs as */

static size_t get_word(char *string);     /* returns size of next word*/

void set_tab_size(size_t size)
{
      tab_size = size;
}

char *word_wrap(char *string, size_t line_len)
{
      size_t len,                         /* length of current word */
             current_len = 0;             /* current length of line */
      size_t start_line = 0;              /* index of beginning if line */

      while (0 != (len = get_word(&string[current_len + start_line])))
      {
            if (current_len + len < line_len)
                  current_len += len;
            else
            {
                  string[start_line+current_len] = '\n';
                  start_line += current_len + 1;
                  current_len = 0;
            }
      }
      return string;
}

static size_t get_word(char *string)
{
      register int i = 0, word_len = 0;

      if (!string[0])
            return 0;
      while (isspace(string[i]))
      {
            if ('\t' == string[i])
            {
                  if (0 == tab_size)
                        string[i] = ' ';
                  else  word_len += tab_size-1;
            }
            else if ('\n' == string[i])
                  string[i]=' ';
            word_len++;
            i++;
      }
      while (string[i] && !isspace(string[i++]))
            word_len++;
      return word_len;
}

#ifdef TEST

#include <stdio.h>
#include "w_wrap.h"

void main(void)
{
      char *string =
            "This is a long line\nto be wrapped by the w_wrap function. "
            "Hopefully, things will work correctly and it will be wrapped "
            "between words.  On the other hand, maybe I should hope that it "
            "doesn't work well so I will have an opportunity\nto learn more "
            "about what I'm doing";

	printf("Here's a string wrapped to 40 columns:\n\n%s\n\n",
		word_wrap(string, 40));
	printf("And here it's wrapped to 72:\n\n%s\n\n",
		word_wrap(string,72));
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品久久久久久久91蜜桃 | 欧美另类videos死尸| 国产一区二区视频在线播放| 蜜乳av一区二区三区| 五月婷婷综合网| 日韩一区欧美二区| 五月婷婷综合激情| 九色|91porny| 狠狠久久亚洲欧美| 国产精品一二二区| 成人久久视频在线观看| 成人爱爱电影网址| 色偷偷久久人人79超碰人人澡| 91香蕉国产在线观看软件| 色综合视频一区二区三区高清| 97se亚洲国产综合在线| 在线观看国产精品网站| 91精品麻豆日日躁夜夜躁| 欧美成人一区二区| 中文字幕的久久| 一区二区三区自拍| 免费日韩伦理电影| 成人一区二区视频| 一本色道久久综合亚洲91| 欧美偷拍一区二区| 日韩欧美精品在线| 国产精品福利一区二区| 午夜精品福利视频网站| 精品一区二区免费看| av动漫一区二区| 7777精品久久久大香线蕉| 久久嫩草精品久久久精品| 中文字幕一区二区三区色视频| 亚洲乱码中文字幕| 精品一区精品二区高清| 97国产一区二区| 精品国产乱子伦一区| 国产精品久久777777| 日本欧美大码aⅴ在线播放| 成人免费va视频| 欧美人狂配大交3d怪物一区 | 国产女人18毛片水真多成人如厕| 中文字幕一区在线| 理论电影国产精品| 色狠狠一区二区| 国产视频一区二区在线| 亚洲福利一区二区三区| 成人网页在线观看| 日韩女优电影在线观看| 一区二区三区中文字幕| 国产精品亚洲专一区二区三区| 欧美三级视频在线播放| 国产精品成人网| 国产激情91久久精品导航| 欧美亚日韩国产aⅴ精品中极品| 久久久久久99久久久精品网站| 亚洲电影第三页| 一本到不卡精品视频在线观看| 精品日韩一区二区| 日韩中文欧美在线| 欧美在线观看你懂的| 国产精品久久久久影院亚瑟| 久久99国产精品麻豆| 欧美巨大另类极品videosbest | 日韩免费一区二区| 亚洲成a人v欧美综合天堂下载| 成人av动漫在线| 中文字幕av一区二区三区免费看| 国产专区欧美精品| 久久品道一品道久久精品| 蜜桃av一区二区| 欧美精品在线观看一区二区| 亚洲猫色日本管| 色综合色综合色综合色综合色综合 | 4438x亚洲最大成人网| 亚洲在线一区二区三区| 91啦中文在线观看| 亚洲精品欧美综合四区| 91美女精品福利| 亚洲欧美经典视频| 97久久精品人人做人人爽50路| 国产精品污网站| 成人污污视频在线观看| 国产精品伦理在线| 色一情一乱一乱一91av| 一区二区在线观看视频| 欧美艳星brazzers| 性久久久久久久| 日韩一级二级三级| 国产一区激情在线| 国产精品青草久久| 日韩精品中文字幕在线一区| 日韩av电影免费观看高清完整版在线观看| 欧美色视频一区| 麻豆精品视频在线观看免费| 日韩欧美成人激情| 成人精品鲁一区一区二区| 亚洲欧美国产三级| 制服.丝袜.亚洲.中文.综合| 精东粉嫩av免费一区二区三区| 久久久777精品电影网影网| 91一区二区三区在线观看| 一个色在线综合| 亚洲精品一区二区三区在线观看| 国产一区视频导航| 亚洲精品网站在线观看| 在线成人高清不卡| 成人午夜电影网站| 一区二区三区电影在线播| 日韩色视频在线观看| 大白屁股一区二区视频| 亚洲一线二线三线视频| 精品国产一区二区三区四区四 | 日韩欧美中文字幕制服| 成人精品高清在线| 日本不卡免费在线视频| 欧美激情一区二区三区四区| 欧美视频在线一区| 国产999精品久久久久久绿帽| 亚洲国产一区视频| 中文字幕久久午夜不卡| 欧美精品在线观看一区二区| 北条麻妃国产九九精品视频| 日韩电影免费一区| 亚洲靠逼com| 中文一区在线播放| 日韩欧美一区二区在线视频| 91美女在线观看| 盗摄精品av一区二区三区| 岛国一区二区在线观看| 日本中文在线一区| 亚洲黄色片在线观看| 中文字幕av在线一区二区三区| 欧美一区二区啪啪| 欧美午夜不卡视频| 色综合久久中文字幕| 国产成人啪午夜精品网站男同| 日本va欧美va瓶| 一区二区欧美国产| 亚洲天堂中文字幕| 国产精品免费观看视频| 久久久午夜精品理论片中文字幕| 欧美久久久久久久久久| 欧美午夜不卡视频| 在线亚洲高清视频| 色综合激情久久| 94色蜜桃网一区二区三区| 成人自拍视频在线| 成人一级视频在线观看| 国产suv一区二区三区88区| 韩国成人福利片在线播放| 精品一区二区三区视频 | 国产综合成人久久大片91| 蜜桃久久av一区| 激情小说亚洲一区| 韩国成人精品a∨在线观看| 久久99国产精品尤物| 国产一区在线观看麻豆| 国产一二精品视频| 成人性视频免费网站| 成人免费毛片片v| 色综合中文字幕国产 | 精品久久久久久最新网址| 日韩亚洲欧美一区| 久久这里只有精品视频网| 精品99久久久久久| 欧美国产成人在线| 综合久久一区二区三区| 一区二区三区美女| 日韩制服丝袜av| 国产一区二区不卡老阿姨| 大白屁股一区二区视频| 日本韩国欧美一区| 3d动漫精品啪啪1区2区免费| 精品毛片乱码1区2区3区| 国产亚洲精久久久久久| 国产精品久久久久影院| 亚洲一区二区三区精品在线| 青青青伊人色综合久久| 国产福利一区二区三区视频| 92国产精品观看| 欧美一级欧美三级在线观看 | 亚洲精品中文在线| 亚洲综合偷拍欧美一区色| 日韩国产欧美视频| 国产成人精品免费一区二区| 色综合天天综合| 日韩欧美色综合网站| 中文字幕一区二区三区视频| 三级欧美韩日大片在线看| 国产成人精品免费视频网站| 在线视频综合导航| 久久久国际精品| 亚洲综合偷拍欧美一区色| 国产精品一区二区三区99| 欧美在线免费播放| 国产精品网站在线观看| 日韩av电影免费观看高清完整版在线观看 | 亚洲午夜电影在线| 国产99久久久精品|