在不同的文件系统上使用相同的文件
假设您有一个 C++ 程序,它生成要保存在磁盘上的数据。您将其保存在 Windows Vista 文件系统上。您可以直接在具有不同文件系统的另一个操作系统(例如Mac OSX)上使用它吗?
Suppose you have a C++ program that generates data to be saved on disk. You save it on your Windows Vista file system. Can you use it directly on another OS with a different file system (for example Mac OSX)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的。如果您可以将其转移到其他系统上,或者从一个系统到另一个系统具有可见性。
文件系统不应更改文件内容。
yes. if you can get it onto the other system, or have visibility from one to another.
The file system should not be changing file content.
我想到的唯一潜在问题是行尾标记的不同格式:UNIX 下的 \n,Windows 下的 \r\n。我不确定 Mac OSX 使用什么(作为 Unix 系统,它应该使用 \n,但如果我没记错的话,较旧的 Mac 操作系统使用 \r)。当然,编写格式之间的转换器很容易。
The only potential problem that I think of is the different formats for end-of-line markers: \n under UNIX, \r\n under Windows. I am not sure what Mac OSX uses (as a Unix system it should use \n, but if I recall correctly, older Mac OSs used \r). Of course it is easy to write converters between the formats.
这要看情况。二进制数据在所有主流操作系统上都显示相同(其中一个字节是 8 位;对于嵌入式系统不一定如此)。
由于换行符约定,以文本模式编写的文件可能无法在所有平台上开箱即用(Windows 使用
\r\n
表示换行符,类 Unix 系统\n< /code>)和字符编码问题。
That depends. Binary data will appear the same on all mainstream operating systems (where a byte is 8 bits; this is not necessarily true of embedded systems).
Files written in text mode may not "work" on all platforms out of the box, due to newline conventions (Windows uses
\r\n
for a newline, Unix-like systems\n
) and character encoding issues.当然可以,因为您的操作系统具有读取这两个文件系统的驱动程序。
fopen
或等效调用是完全抽象的,因此您不必担心它来自哪里。数据将以同样的方式读取。Sure you can, given that your Operating System has the drivers to read both filesystems.
The
fopen
or equivalent calls are completely abstracted such that you don't have to worry about where it comes from. Data will be read the same way.