【发布时间】:2012-03-03 03:18:09
【问题描述】:
在 C 中使用文件系统的最佳方式是什么?
当然有 dirent.h ,但据我所知,它并不能完全保证在所有平台和编译器上都可用,例如 Microsoft Visual C++ 编译器,不支持。
目前,我见过的最好的东西是 GLib 中的文件处理函数。有没有更好的办法?
我正在寻找的是一个精心设计的,最好是跨平台的库/代码/所有主流编译器都支持的其他东西,并且有据可查。有什么想法吗?
【问题讨论】:
-
为什么是 C?你能选择一种更糟糕的语言吗?
-
由于文件系统工作本质上依赖于系统,因此跨平台库将很少见
-
@AdamMihalcin:非常不安全和不安全?慢得令人难以置信?没有泛型?没有资源管理?没有命名空间?没有例外?可怕的宏观滥用?这只是开始,和这只是 C++ 没有分享的 C 的坏处,更不用说详尽的列表了。这些内核是用 C 编写的,因为当时没有别的东西,而不是因为 C 是一个好主意。它不是。另外,如果您不想引发一场激烈的争吵,请来 C++ 聊天室,我很乐意为您非常详细地列举 C 到底是如何糟糕的。
-
@DeadMG:C 很慢?我认为这是它擅长的一件事。
-
@Claudiu:例如,告诉 O(n) 字符串长度。还是没有可内联算法?还有其他例子。
标签: c file filesystems dirent.h