在不同的文件系统上使用相同的文件

时间:2011-09-07 14:22:16

标签: filesystems portability

假设您有一个C ++程序生成要保存在磁盘上的数据。您将其保存在Windows Vista文件系统上。您可以直接在具有不同文件系统的其他操作系统上使用它(例如Mac OSX)吗?

4 个答案:

答案 0 :(得分:0)

是肯定的。如果你可以把它放到另一个系统上,或者可以从一个系统看到另一个系统。

文件系统不应该更改文件内容。

答案 1 :(得分:0)

我想到的唯一潜在问题是行尾标记的不同格式:\ n在UNIX下,\ n \ n \ r \ n在Windows下。我不确定Mac OSX使用什么(作为Unix系统它应该使用\ n,但如果我没记错的话,旧的Mac OS使用\ r)。当然,在格式之间编写转换器很容易。

答案 2 :(得分:0)

这取决于。二进制数据在所有主流操作系统上都是相同的(其中一个字节是8位;嵌入式系统不一定如此)。

由于换行符约定(Windows使用\r\n表示换行符,类Unix系统\n)和字符编码,因此以文本模式编写的文件可能无法在所有平台上“正常工作”的问题。

答案 3 :(得分:0)

当然,您可以,因为您的操作系统具有读取两个文件系统的驱动程序。

fopen或同等的调用是完全抽象的,因此您不必担心它来自哪里。数据将以相同的方式读取。