This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: (1) Multiple Stdio.h files - which one? (2) fgets()


On 28 December 2011 20:23, Matthew D. Gutchess wrote:
> Hi,
> ? ?I am running Ubuntu-64 version 11.04 and teaching myself C++ by modifying, compiling and running sample programs.
> ? ?(1) Ubuntu / Unix came with multiple, different stdio.h files. ?There are no manual pages for stdio.h. ?Without specifying otherwise the first stdio.h will be used, correct? ?When should the other various versions be used?

> matt@ComputaBeauta15:~/C-Programs/EXAMPLES$ locate /stdio.h
> /usr/include/stdio.h

This is what gets included when you say #include <stdio.h>

> /usr/include/bits/stdio.h

This is probably included by <stdio.h>, you should not include it
yourself, it's an implementation detail not meant for you to know or
care about.

> /usr/include/c++/4.5/tr1/stdio.h

That will be used if you #include <tr1/stdio.h>

TR1 is a report by the ISO C++ committee defining a set of extensions
to the C++ library. It specified additions to <stdio.h>, for GCC's
implementation of TR1 you need to include <tr1/stdio.h> to use those
extensions, which will include <stdio.h> and also define the
extensions.  Unless you want to use the TR1 features you don't need to
care about this either.

> /usr/lib/syslinux/com32/include/stdio.h

This is a Linux kernel header, used when building kernel modules which
need <stdio.h> but can't rely on the C library being present. You
probably don't need to know about it.


In short, all you need to do is just #include <stdio.h>, which will do
the right thing, which in your case is to include /usr/include/stdio.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]