【发布时间】:2013-10-08 13:38:07
【问题描述】:
我正在尝试将 Windows、Linux 和 Mac 文件 IO 调用抽象为宏(为了避免 C 运行时,所以没有 fopen、fclose 等...)。我实际上已经做了很多工作,但我遇到了一个绊脚石。
我试图将这些平台中的每一个可能引发的所有可能错误归结为常见错误的子集:未找到、存在、无效访问等。
Linux 显然是很好的文档,Mac 甚至有最常见的,但 Windows 没有指定其原生文件 I/O 函数会引发哪些错误。我们显然需要使用GetLastError(),但我找不到可能值的参考。
这个怎么样?
我正在编写一个 Windows 应用程序并使用 CreatFile() API。我想尽可能优雅地处理任何错误,并且可能从所述错误中恢复,而不是告诉用户“废话!不能那样做”。但是 MSDN 文档没有列出可能产生的错误代码。
有没有人提到 Windows 文件函数可能生成的可能错误代码,特别是(目前)CreateFile()?
【问题讨论】:
-
没有这样的列表,而且很可能永远不会有。为什么你需要知道这个?
-
顺便说一句,你确实知道C++已经做到了吗?也就是发abstract, platform independent, file handling functionality。
-
为什么要添加C作为标签?您想要 C 还是 C++ 解决方案?
-
伙计,我以为这是一个简单的问题……你们太残忍了。编码警察...... @SigTerm 我花了很多精力研究这个。我不明白你的意思是它可以从 C++ 中使用,或者说它不是 C,它肯定是。