锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲五月六月,欧美视频免费,小处雏高清一区二区三区http://m.shnenglu.com/sgq116300/category/5548.htmlSun Guoqing鐨凚logzh-cnTue, 20 May 2008 04:07:16 GMTTue, 20 May 2008 04:07:16 GMT60鍐呮牳printf婧愪唬鐮佸垎鏋? http://m.shnenglu.com/sgq116300/articles/36573.htmlsunGuoqinsunGuoqinWed, 14 Nov 2007 04:13:00 GMThttp://m.shnenglu.com/sgq116300/articles/36573.htmlhttp://m.shnenglu.com/sgq116300/comments/36573.htmlhttp://m.shnenglu.com/sgq116300/articles/36573.html#Feedback0http://m.shnenglu.com/sgq116300/comments/commentRss/36573.htmlhttp://m.shnenglu.com/sgq116300/services/trackbacks/36573.html

鎵撳紑Source Insight鏉ラ槄璇籈duOS鐨勬簮浠g爜,鎴戜滑鍦╯tdio.c閲屾壘鍒頒簡printf鐨勫疄鐜頒唬鐮?棣栧厛鐪嬬湅瀵筽rintf鐨勫畾涔?
[code]
int printf (const char *cntrl_string, ...)
[/code]
絎竴涓弬鏁癱ntrl_string鏄帶鍒跺瓧絎︿覆,涔熷氨鏄鉤甯告垜浠啓鍏?d,%f鐨勫湴鏂?绱ф帴鐫鍚庨潰鏄竴涓彉闀垮弬鏁?

鐪嬬湅鍑芥暟澶撮儴鐨勫畾涔?

  [code]int pos = 0, cnt_printed_chars = 0, i;
  unsigned char* chptr;
  va_list ap;[/code]
椹笂鏅?闄や簡ap鎴戜滑鍙互椹笂鍒ゆ柇鍑烘潵鏄敤鏉ヨ鍙栧彉闀垮弬鏁扮殑,i鐢ㄤ簬寰幆鍙橀噺.鍏朵粬鍙橀噺閮戒笉鐭ラ亾鏄庝箞鍥炰簨.涓嶈鐫鎬?鎴戜滑杈圭湅浠g爜杈瑰垎鏋?浠g爜鐨勭涓琛屽繀鐒舵槸

[code]va_start (ap, cntrl_string);[/code]
鐢ㄦ潵鍒濆鍖栧彉闀垮弬鏁?

鎺ヤ笅鏉ユ槸涓涓獁hile寰幆

[code]while (cntrl_string[pos]) {
...
}[/code]

緇撴潫鏉′歡鏄痗ntrl_string[pos]涓篘ULL,鏄劇劧榪欎釜寰幆鏄敤鏉ラ亶鍘嗘暣涓帶鍒跺瓧絎︿覆鐨?鑷劧pos灝辨槸褰撳墠閬嶅巻鍒扮殑浣嶇疆浜?榪涘叆寰幆棣栧厛闂叆瑙嗙嚎鐨勬槸

[code] if (cntrl_string[pos] == '%') {
      pos++;
      ...
 } [/code]

寮闂ㄨ灞?涓婃潵灝卞綋鍓嶅瓧絎︽槸鍚﹀姙鏂槸鍚?.涓鐚滃氨鐭ラ亾濡傛灉鎴愮珛pos++椹笂鍙栧嚭涓嬩竴涓瓧絎﹀湪d,f,l絳夌瓑涔嬮棿榪涜鍒ゆ柇.寰涓嬩竴鐪?鏋滅湡涓嶅嚭鎵鏂?

