sscanf 用法示例

sscanf

刺蝟@http://blog.csdn.net/littlehedgehog






開始一直不理解sscanf的用法,在教室裏看書,沒有網可上,就一直來猜這個函數作用,不過也猜得八九不離十了。回頭來網上看看,沒想到sscanf的作用這麼強大。而且它的兄弟sprintf 我一直在用,呵呵,咋就沒想到他還有個弟弟呢?


sscanf與scanf類似,都是用於輸入的,只是後者以屏幕(stdin)爲輸入源,前者以固定字符串爲輸入源。比如說sscanf("12345","%s",buf) 這裏的輸入是"12345"這個字符串,然後以字符串的形式存放在buf中。


實例一


  1. char buf[512] = {0};

  2. sscanf("123456 ""%s", buf);  //把"123456"字符串以字符串格式輸入buf

  3. printf("%s/n", buf);   //結果爲:123456


實例二


  1. sscanf("123456 ""%4s", buf);  // 取最大長度爲4字節的字符串。 

  2. printf("%s/n", buf);   // 結果爲:1234

 

實例三

  1. sscanf("123456 abcdedf""%[^ ]", buf);  //取遇到空格爲止字符串。
  2. printf("%s/n", buf);   //結果爲:123456

實例四


  1. sscanf("123456abcdedfBCDEF""%[1-9a-z]", buf);   //取僅包含1到9和小寫字母的字符串。
  2. printf("%s/n", buf);   //結果爲:123456abcdedf


實例五


  1. sscanf("123456abcdedfBCDEF""%[^A-Z]", buf);   //取遇到大寫字母爲止的字符串。
  2. printf("%s/n", buf);   //結果爲:123456abcdedf

sscanf裏面對字符串的處理 有點像正則表達式  不過功能就略遜一籌了。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章