Saturday 12 November 2011

What header files do I need in order to define the standard library functions I use? in C programming

What header files do I need in order to define the standard library functions I use?

You need the ones that the ANSI/ISO standard says you should use. See Table XII.2.

The funny thing is, these are not necessarily the files that define what you’re looking for. Your compiler guarantees that (for example) if you want the EDOM macro, you can get it by including <errno.h>. EDOM might be defined in <errno.h>, or <errno.h> might just include something that defines it. Worse, the next version of your compiler might define EDOM somewhere else.

Don’t look in the files for the definition and use that file. Use the file that’s supposed to define the symbol
you want. It’ll work.

A few names are defined in multiple files: NULL, size_t, and wchar_t. If you need a definition for one of these
names, use a file you need to include anyway, or pick one arbitrarily. (<stddef.h> is a reasonable choice; it’s small, and it defines common macros and types.)

Standard library functions’ header files.
------------------------------------------------------------------------------------------------------------
Function/Macro                      Header File
------------------------------------------------------------------------------------------------------------
abort                                       stdlib.h
abs                                          stdlib.h
acos                                        math.h
asctime                                    time.h
asin                                         math.h
assert                                      assert.h
atan                                         math.h
atan2                                       math.h
atexit                                       stdlib.h
atof                                         stdlib.h
atoi                                         stdlib.h
atol                                         stdlib.h
bsearch                                   stdlib.h
BUFSIZ                                 stdio.h
calloc                                     stdlib.h
ceil                                         math.h
clearerr                                  stdio.h
clock                                      time.h
CLOCKS_PER_SEC            time.h
clock_t                                   time.h
cos                                         math.h
cosh                                       math.h
ctime                                      time.h
difftime                                   time.h
div                                         stdlib.h
div_t                                      stdlib.h
EDOM                                  errno.h
EOF                                      stdio.h
ERANGE                              errno.h
errno                                     errno.h
exit                                        stdlib.h
EXIT_FAILURE                   stdlib.h
EXIT_SUCCESS                 stdlib.h
exp                                       math.h
fabs                                      math.h
fclose                                    stdio.h
feof                                       stdio.h
ferror                                    stdio.h
fflush                                    stdio.h
fgetc                                     stdio.h
fgetpos                                 stdio.h
fgets                                     stdio.h
FILE                                     stdio.h
FILENAME_MAX              stdio.h
floor                                     math.h
fmod                                     math.h
fopen                                    stdio.h
FOPEN_MAX                     stdio.h
fpos_t                                   stdio.h
fprintf                                    stdio.h
fputc                                     stdio.h
fputs                                     stdio.h
fread                                     stdio.h
free                                       stdlib.h
freopen                                  stdio.h
frexp                                      math.h
fscanf                                    stdio.h
fseek                                     stdio.h
fsetpos                                   stdio.h
ftell                                        stdio.h
fwrite                                    stdio.h
getc                                       stdio.h
getchar                                  stdio.h
getenv                                   stdlib.h
gets                                       stdio.h
gmtime                                  time.h
HUGE_VAL                         math.h
_IOFBF                               stdio.h
_IOLBF                               stdio.h
_IONBF                              stdio.h
isalnum                                 ctype.h
isalpha                                  ctype.h
iscntrl                                   ctype.h
isdigit                                    ctype.h
isgraph                                 ctype.h
islower                                 ctype.h
isprint                                   ctype.h
ispunct                                 ctype.h
isspace                                ctype.h
isupper                                ctype.h
isxdigit                                 ctype.h
jmp_buf                               setjmp.h
labs                                      stdlib.h
LC_ALL                             locale.h
LC_COLLATE                    locale.h
LC_CTYPE                         locale.h
LC_MONETARY                locale.h
LC_NUMERIC                   locale.h
LC_TIME                            locale.h
struct lconv                           locale.h
ldexp                                    math.h
ldiv                                       stdlib.h
ldiv_t                                    stdlib.h
localeconv                            locale.h
localtime                               time.h
log                                        math.h
log10                                    math.h
longjmp                                setjmp.h
L_tmpnam                           stdio.h
malloc                                  stdlib.h
mblen                                   stdlib.h
mbstowcs                             stdlib.h
mbtowc                                stdlib.h
MB_CUR_MAX                  stdlib.h
memchr                                 string.h
memcmp                               string.h
memcpy                                string.h
memmove                             string.h
memset                                 string.h
mktime                                  time.h
modf                                     math.h
NDEBUG                             assert.h
NULL                                   locale.h, stddef.h, stdio.h, stdlib.h, string.h, time.h
offsetof                                 stddef.h
perror                                   stdio.h
pow                                     math.h
printf                                    stdio.h
ptrdiff_t                                stddef.h
putc                                      stdio.h
putchar                                 stdio.h
puts                                      stdio.h
qsort                                    stdlib.h
raise                                     signal.h
rand                                     stdlib.h
RAND_MAX                      stdlib.h
realloc                                  stdlib.h
remove                                stdio.h
rename                                stdio.h
rewind                                 stdio.h
scanf                                   stdio.h
SEEK_CUR                       stdio.h
SEEK_END                       stdio.h
SEEK_SET                        stdio.h
 setbuf                                 stdio.h
setjmp                                 setjmp.h
setlocale                              locale.h
setvbuf                                stdio.h
SIGABRT                          signal.h
SIGFPE                             signal.h
SIGILL                              signal.h
SIGINT                             signal.h
signal                                  signal.h
SIGSEGV                           signal.h
SIGTERM                          signal.h
sig_atomic_t                        signal.h
SIG_DFL                            signal.h
SIG_ERR                            signal.h
SIG_IGN                            signal.h
sin                                        math.h
sinh                                      math.h
size_t                                   stddef.h, stdlib.h, string.h, sprintf, stdio.h
sqrt                                      math.h
srand                                   stdlib.h
sscanf                                  stdio.h
stderr                                   stdio.h
stdin                                     stdio.h
stdout                                  stdio.h
strcat                                   string.h
strchr                                  string.h
strcmp                                 string.h
strcoll                                  string.h
strcpy                                  string.h
strcspn                                string.h
strerror                                string.h
strftime                                time.h
strlen                                   string.h
strncat                                 string.h
strncmp                               string.h
strncpy                                string.h
strpbrk                                string.h
strrchr                                 string.h
strspn                                  string.h
strstr                                   string.h
strtod                                  stdlib.h
strtok                                  string.h
strtol                                   stdlib.h
strtoul                                  stdlib.h
strxfrm                                string.h
system                                 stdlib.h
tan                                       math.h
tanh                                     math.h
time                                     time.h
time_t                                  time.h
struct tm                              time.h
tmpfile                                 stdio.h
tmpnam                               stdio.h
TMP_MAX                        stdio.h
tolower                               ctype.h
toupper                               ctype.h
ungetc                                 stdio.h
va_arg                                 stdarg.h
va_end                                stdarg.h
va_list                                  stdarg.h
va_start                               stdarg.h
vfprintf                                 stdio.h
vprintf                                  stdio.h
vsprintf                                 stdio.h
wchar_t stddef.h,                  stdlib.h
wcstombs                             stdlib.h
wctomb                                stdlib.h


Cross Reference:

V.12: What is the difference between #include <file> and #include “file”?
XII.1: Why should I use standard library functions instead of writing my own?

No comments:

Post a Comment