2012-03-26 183 views
-4

我有一個名爲resistors.dat的文件,我需要讓我的程序讀取並解析文件中的值到我的程序中。如何讀取和解析C中的.dat文件?

我該如何在C中讀取這樣的文件? RIA,肋骨和裏克(I =:

從樂resistors.dat(黑板提供)進行類似你在問題2實驗室12的resistors.dat每一行現在代表一行做了什麼閱讀1; 2;:::; n)的電路。展開實驗12的問題2來計算電路的總電阻。提示:總電阻爲1 R = 1 R 1 + 1 R 2 + 1 R 3 +:::+ 1 R n其中R 1是一個輸入行中的電阻總和。在一個循環中,計算逆阻1 = Ri的和。輸入完成後,計算該和的倒數以獲得最終結果。

這是resistors.dat內容:

64.35 35.52 85.37 
90.43 12.99 80.40 
98.37 32.63 78.42 
3.82 82.74 52.61 
3.75 72.47 49.05 
96.73 16.07 23.46 
48.15 36.62 83.64 
51.96 27.19 22.38 
4.18 46.07 91.21 
96.94 8.17 50.45 
0 
+0

看一看C - fgets和fgetc中的文件讀取方法,提一些。 – Makoto 2012-03-26 14:00:41

+1

.dat文件是如何創建的? 如果它作爲簡單的文本文件(通過用記事本打開來驗證) 然後,您可以打開它作爲一個正常的txt。如果它是字節,則需要將它傳遞給一個流來處理它。 提供更詳細的答案的更多細節。 [解析文件在C](http://bytes.com/topic/c/insights/657086-how-parse-file-c)應該給你一個起點,以達到你的目的,但更多的信息將有助於提供更多準確的答案。 – 2012-03-26 14:01:49

回答

0

有幾種方法可以做到這一點。我希望你Resistors.dat文件看起來是這樣的:

r=1 
r=20 
r=22 
r=2 

我建議你做這樣的事情:

fopen在一個while循環打開文件,fgets直到文件的末尾(!EOF) ,閱讀每一行。然後使用sscanf解析每一行。