關於fscanf(fd, “%*[^/n]“);

來源:互聯網
上載者:User

 如何解釋 fscanf(fd,"%*[^/n]")

 

發表於:2007-11-23 16:09:071樓 得分:40
"%[^/n]"表示讀輸入字串,直到碰到字元‘/n’為止,其中^表示否的意思
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • mu_yang
  • 穆揚
  • 等級:
發表於:2007-11-23 18:13:402樓 得分:20
* 表示跳過去 ,對所讀資料不做處理和轉換,這樣就不用寫相應的指標,佔用沒意義的記憶體了
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • yao_zhuang
  • 千羽
  • 等級:
發表於:2007-11-23 21:01:143樓 得分:0
一直以來都不知道C中還有正則,受教了
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • xhd3767
  • 白癡
  • 等級:
發表於:2007-11-23 21:57:114樓 得分:0
受教!!
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • zhulinpptor
  • zhulin
  • 等級:
發表於:2007-11-25 05:10:435樓 得分:10
sscanf是一個很好用的函數,利用它可以從字串中取出整數、浮點數和字串等等。它的使用方法簡單,特別對於整數和浮點數來說。但新手可能並不知道處理字串時的一些進階用法,這裡做個簡要說明吧。

  1.  常見用法。

以下是引用片段:
  char  str[512]  =  {0}; 
  sscanf( "123456  ",  "%s ",  str); 
  printf( "str=%s/n ",  str); 

  2.  取指定長度的字串。如在下例中,取最大長度為4位元組的字串。

以下是引用片段:
  sscanf( "123456  ",  "%4s ",  str); 
  printf( "str=%s/n ",  str); 

  3.  取到指定字元為止的字串。如在下例中,取遇到空格為止字串。

以下是引用片段:
  sscanf( "123456  abcdedf ",  "%[^  ] ",  str); 
  printf( "str=%s/n ",  str); 

  4.  取僅包含指定字元集的字串。如在下例中,取僅包含1到9和小寫字母的字串。

以下是引用片段:
  sscanf( "123456abcdedfBCDEF ",  "%[1-9a-z] ",  str); 
  printf( "str=%s/n ",  str); 

  5.  取到指定字元集為止的字串。如在下例中,取遇到大寫字母為止的字串。

以下是引用片段:
  sscanf( "123456abcdedfBCDEF ",  "%[^A-Z] ",  str); 
  printf( "str=%s/n ",  str); 

    轉http://dev.yesky.com/

修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • superdinosaur520
  • 恐龍
  • 等級:
發表於:2007-11-26 00:30:276樓 得分:0
留個記號。。。
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • abandon156
  • 等級:
發表於:2007-11-26 03:31:467樓 得分:0
2個都沒看懂...
受教了..
自己測試了下..大概意思是不是讀取特定的東西?
望詳細解答下...
謝謝..
修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • zxq80
  • 飛越時空
  • 等級:
發表於:2007-11-26 10:32:398樓 得分:40

sacnf(格式化字串輸入) 
相關函數  fscanf,snprintf

表標頭檔  #include <stdio.h>

定義函數  int scanf(const char * format,.......);

函數說明  scanf()會將輸入的資料根據參數format字串來轉換並格式化資料。Scanf()格式轉換的一般形式如下
%[*][size][l][h]type
以中括弧括起來的參數為選擇性參數,而%與type則是必要的。
* 代表該對應的參數資料忽略不儲存。
size 為允許參數輸入的資料長度。
l 輸入的資料數值以long int 或double型儲存。
h 輸入的資料數值以short int 型儲存。
底下介紹type的幾種形式
%d 輸入的資料會被轉成一有符號的十進位數字(int)。
%i 輸入的資料會被轉成一有符號的十進位數字,若輸入資料以“0x”或“0X”開頭代錶轉換十六進位數字,若以“0”開頭則轉換八位元字,其他情況代表十進位。
%0 輸入的資料會被轉換成一無符號的八位元字。
%u 輸入的資料會被轉換成一無符號的正整數。
%x 輸入的資料為無符號的十六進位數字,轉換後存於unsigned int型變數。
%X 同%x
%f 輸入的資料為有符號的浮點型數,轉換後存於float型變數。
%e 同%f
%E 同%f
%g 同%f
%s 輸入資料為以空白字元為終止的字串。
%c 輸入資料為單一字元。
[] 讀取資料但只允許括弧內的字元。如[a-z]。
[^] 讀取資料但不允許中括弧的^符號後的字元出現,如[^0-9].

傳回值  成功則返回參數數目,失敗則返回-1,錯誤原因存於errno中。

修改 刪除 舉報 引用 回複

加為好友

發送私信

線上聊天
  • himyhuang
  • 黃鶴樓
  • 等級:
發表於:2007-12-18 23:26:569樓 得分:0
good.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.