2011-02-24 60 views
0

我有一個浮動數字用空格分隔的文件,我想打開文件並使用這個文件中的數字進行數學運算(例如平均數),我將如何使用以下操作來完成此操作:fopen,fscanf,fclose ,printf/scanf,指針,if/else/switch/loops? (沒有陣列)。如何使用帶限制的fscanf讀取C中的空格分隔文件?

空格分隔文件中值的數量可以是任意數量。

+2

這功課嗎? – 2011-02-24 22:35:01

+0

是的,我還沒有做任何格式化輸入,我試圖找到scanf/fscanf的好資源。 – user633153 2011-02-24 22:41:57

+0

'man fscanf'會給出很多關於使用什麼參數的信息。它可能會回答你所有的問題,特別是如果你的文件只是以空格分隔的話。 – 2011-02-24 22:45:38

回答

0

沒有數量的任何知識,你將不得不直到你遇到文件的末尾改爲數字,例如使用while構造。保持讀取的數字的運行計數。

記住:

  1. 檢查從 fscanf的返回值,它告訴許多 值是如何讀取。
  2. 每個循環讀取一個數字以獲得 工作。
  3. 測試EOF從 讀取該文件後,因爲讀數可能會觸發 EOF。
  4. 還檢查其他可能的文件 錯誤。
+0

感謝您的回覆。在用循環讀取文件後,如何在浮點數上執行操作(如sum,average)而不使用數組? – user633153 2011-02-25 00:01:21

+0

'sum'只需要求和變量。將讀取的值添加到'sum'中。在總結所有的值後,除以計數值並給出平均值。如果您想在讀取文件後進行更多分析,則只存儲這些值。 – 2011-02-25 00:52:23

+0

感謝您的幫助。事實證明,我的困惑源於fscanf在做什麼(例如,什麼時候它是一個特定的浮動?),所以我要尋找更多的C資源/練習文件。 – user633153 2011-02-25 01:09:29

相關問題