2009-11-06 63 views
0

我想要的是應用程序打開文件並允許用戶閱讀的步驟。文件不過是磁盤上的位序列。顯示文件內容的步驟是什麼?如何通過msword/pdf等應用程序打開文件以進行讀寫?

我想以編程方式在C中執行此操作。我不想從像word/pdf這樣的複雜格式開始,但更簡單一些。那麼,哪種格式最好?

回答

0

如果您想調查此操作,請以純ASCII文本開頭。每個字符只有一個字節,非常簡單,您可以在記事本或任何一個更強大的替代品中打開它。

至於何時程序讀取文件...基本上它涉及到使系統調用來打開該文件,它給你的文件句柄(只是一個數字,操作系統映射到記錄中到底發生了什麼文件系統)。然後進行系統調用,從文件中讀取一些數據,然後OS從磁盤中讀取數據並將其複製到您指定的某個RAM區域(這將是程序中的字符/字節數組)。根據需要重複閱讀。當你完成時,你會發出另一個系統調用來關閉文件,它只是告訴操作系統你已經完成了它。所以序列,在C類僞代碼,是

int f = fopen(...); 
while (...) { 
    byte foo[BLOCK_SIZE]; 
    fread(f, foo, BLOCK_SIZE); 
    do something with foo 
} 
fclose(f); 

如果你有興趣在什麼操作系統實際上在幕後做從磁盤獲取數據到RAM,以及...這是一個整體的其他CAN蠕蟲;-)

+0

我一直在尋找的文字編碼的詳細信息,確定文件類型,壓縮一部分。我想知道字體和文本編碼在何處發揮作用。 我很感激,如果能扔一些光了。 – claws 2009-11-06 19:56:14

相關問題