关于stdio.h

时间:2010-09-20 07:21:50

标签: c header-files

忏悔:我是新手。

问题:我正在查看stdio.h,但我找不到fopen函数的定义。有人可以告诉我在哪里可以找到这个定义吗?

的问候,

错误。

8 个答案:

答案 0 :(得分:3)

声明应该在stdio.h中(afaik标准要求这个),但是你不太可能在那里找到定义 *。如果您使用的是开源操作系统,它可能包含您可以下载的包含源代码(包含定义)的包。否则,对不起,没有可用的定义。

*假设作者认为定义表示实际的实现,而声明则指的是函数原型

答案 1 :(得分:2)

如果你使用的是unix或linux,你可以找到它:

man fopen

否则,只需谷歌 man fopen 即可找到它。

您可以将man用于几乎任何标准库函数。

答案 2 :(得分:2)

extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) __wur;

如你所说,在stdio.h

答案 3 :(得分:2)

您可以在此处找到stdio.h中函数的定义: http://en.wikipedia.org/wiki/Stdio.h

这是一篇关于C文件io的文章: http://en.wikipedia.org/wiki/C_file_input/output

答案 4 :(得分:2)

http://ftp.gnu.org/gnu/glibc/ 在那里你可以找到c std。库源代码

答案 5 :(得分:0)

或者,您可以在参考下使用http://cplusplus.com/ - > C库 - > cstdio(stdio.h)

答案 6 :(得分:0)

我发现源代码here.不是C-Coder所以请自行检查结果。据我所知,它看起来像一个真正的实现。但即使它不是“真正的”实施,它至少可以为学习眼睛提供一些帮助。所以知道这个文件应该会有所帮助。

答案 7 :(得分:0)

可以在opensource.apple.com上找到OS X fopen( )的实现(提问者要问的内容):

http://opensource.apple.com/source/Libc/Libc-498.1.7/stdio/fopen-fbsd.c

然而,我很好奇你为什么要找它;库的一个重点是,您不需要知道它们如何工作的细节以便有效地使用它们 - 您只需要知道如何链接它们以及定义要执行的功能。