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

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

?? i18n.c

?? linux下的串口工具
?? C
字號:
/***********************************************************************//* i18n.c                                                              *//* ------                                                              *//*           GTKTerm Software                                          *//*                      (c) Julien Schmitt                             *//*                      julien@jls-info.com                            *//*                                                                     *//* ------------------------------------------------------------------- *//*                                                                     *//*   Purpose                                                           *//*      UTF-8 conversion to print in the console                       *//*                                                                     *//*   ChangeLog                                                         *//*      - 0.99.2 : file creation by Julien                             *//*                 function iconv_from_utf8_to_locale is based         *//*                 on hddtemp 0.3 source code                          *//*                                                                     *//***********************************************************************/#include <stdio.h>#include <stdlib.h>#include <iconv.h>#include <langinfo.h>#include <locale.h>#include <string.h>#include <errno.h>#include <stdarg.h>#include <glib.h>static char *iconv_from_utf8_to_locale(const char *str, const char *fallback_string){  const char *charset;  iconv_t cd;  size_t nconv;  char *buffer, *old_buffer;  char *buffer_ptr;  char *string_ptr;  char *string;  const size_t buffer_inc = 80; // Increment buffer size in 80 bytes step  size_t buffer_size;  size_t buffer_size_left;  size_t string_size;  // Get the current charset  charset = nl_langinfo(CODESET);  if(strcmp(charset, "UTF-8") == 0)    return g_strdup(str);  // Open iconv descriptor  cd = iconv_open(charset, "UTF-8");  if (cd == (iconv_t) -1)    return g_strdup(fallback_string);  // Set up the buffer  buffer_size = buffer_size_left = buffer_inc;  buffer = (char *) malloc(buffer_size + 1);  if (buffer == NULL)    return g_strdup(fallback_string);  buffer_ptr = buffer;  string = g_strdup(str);  string_ptr = string;  string_size = strlen(string);  // Do the conversion  while (string_size != 0)  {    nconv = iconv(cd, &string_ptr, &string_size, &buffer_ptr, &buffer_size_left);    if (nconv == (size_t) -1)    {      if (errno != E2BIG)                 // if translation error      {        iconv_close(cd);                  // close descriptor        free(buffer);                     // free buffer	free(string);        return g_strdup(fallback_string); // and return fallback string      }      // increase buffer size      buffer_size += buffer_inc;      buffer_size_left = buffer_inc;      old_buffer = buffer;      buffer = (char *) realloc(buffer, buffer_size + 1);      if (buffer == NULL)	{	  free(string);	  return g_strdup(fallback_string);	}      buffer_ptr = (buffer_ptr - old_buffer) + buffer;    }  }  *buffer_ptr = '\0';  iconv_close(cd);  free(string);  return buffer;}int i18n_printf(const char *format, ...){  char *new_format;  int return_value;  va_list args;  new_format = iconv_from_utf8_to_locale(format, "");  if(new_format != NULL)    {      va_start(args, format);      return_value = vprintf(new_format, args);      va_end(args);      free(new_format);    }  else    return_value = 0;  return return_value;}int i18n_fprintf(FILE *stream, const char *format, ...){  char *new_format;  int return_value;  va_list args;  new_format = iconv_from_utf8_to_locale(format, "");  if(new_format != NULL)    {      va_start(args, format);      return_value = vfprintf(stream, new_format, args);      va_end(args);      free(new_format);    }  else    return_value = 0;  return return_value;}void i18n_perror(const char *s){  char *conv_string;  int errno_backup;  errno_backup = errno;  conv_string = iconv_from_utf8_to_locale(s, "");  if(conv_string != NULL)    {      fprintf(stderr, "%s: %s\n", conv_string, strerror(errno_backup));      free(conv_string);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色综合| 欧美日韩一区国产| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩1234| 亚洲国产精品成人久久综合一区| 天天做天天摸天天爽国产一区 | 成人一级片在线观看| 欧美日韩国产乱码电影| 国产精品情趣视频| 免费高清视频精品| 精品视频999| 综合网在线视频| 国产成人av网站| 日韩欧美的一区二区| 性做久久久久久久久| 色婷婷av一区二区三区之一色屋| 久久久精品国产免大香伊| 日韩中文字幕区一区有砖一区 | 欧美日韩精品欧美日韩精品| 中文字幕在线一区免费| 国产精品综合二区| 91精品国产综合久久久久久久| 一区二区三区免费网站| 本田岬高潮一区二区三区| www一区二区| 国产一区二区0| 国产亚洲一区字幕| 国产一区二区三区四| 精品少妇一区二区三区在线视频| 免费观看久久久4p| 欧美成人精品二区三区99精品| 免费观看在线色综合| 精品欧美黑人一区二区三区| 美国十次了思思久久精品导航| 欧美一级免费观看| 奇米精品一区二区三区在线观看| 这里是久久伊人| 精品一区二区三区香蕉蜜桃| 日韩欧美亚洲国产精品字幕久久久| 青青青伊人色综合久久| 欧美电视剧在线看免费| 国产在线视频不卡二| xfplay精品久久| 成人午夜看片网址| 国产精品乱子久久久久| 成人午夜精品在线| 国产精品麻豆99久久久久久| 国产99久久久国产精品| 中文字幕欧美日韩一区| 北条麻妃国产九九精品视频| 国产香蕉久久精品综合网| 国产乱人伦偷精品视频不卡| 久久综合九色综合欧美98| 黄网站免费久久| 久久香蕉国产线看观看99| 久久国产三级精品| 久久精品一区二区三区四区| 成人毛片在线观看| 亚洲素人一区二区| 在线免费视频一区二区| 性感美女极品91精品| 久久婷婷国产综合精品青草| 国产酒店精品激情| 国产精品久久久久天堂| 色偷偷久久一区二区三区| 亚洲综合男人的天堂| 在线综合亚洲欧美在线视频| 久久99久久久欧美国产| 国产精品久久久久久福利一牛影视 | 91麻豆国产福利在线观看| 亚洲精品中文在线| 51精品秘密在线观看| 久久国内精品视频| 中文字幕成人av| 欧美亚洲动漫精品| 久久国产视频网| 亚洲欧洲精品成人久久奇米网| 在线欧美日韩精品| 韩国女主播成人在线| 国产精品人人做人人爽人人添| 欧美日韩成人一区| 国产成人无遮挡在线视频| 一区二区三区视频在线看| 欧美日韩三级一区| 国产一区二区在线视频| 亚洲三级理论片| 精品国产伦一区二区三区免费| 成人午夜视频免费看| 丝袜脚交一区二区| 中文字幕乱码久久午夜不卡 | 久久99热这里只有精品| 久久综合九色综合97婷婷女人 | 精品国产青草久久久久福利| 国产精品系列在线播放| 国产精品毛片高清在线完整版| 欧美一区二区三区视频免费播放| 国产aⅴ综合色| 天天综合色天天综合| 国产精品亲子乱子伦xxxx裸| 欧美视频一区在线| 成人综合在线网站| 老司机午夜精品| 国产精品久久久久久久裸模| 日韩午夜精品电影| 欧洲视频一区二区| 粉嫩久久99精品久久久久久夜| 丝袜美腿亚洲综合| 亚洲另类一区二区| 国产午夜精品一区二区| 69堂亚洲精品首页| 欧美午夜电影在线播放| 成人福利视频网站| 国产一区二区在线看| 亚洲国产美女搞黄色| 亚洲人亚洲人成电影网站色| 国产欧美精品一区| 欧美大片在线观看一区| 91精品国产高清一区二区三区| 在线中文字幕不卡| 99国产精品一区| 波多野结衣视频一区| 国产成人av福利| 精品一区二区三区在线播放视频| 亚洲va欧美va国产va天堂影院| 亚洲第四色夜色| 夜夜夜精品看看| 一区二区三区美女| 综合久久久久久久| 国产精品国产三级国产aⅴ无密码| 久久网站热最新地址| 26uuu国产在线精品一区二区| 欧美一级免费观看| 欧美不卡激情三级在线观看| 日韩欧美在线123| 欧美久久一二三四区| 精品第一国产综合精品aⅴ| 3d成人动漫网站| 欧美大度的电影原声| 日韩欧美亚洲国产另类| 精品国产成人系列| 国产欧美日韩卡一| 中国色在线观看另类| 亚洲欧洲日韩av| 亚洲欧美成人一区二区三区| 亚洲精品高清视频在线观看| 亚洲综合激情另类小说区| 日韩中文字幕区一区有砖一区 | 日韩一区二区视频在线观看| 日韩亚洲欧美成人一区| 久久婷婷色综合| 亚洲女与黑人做爰| 亚洲一区二区精品久久av| 青娱乐精品在线视频| 国产一区二区三区免费播放| 成人午夜av电影| 91视频免费播放| 欧美在线免费播放| 日韩午夜电影在线观看| 久久天天做天天爱综合色| 综合久久国产九一剧情麻豆| 亚洲精品一区二区三区蜜桃下载| 亚洲欧洲日韩综合一区二区| 亚洲一区自拍偷拍| 极品少妇xxxx偷拍精品少妇| 99免费精品视频| 911精品产国品一二三产区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 午夜国产精品影院在线观看| 蜜臀久久久久久久| 国产91综合网| 欧美日韩亚洲综合在线| 久久综合狠狠综合| 亚洲人快播电影网| 麻豆精品国产91久久久久久| 成人污污视频在线观看| 欧美三级中文字幕在线观看| 国产网站一区二区三区| 午夜久久久久久久久久一区二区| 麻豆免费看一区二区三区| 欧美影片第一页| 中文天堂在线一区| 日本成人在线不卡视频| 懂色中文一区二区在线播放| 欧美剧情片在线观看| 亚洲欧洲成人av每日更新| 美脚の诱脚舐め脚责91 | 日韩和欧美的一区| 91麻豆福利精品推荐| 国产亚洲欧美一级| 日本女优在线视频一区二区| 99久久国产综合精品色伊| 欧美白人最猛性xxxxx69交| 亚洲影视在线播放| 国产mv日韩mv欧美| 欧美一级一区二区| 亚洲国产成人91porn| 91热门视频在线观看| 久久精品视频免费| 国产一区亚洲一区| 精品日本一线二线三线不卡|