簡體   English   中英

是否有任何理由在fgets + sscanf上使用scanf或fscanf

[英]Is there any reason to use scanf or fscanf over fgets+sscanf

由於您不是從流中讀取內容,因此似乎更加靈活。 兩者都提到,由於您可以輕松更改讀取的時間/代碼位置,因此可以使用ac流(我錯了,可以將字符串做成ect FILE *流)嗎?

另外,我不知道我對scanf有點奇怪。 任何有利/不利於scanf

編輯:我的意思是使用scanf或fscanf與fgets + sscanf的組合

這在C FAQ中已得到很好的解決。

為什么每個人都說不使用scanf? 我應該怎么用呢?

如果您正在讀取受信任的文件(不是stdin ),那么使用fgets + sscanf代替fscanf是沒有意義的。 確實,使用scanf (從stdin讀取)是有問題的。

如果期望integer但讀取floating point或其他不兼容的類型,則可以檢查scanf的返回值。 如果返回零,則您沒有讀取integer -但是使用fgets則無法做到這一點。 另外,通過檢查scanf的返回值,您可以看到讀取的項目數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM