# C Standard Library¶

malloc(size::Integer) → Ptr{Void}

Call malloc from the C standard library.

calloc(num::Integer, size::Integer) → Ptr{Void}

Call calloc from the C standard library.

realloc(addr::Ptr, size::Integer) → Ptr{Void}

Call realloc from the C standard library.

See warning in the documentation for free regarding only using this on memory originally obtained from malloc.

free(addr::Ptr)

Call free from the C standard library. Only use this on memory obtained from malloc, not on pointers retrieved from other C libraries. Ptr objects obtained from C libraries should be freed by the free functions defined in that library, to avoid assertion failures if multiple libc libraries exist on the system.

errno([code])

Get the value of the C library’s errno. If an argument is specified, it is used to set the value of errno.

The value of errno is only valid immediately after a ccall to a C library routine that sets it. Specifically, you cannot call errno at the next prompt in a REPL, because lots of code is executed between prompts.

strerror(n=errno())

Convert a system call error code to a descriptive string

GetLastError()

Call the Win32 GetLastError function [only available on Windows].

FormatMessage(n=GetLastError())

Convert a Win32 system call error code to a descriptive string [only available on Windows].

time(t::TmStruct)

Converts a TmStruct struct to a number of seconds since the epoch.

strftime([format, ]time)

Convert time, given as a number of seconds since the epoch or a TmStruct, to a formatted string using the given format. Supported formats are the same as those in the standard C library.

strptime([format, ]timestr)

Parse a formatted time string into a TmStruct giving the seconds, minute, hour, date, etc. Supported formats are the same as those in the standard C library. On some platforms, timezones will not be parsed correctly. If the result of this function will be passed to time to convert it to seconds since the epoch, the isdst field should be filled in manually. Setting it to -1 will tell the C library to use the current system settings to determine the timezone.

TmStruct([seconds])

Convert a number of seconds since the epoch to broken-down format, with fields sec, min, hour, mday, month, year, wday, yday, and isdst.

flush_cstdio()

Flushes the C stdout and stderr streams (which may have been written to by external C code).