[code]switch (cntrl_string[pos]) {
    case 'c':
...
    case 's':
...
    case 'i':
...
    case 'd':
...
    case 'u':
...[/code]

鐢ㄤ笂switch-case浜? 蹇熸祻瑙堜竴涓嬩笅闈㈢殑浠g爜.

棣栧厛鐪嬬湅case 'c'鐨勯儴鍒?/p>

[code]case 'c':
 putchar (va_arg (ap, unsigned char));
 cnt_printed_chars++;
 break;[/code]

%c琛ㄧず浠呬粎杈撳嚭涓涓瓧絎?鍥犳鍏堥氳繃va_arg榪涜鍙傛暟鐨勭被鍨嬭漿鎹?涔嬪悗鐢╬utchar[1]杈撳嚭鍒板睆騫曚笂鍘?涔嬪悗鏄?br>cnt_printed_chars++,閫氳繃榪欏彞鎴戜滑灝卞彲浠ュ垽鏂嚭cnt_printed_chars浣跨敤鏉ヨ〃紺?宸茬粡琚玴rintf杈撳嚭鐨勫瓧絎︿釜鏁扮殑.

鍐嶆潵鐪嬬湅 case 's':
[code]      case 's':
 chptr = va_arg (ap, unsigned char*);
 i = 0;
 while (chptr [i]) {
   cnt_printed_chars++;
   putchar (chptr [i++]);
 }
 break;[/code]鍜宑ase 'c',鍚屽嚭涓杈?cnt_printed_chars++鏀懼湪浜嗗驚鐜唴,涔熻瘉鏄庝簡鍒氭墠鎻愬埌鐨勪粬鐨勪綔鐢?鍙﹀鎴戜滑涔熺湅鍒頒簡cnptr鏄敤鏉ュ湪澶勭悊瀛楃涓叉椂鐨勪綅緗寚閽?鍒版涓烘,鎴戜滑娓呮鐨勬墍鏈夊彉閲忕殑鐢ㄩ?鍓嶉斿彉寰楁洿鍔犲厜鏄庝簡.

鎺ヤ笅鏉?
[code]// PartI
      case 'i':
      case 'd':
 cnt_printed_chars += printInt (va_arg (ap, int));
 break;
      case 'u':
 cnt_printed_chars += printUnsignedInt (va_arg (ap, unsigned int));
 break;
      case 'x':
 cnt_printed_chars += printHexa (va_arg (ap, unsigned int), 'x');
 break;
      case 'X':
 cnt_printed_chars += printHexa (va_arg (ap, unsigned int), 'X');
 break;
      case 'o':
 cnt_printed_chars += printOctal (va_arg (ap, unsigned int));
 break;
// Part II
 case 'p':
 putchar ('0');
 putchar ('x');
 cnt_printed_chars += 2; /* of '0x' */
 cnt_printed_chars += printHexa (va_arg (ap, unsigned int), 'x');
 break;
      case '#':
 pos++;
 switch (cntrl_string[pos]) {
 case 'x':
   putchar ('0');
   putchar ('x');
   cnt_printed_chars += 2; /* of '0x' */
   cnt_printed_chars += printHexa (va_arg (ap, unsigned int), 'x');
   break;
 case 'X':
   putchar ('0');
   putchar ('X');
   cnt_printed_chars += 2; /* of '0X' */
   cnt_printed_chars += printHexa (va_arg (ap, unsigned int), 'X');
   break;
 case 'o':
   putchar ('0');
   cnt_printed_chars++;
   cnt_printed_chars += printOctal (va_arg (ap, unsigned int));
   break;[/code]
娉ㄦ剰瑙傚療涓涓?PartII鐨勪唬鐮佸叾瀹炲氨鏄瘮PartI鐨勪唬鐮佸涓涓牱寮?鍦?6榪涘埗鏁版垨鍏繘鍒跺墠鍔犲叆0x鎴栨槸o,絳夌瓑.鍥犳榪欓噷灝卞彧鍒嗘瀽涓涓婸artI鍜?

鍏跺疄浠旂粏鐪嬬湅PartI鐨勪釜鏉ase,涔熷氨鏄妸鍙傛暟鍒嗗彂鍒頒簡鏇村叿浣撶殑鍑芥暟鐢ㄤ簬鏄劇ず,鐒跺悗浠ヨ繑鍥炲肩殑褰㈠紡榪斿洖杈撳嚭涓暟.瀵逛簬榪欎簺鍑芥暟灝變笉鍏蜂綋鍒嗘瀽浜?鎴戜滑鍏堟潵鐪嬬湅涓浜涘杽鍚庡鐞?

鍏堢湅case鐨刣efault澶勭悊.
[code]default:
 putchar ((unsigned char) cntrl_string[pos]);
 cnt_printed_chars++;[/code]灝辨槸鐩存帴杈撳嚭cntrl_string閲?鍙峰悗闈㈢殑鏈煡瀛楃.搴旇鏄竴縐嶅閿欒璁″鐞?

鍐嶇湅鐪媔f (cntrl_string[pos] == '%')鐨別lse閮ㄥ垎
     
[code]else {
      putchar ((unsigned char) cntrl_string[pos]);
      cnt_printed_chars++;
      pos++;
 }[/code]
濡傛灉涓嶆槸%寮澶寸殑,閭d箞鐩存帴杈撳嚭榪欎釜瀛楃.

鏈鍚庡嚱鏁拌繑鍥炲墠
  [code]va_end (ap);
  return cnt_printed_chars;[/code]va_end澶勭悊鍙橀暱鍙傛暟鐨勫杽鍚庡伐浣?騫惰繑鍥炶緭鍑虹殑瀛楃涓暟.

鍦ㄦ渶鍚庢垜浠湁蹇呰璋堣皥putChar鍑芥暟浠ュ強鍩烘湰杈撳嚭鐨勫熀紜鍑芥暟printChar,鍏堟潵鐪嬬湅putChar

[code]int putchar (int c) {
  switch ((unsigned char) c) {
  case '\n' :
    newLine ();
    break;
  case '\r' :
    carriageReturn ();
    break;
  case '\f' :
    clearScreen ();
    break;
  case '\t' :
    printChar (32); printChar (32); /* 32 = space */
    printChar (32); printChar (32);
    printChar (32); printChar (32);
    printChar (32); printChar (32);
    break;
  case '\b':
    backspace ();
    break;
  case '\a':
    beep ();
    break;
  default :
    printChar ((unsigned char) c);
  }
  return c;
}[/code]
閫? 瑙堜竴涓?涔熸槸switch-case涓轟富浣撶殑.涓昏鏄敤鏉ュ簲瀵逛竴浜涚壒孌婂瓧絎?濡俓n,\r,....榪欓噷闇瑕佹彁涓涓?鍏充簬\t鐨勭悊瑙?鏈変簺浜鴻涓篭t灝辨槸 8涓猻pace,鏈変簺浜哄垯璁や負,灞忓箷鍒嗕負10澶у垪(姣忎釜澶у垪8涓皬鍒楁誨叡80鍒?.涓涓猏t灝辮煩鍒頒笅涓涓ぇ鍒楄緭鍑?涔熷氨鏄涓嶇浣犵幇鍦ㄥ疄鍦ㄥ睆騫曠殑絎? 1,2,3,4,5,6,7浣嶇疆杈撳嚭瀛楃,鍙涓涓猏t閮藉湪絎?涓綅緗紑濮嬭緭鍑? VS.NET涓氨鏄敤鐨勮繖縐嶇悊瑙?鍥犳濡傛灉鎸夌収榪欎釜鐞嗚В鐨勮瘽,\t鐨勫疄鐜板彲浠ヨ繖鏍?/p>

[code]int currentX = ((currentX % 10) + 1) * 8;[/code]

鐒跺悗鍦╟urrentX浣嶇疆杈撳嚭.

鎺ヤ笅鏉ョ湅printChar涔熷氨鏄緭鍑洪儴鍒嗘渶浣庡眰鐨勬搷浣滃挴

[code]void printChar (const byte ch) {
  *(word *)(VIDEO + y * 160 + x * 2) = ch | (fill_color << 8);
  x++;
  if (x >= WIDTH)
    newLine ();
  setVideoCursor (y, x);
}[/code] 榪欓噷VIDEO琛ㄧず鏄懼瓨鍦板潃涔熷氨鏄?xB8000.閫氳繃 y * 160 + x 灞忓箷(x,y)鍧愭爣鍦ㄦ樉瀛樹腑鐨勪綅緗?榪欓噷闇瑕佺煡閬?涓涓瓧絎︽樉紺洪渶瑕佷袱涓瓧鑺?涓涓槸ASCII鐮?絎簩涓槸瀛楃灞炴т唬鐮佷篃灝辨槸棰滆壊浠g爜.鍥犳鎵嶅繀欏? y * 80 * 2 + x = y * 160 + x.閭d箞ch | (fill_color << 8)涔熻嚜鐒跺氨鏄啓鍏ュ瓧絎﹀強灞炴т唬鐮佺敤鐨勪簡.姣忓啓涓涓瓧絎﹀厜鏍囦綅緗姞1,濡傛灉澶т簬灞忓箷瀹藉害WIDTH灝辨崲琛?鏈鍚庨氳繃setVideoCursor璁劇疆鏂扮殑 鍏夋爣浣嶇疆.瀹屾垚浜嗘暣涓猵rintChar榪囩▼.



sunGuoqin 2007-11-14 12:13 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲激情成人网| 欧美在线网址| 亚洲一区日韩| 亚洲一区二区三| 亚洲砖区区免费| 欧美亚洲日本网站| 久久久97精品| 欧美激情精品久久久久久大尺度| 美女主播一区| 亚洲国产日韩欧美在线动漫| 日韩午夜av电影| 午夜精品福利一区二区蜜股av| 久久电影一区| 欧美激情一区二区三区| 国产精品裸体一区二区三区| 狠狠色狠狠色综合| 99天天综合性| 久久精品综合| 亚洲精品一区二| 性欧美8khd高清极品| 欧美风情在线| 国产性做久久久久久| 亚洲精品久久久蜜桃| 欧美一级播放| 亚洲精品久久嫩草网站秘色 | 欧美日韩三级一区二区| 国产精品一区毛片| 亚洲毛片av| 久久久欧美一区二区| 亚洲精品久久久久久久久久久久久| 亚洲视频欧美在线| 美腿丝袜亚洲色图| 国产一区自拍视频| 亚洲小说春色综合另类电影| 免费不卡在线观看| 亚洲一区二区三区免费观看| 欧美激情aⅴ一区二区三区| 国产精品视频一区二区三区| 亚洲日韩欧美一区二区在线| 久久精品一二三| 亚洲午夜性刺激影院| 欧美精品性视频| 亚洲激情欧美激情| 猛干欧美女孩| 久久国产综合精品| 国产一区二区欧美日韩| 亚洲欧美另类在线观看| 国产精品久久福利| 亚洲破处大片| 亚洲成人在线视频播放 | 亚洲小视频在线观看| 欧美第十八页| 久久精品官网| 黄色国产精品一区二区三区| 欧美一区二区三区免费观看| 在线亚洲激情| 国产精品乱码久久久久久| 亚洲香蕉伊综合在人在线视看| 亚洲激情在线| 欧美日本精品| 亚洲已满18点击进入久久| 亚洲欧洲日产国码二区| 欧美精品久久久久久| 亚洲看片一区| 99re66热这里只有精品4| 欧美日韩一区二区欧美激情| 亚洲香蕉视频| 性欧美1819sex性高清| 国产在线欧美日韩| 亚洲春色另类小说| 欧美片第1页综合| 亚洲一区久久久| 午夜欧美电影在线观看| 黄色亚洲免费| 欧美激情一区二区久久久| 欧美va天堂| 亚洲欧美日韩精品| 欧美诱惑福利视频| 亚洲精品日韩在线观看| 一本久久精品一区二区| 欧美在线在线| 亚洲欧洲精品一区二区三区| 亚洲国产91| 国产精品青草综合久久久久99| 欧美一区二区三区在线免费观看| 久久精品成人一区二区三区蜜臀| 亚洲国产一区二区三区在线播 | 亚洲国产成人av在线| 欧美日韩大片| 久久久亚洲国产天美传媒修理工| 美女日韩欧美| 午夜欧美大尺度福利影院在线看| 久久av资源网| 在线综合亚洲欧美在线视频| 性18欧美另类| 在线视频你懂得一区| 欧美在线日韩在线| 亚洲视频在线二区| 久久久久国产一区二区| 这里只有精品丝袜| 久久免费视频这里只有精品| 亚洲一级黄色| 欧美岛国激情| 久热精品在线| 国产日本欧美一区二区三区在线| 亚洲成人自拍视频| 欧美在线视频观看| 一二三区精品| 久久久久久成人| 亚洲午夜电影在线观看| 久久综合色8888| 久久精品国产精品亚洲| 欧美日韩免费观看中文| 欧美大片91| 黄色精品一二区| 亚洲一区二区免费在线| 夜夜狂射影院欧美极品| 欧美 日韩 国产精品免费观看| 久久九九国产| 国产精品免费看片| 一二美女精品欧洲| 日韩天堂av| 欧美va天堂| 亚洲高清免费在线| 亚洲激情视频在线| 老司机精品导航| 久久午夜视频| 激情91久久| 久久亚洲一区| 美女黄网久久| 亚洲激情电影中文字幕| 美国十次了思思久久精品导航| 久久噜噜亚洲综合| 国内伊人久久久久久网站视频 | 亚洲人成人77777线观看| 亚洲大片在线观看| 久久综合99re88久久爱| 欧美暴力喷水在线| 亚洲国产一区二区a毛片| 噜噜噜久久亚洲精品国产品小说| 久久躁日日躁aaaaxxxx| 在线视频观看日韩| 免播放器亚洲一区| 亚洲国产乱码最新视频| 亚洲精品一区在线| 欧美日韩中文另类| 亚洲男人的天堂在线| 久久黄色级2电影| 在线观看亚洲视频啊啊啊啊| 另类激情亚洲| 日韩亚洲视频在线| 西西裸体人体做爰大胆久久久| 国产精品资源| 久久一区二区三区四区五区| 亚洲国产精品精华液2区45| 99视频一区| 国产一区免费视频| 免费亚洲电影| 亚洲私人影院在线观看| 久久―日本道色综合久久| 亚洲精品日日夜夜| 国产嫩草影院久久久久| 美日韩精品视频| 亚洲一区二区在线观看视频| 久久视频一区二区| 中文欧美字幕免费| 影视先锋久久| 国产精品久久久久影院色老大| 久久精品国产精品亚洲精品| 亚洲黄色在线看| 久久久国产91| 一区二区三区国产| 国精产品99永久一区一区| 欧美日韩成人精品| 久久久久久9| 久久久久久久网站| 日韩一级不卡| 狠久久av成人天堂| 欧美视频一区二区三区| 久久久久青草大香线综合精品| 亚洲另类视频| 久久久国产精品一区| 国产精品99久久久久久白浆小说| 国产一区二区毛片| 欧美日韩一区二区三区免费| 久久久爽爽爽美女图片| 中日韩视频在线观看| 亚洲高清不卡在线| 久久综合色8888| 亚洲女性裸体视频| 亚洲免费不卡| 亚洲国产精品久久久久秋霞影院| 国产精品网曝门| 欧美午夜寂寞影院| 欧美精品一区二区在线播放| 久久综合国产精品| 久久久国产精品一区二区中文 | 欧美精品久久久久久久免费观看| 欧美在线观看www| 午夜伦理片一区|