Что касается stdio.h - PullRequest
       5

Что касается stdio.h

3 голосов
/ 20 сентября 2010

Исповедь: я новичок.

Вопрос: Я проверял stdio.h, но не смог найти определение функции fopen.Может кто-нибудь сказать, где я могу найти определение?

regards,

bug.

Ответы [ 8 ]

3 голосов
/ 20 сентября 2010

объявление должно быть в stdio.h (на самом деле, этого требует стандарт), но вряд ли вы найдете там определение . Если вы используете ОС с открытым исходным кодом, возможно, в ней есть пакеты, содержащие исходный код (содержащий определение), который вы можете загрузить. Иначе, извините, определение не доступно.

* Предполагается, что автор считает определение фактической реализацией, тогда как объявление скорее ссылается на прототип функции

2 голосов
/ 04 декабря 2010

http://ftp.gnu.org/gnu/glibc/ Там вы можете найти cdd.Исходный код библиотеки

2 голосов
/ 20 сентября 2010

Вы можете найти определения функций в stdio.h здесь: http://en.wikipedia.org/wiki/Stdio.h

А вот статья о файле C io: http://en.wikipedia.org/wiki/C_file_input/output

2 голосов
/ 20 сентября 2010
extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) __wur;

Как вы сказали, в stdio.h.

2 голосов
/ 20 сентября 2010

Если вы используете Unix или Linux, вы можете найти его с помощью:

man fopen

В противном случае, просто Google для man fopen , и вы найдетеit.

Вы можете использовать man практически для любой стандартной библиотечной функции.

0 голосов
/ 04 декабря 2010

Реализация fopen( ) для OS X (о чем спрашивает спрашивающий) доступна на opensource.apple.com:

.

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

Мне любопытно, однако, почему вы ищете это; Отчасти дело в том, что вам не нужно знать детали того, как они работают, чтобы эффективно их использовать - вам нужно только знать, как связываться с ними и для чего предназначены функции.

0 голосов
/ 20 сентября 2010

Я нашел здесь исходный код . Я не C-кодер, поэтому проверьте результат самостоятельно.Насколько я могу судить, это похоже на реальную реализацию.Но даже если это не «истинная» реализация, она может, по крайней мере, дать некоторые подсказки для обучающихся глаз.Так что полезно знать этот файл.

0 голосов
/ 20 сентября 2010

альтернативно, вы можете перейти на http://cplusplus.com/ по ссылке -> Библиотека C -> cstdio (stdio.h)

...