2014-03-02 48 views
-2

是否有可以像.TXT,.C或的.java可以與fopen()打開或有任何異常相同的人記事本打開所有類型的文件?哪些參數格式接受fopen()函數

+1

你的問題是關於記事本應用程序或C語言編程? – P0W

+3

您可能誤解了c模型文件。 C不知道任何有關「格式」的信息,每個文件都是一個有序的字節包。用那個包做一些聰明的事是*你的問題。或者別人的,如果你足夠聰明,可以使用第三方庫來幫助你... – dmckee

+1

你的問題的標題與問題本身有什麼關係(後者與編程有什麼關係)? – NPE

回答

3

簡短的回答是,C不關心文件類型,因此你的假設是正確的。

長的答覆是,簡短的回答僅適用於常規文件(全部由你列出的都是普通文件),在某些情況下,它並不適用於特殊的文件,如設備文件以及FIFO。在Windows上,根據您的C庫,您可能會遇到鏈接問題(.lnk文件)。 C庫可能不會遵循這些鏈接,而記事本會。

但這卻並不意味着有問題的文件將被正確顯示。編碼和/或換行符可能是一個問題。

+0

好吧,例如,我有一個程序可以計算輸入文件[fopen(argv [1],「r」)]的字數。通過那些可以用記事本打開的文件,我可以正確計數。但是,對於預期不會有與0不同的答案的文件(例如.docx文件),我會得到一個數字(當然這與文件中的實數不同)。 C如何獲得例如.docx文件的數字,它如何打開一個docx? –

+2

@AdrianGilOrs:除非你告訴C如何做到這一點,否則C不會爲你計算單詞。 – alk

+0

@AdrianGilOrs通過使用'fopen()'和相關的,你會得到二進制DOCX數據。無論如何,C並不知道如何解釋這些數據(這是您作爲程序員的工作!) –