• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

    linux的scan命令

    時間: 佳洲1085 分享

      Linux下scan命令主要是以scanf的形式使用轉(zhuǎn)換符解析字符串,下面由學(xué)習(xí)啦小編為大家整理了linux下scan命令的相關(guān)知識,希望對大家有幫助!

      linux的scan命令詳解

      scan - 以sscanf的形式使用轉(zhuǎn)換符解析字符串

      語法:

      scan string format ?varName varName ...?

      介紹:

      scan命令根據(jù)format的格式解析string并給varName賦值,返回成功轉(zhuǎn)換的次數(shù)。如果沒有提供varName,將以列表形式返回scan匹配值

      scan命令和format命令類似.支持的轉(zhuǎn)換字符如下:

      d

      輸入必須為一個十進(jìn)制整數(shù)。其被讀入并以十進(jìn)制字符串方式存入變量。如果提供l或者L此類修改器字符,則掃描的值將以64-bit形式表示

      o

      輸入必須為一個八進(jìn)制整數(shù)。其被讀入并以十進(jìn)制字符串方式存入變量。如果提供l或者L此類修改器字符,則掃描的值將以64-bit形式表示。如果其值超過MAX_INT(當(dāng)沒有l(wèi)或者L時,32-bit平臺為017777777777),將被截斷成一個有符號整形數(shù)。因此,037777777777 在32-bit機(jī)器上默認(rèn)將被表示為-1

      x

      輸入必須為一個十六進(jìn)制整形數(shù)。其被讀入并以十進(jìn)制字符串方式存入變量。如果提供l或者L此類修改器字符,則掃描的值將以64-bit形式表示。如果其值超過MAX_INT(當(dāng)沒有l(wèi)或者L時,32-bit平臺為017777777777),將被截斷成一個有符號整形數(shù)。因此,037777777777 在32-bit機(jī)器上默認(rèn)將被表示為-1

      u

      輸入必須為一個十進(jìn)制整形數(shù)。其被讀入并以無符號十進(jìn)制字符串方式存入變量。如果提供l或者L此類修改器字符,則掃描的值將以64-bit形式表示。

      i

      輸入必須為一個整形數(shù)。進(jìn)制取決于如expr描述的方式。其被讀入并以無符號十進(jìn)制字符串方式存入變量。如果提供l或者L此類修改器字符,則掃描的值將以64-bit形式表示。

      c

      輸入為單字符其二進(jìn)制值以十進(jìn)制字符串形式保存在變量中。初始的空格在這種情況下不會被跳過,所以輸入可以使空格。這個轉(zhuǎn)換不同于ANSI標(biāo)準(zhǔn)(輸入永遠(yuǎn)由單字符組成并且沒有指定域?qū)挾?

      s

      輸入由直到下一個空白符的所有字符組成;字符會復(fù)制給變量

      e f g

      輸入必須為由可選的符號,十進(jìn)制字符串以及小數(shù)點(diǎn)組成的浮點(diǎn)數(shù),可選的指數(shù)由e或者E后跟可選符號以及十進(jìn)制字符串。其被讀入并以浮點(diǎn)型字符串方式存入變量。

      [chars]

      輸入由任意數(shù)目的字符組成。匹配的字符串存在變量中。用于匹配一組某一范圍的字符,用-表示范圍,如果-出現(xiàn)在最先或者最后被當(dāng)做一個字符

      [^chars]

      輸入由任意數(shù)目的字符組成。匹配的字符串存在變量中。用于匹配一組某一范圍的字符以外的部分,用-表示范圍,如果-出現(xiàn)在最先或者最后被當(dāng)做一個字符

      n

      不輸入任何字符。掃描字符的總數(shù)取自最近掃描后所存儲的變量

      linux的scan命令實(shí)例

      將一個簡單的顏色代碼(#RRGGBB方式)解析為不同域的值

      set string "#08D03F"

      scan $string "#%2x%2x%2x" r g b

      解析HH:MM時間字符串,注意避免通過強(qiáng)制轉(zhuǎn)換十進(jìn)制而帶來的八進(jìn)制數(shù)問題

      set string "08:08" ;# *Not* octal!

      if {[scan $string "%d:%d" hours minutes] != 2} {

      error "not a valid time string"

      }

      # We have to understand numeric ranges ourselves...

      if {$minutes < 0 || $minutes > 59} {

      error "invalid number of minutes"

      }

      將一個字符串分解成非空格字符的一系列集合(注意使用%n轉(zhuǎn)換使得能夠跳過第一個空格的字符)

      set string " a string {with braced words} + leading space "

      set words {}

      while {[scan $string %s%n word length] == 2} {

      lappend words $word

      set string [string range $string $length end]

      }

      解析一個簡單的坐標(biāo)字符串,通過查找顯式終止字符檢查是否完成

      set string "(5.2,-4e-2)"

      # Note that the spaces before the literal parts of

      # the scan pattern are significant, and that ")" is

      # the Unicode character \u0029

      if {

      [scan $string "(%f,%s %c" x y last] != 3

      || $last != 0x0029

      } then {

      error "invalid coordinate string"

      }

      puts "X=$x, Y=$y"

    linux的scan命令

    Linux下scan命令主要是以scanf的形式使用轉(zhuǎn)換符解析字符串,下面由學(xué)習(xí)啦小編為大家整理了linux下scan命令的相關(guān)知識,希望對大家有幫助! linux的scan命令詳解 scan - 以sscanf的形式使用轉(zhuǎn)換符解析字符串 語法: scan string format ?va
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式
    3630676 主站蜘蛛池模板: 在线播放亚洲美女视频网站| 国产麻豆精品久久一二三| 国产喷水在线观看| 亚洲精品中文字幕乱码| 好男人资源在线观看好| 被窝影院午夜无码国产| 亚洲av第一网站久章草| 国产美女无遮挡免费网站| 男人操女人网站| 一进一出60分钟免费视频| 国产一在线精品一区在线观看 | 日韩国产成人精品视频人| 51精品视频免费国产专区| 亚洲精品15p| 国产麻豆精品久久一二三| 波多野结衣乱码中文字幕| 99国产精品自在自在久久| 免费国产成人午夜电影| 天天摸天天做天天爽天天弄| 精品久久久噜噜噜久久久| 三级黄色毛片视频| 啦啦啦手机完整免费高清观看| 成人艳情一二三区| 精品国产三级a在线观看| 99精品热这里只有精品| 亚洲码欧美码一区二区三区| 国产精品线在线精品| 欧美乱人伦视频| 龙珠全彩里番acg同人本子 | 亚洲图片欧美日韩| 国产男女免费完整版视频| 最美情侣中文字幕电影| 美女的扒开尿口让男人桶动态图| 亚洲乱码日产精品BD在线观看| 巨粗挺进女县长| 美女被羞羞在线观看漫画| 丰满大白屁股ass| 国产精品亚洲片在线花蝴蝶| 欧美牲交a欧美牲交aⅴ图片| 一个人看的免费高清视频日本| 免费a级试看片|