如何通过msword / pdf等应用程序打开文件进行读/写?

时间:2009-11-06 19:20:03

标签: file

我想要的是应用程序为了打开文件并允许用户阅读而采取的步骤。文件只不过是磁盘上的位序列。显示文件内容需要执行哪些步骤?

我想以编程方式在C中执行此操作。我不想从像word / pdf这样的复杂格式开始,而是更简单。那么,哪种格式最好?

2 个答案:

答案 0 :(得分:0)

从纯文本文件开始

答案 1 :(得分:0)

如果要调查此问题,请从纯ASCII文本开始。它只是每个字符一个字节,非常简单,你可以在记事本或任何一个更有能力的替代品中打开它。

关于程序读取文件时实际发生的事情......基本上它涉及进行系统调用以打开文件,这会给你一个文件句柄(只是操作系统映射到文件系统中记录的一个数字) )。然后进行系统调用以从文件中读取一些数据,操作系统从磁盘中取出它并将其复制到您指定的某个RAM区域(即程序中的字符/字节数组)。必要时重复阅读。当你完成后,你发出另一个系统调用来关闭文件,这只是告诉操作系统你完成了它。因此,类似C的伪代码的序列是

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

如果你对操作系统实际上在幕后将数据从磁盘传输到RAM感兴趣,那么......那是另外一种蠕虫病毒; - )