=2
=t =eplain
=1
1 4in 10in -.7in
<#14#><#14#>
2
-.57in
=<#21#>height6.5pt depth2.5pt width0pt<#21#>
2
=b
<#22#>
=.46in
=<#2248#>
_=<#2285#>
<#1953#>/<#56#>
=0.44
=.10
=0em
=<#2288#>
`@ =
-1pt
@dim
`@ =
=0pt
<#2291#>=
This reference card describes the available library functions of GNU C
on the Atari ST and is currently based on the library from
Jwahar~R. Bammi at patchlevel 83. For the most part the functions
are alphabetically sorted by function name.
Some of the mentioned functions are only available, when MiNT, the TOS
multitasking extension from Eric~R. Smith is running, or if you
have a TT. The earlier are marked with ``(MiNT)'', the latter with
``(TT)''.
<#2293#>Standard I/O<#2293#>
<#2294#>
#include stdio.h;SPMgt;
<#124#>=The following aliases for some of the below
functions are defined.
<#124#>
=
to <#1971#>#=10pt plus 1 fil;SPMamp;#
getc;SPMamp;fgetc
ungetc;SPMamp;fungetc
putc;SPMamp;fputc
getchar();SPMamp;fgetc(stdin)
ungetchar(c);SPMamp;fungetc((c),stdin)
putchar(c);SPMamp;fputc((c),stdout)
<#1971#>=0em
func@star<#137#>void clearerr(FILE &sstarf#star;fp);<#137#>
=2000
to <#2299#>
<#2300#>by -Clear error and EOF status of stream <#2301#>
func@star<#139#>char &sstarf#star;ctermid(char &sstarf#star;name);<#139#>
=2000
to <#2302#>
<#2303#>by -<#2303#><#2302#>
func@star<#141#>int fclose(FILE &sstarf#star;fp);<#141#>
=2000
to <#2304#>
<#2305#>by -Close the stream <#2306#>
func@star<#143#>FILE &sstarf#star;fdopen(int fd, const~char &sstarf#star;mode);<#143#>
=2000
to <#2307#>
<#2308#>by -Connect a file pointer to the file descriptor <#2309#>
func@star<#146#>int feof(FILE &sstarf#star;fp);<#146#>
=2000
to <#2311#>
<#2312#>by -Test EOF status of stream <#2313#>
func@star<#148#>int ferror(FILE &sstarf#star;fp);<#148#>
=2000
to <#2314#>
<#2315#>by -Test error status of stream <#2316#>
func@star<#150#>int fflush(FILE &sstarf#star;fp);<#150#>
=2000
to <#2317#>
<#2318#>by -Write data from internal buffer of stream <#2319#>
func@star<#152#>int fgetc(FILE &sstarf#star;fp);<#152#>
=2000
to <#2320#>
<#2321#>by -Get a character from stream <#2322#>
func@star<#154#>int fgetpos(FILE &sstarf#star;fp, fpos_t &sstarf#star;ptr);<#154#>
=2000
to <#2323#>
<#2324#>by -Put the current position of the file pointer of stream <#2325#>
func@star<#157#>char &sstarf#star;fgets(char &sstarf#star;buf, int max, FILE &sstarf#star;fp);<#157#>
=2000
to <#2327#>
<#2328#>by -Get a string including the NL character from stream <#2329#>
func@star<#161#>int fileno(FILE &sstarf#star;fp);<#161#>
=2000
to <#2332#>
<#2333#>by -Get file descriptor of stream <#2334#>
func@star<#163#>FILE &sstarf#star;fopen(const~char &sstarf#star;fname, const~char &sstarf#star;mode);<#163#>
=2000
to <#2335#>
<#2336#>by -Open file <#2337#>
func@star<#166#>int fputc(int c, FILE &sstarf#star;fp);<#166#>
=2000
to <#2339#>
<#2340#>by -Write a character <#2341#>
func@star<#169#>int fputs(const~char &sstarf#star;buf, FILE &sstarf#star;fp);<#169#>
=2000
to <#2343#>
<#2344#>by -Write the string in <#2345#>
func@star<#172#>size_t fread(void &sstarf#star;buf, size_t sz, size_t no, FILE &sstarf#star;fp);<#172#>
=2000
to <#2347#>
<#2348#>by -Read <#2349#>
func@star<#177#>FILE &sstarf#star;freopen(const~char &sstarf#star;fname, const~char &sstarf#star;mode, FILE &sstarf#star;fp);<#177#>
=2000
to <#2353#>
<#2354#>by -Reopen <#2355#>
func@star<#181#>int fseek(FILE &sstarf#star;fp, long pos, int whence);<#181#>
=2000
to <#2358#>
<#2359#>by -Move the the file pointer from stream <#2360#>
func@star<#185#>int fsetpos(FILE &sstarf#star;fp, fpos_t &sstarf#star;ptr);<#185#>
=2000
to <#2363#>
<#2364#>by -Set the position of the file pointer of stream <#2365#>
func@star<#188#>long ftell(FILE &sstarf#star;fp);<#188#>
=2000
to <#2367#>
<#2368#>by -Get the current position of the file pointer from stream <#2369#>
func@star<#190#>int fungetc(int c, FILE &sstarf#star;fp);<#190#>
=2000
to <#2370#>
<#2371#>by -Push the character <#2372#>
func@star<#193#>size_t fwrite(const~void &sstarf#star;buf, size_t size, size_t no , FILE &sstarf#star;fp);<#193#>
=2000
to <#2374#>
<#2375#>by -Write <#2376#>
func@star<#198#>long getl(FILE &sstarf#star;fp);<#198#>
=2000
to <#2380#>
<#2381#>by -Read a long value from stream <#2382#>
func@star<#200#>char &sstarf#star;gets(char &sstarf#star;buf);<#200#>
=2000
to <#2383#>
<#2384#>by -Get a string from stdin;SPMgt; into <#2385#>
func@star<#202#>short getw(FILE &sstarf#star;fp);<#202#>
=2000
to <#2386#>
<#2387#>by -Read a short value from stream <#2388#>
func@star<#204#>int pclose(FILE &sstarf#star;fp);<#204#>
=2000
to <#2389#>
<#2390#>by -Close the stream created by <#2391#>
func@star<#206#>void perror(const~char &sstarf#star;str);<#206#>
=2000
to <#2392#>
<#2393#>by -Display error message starting with <#2394#>
func@star<#209#>FILE &sstarf#star;popen(const~char &sstarf#star;command, const~char &sstarf#star;mode);<#209#>
=2000
to <#2396#>
<#2397#>by -Open a pipe with <#2398#>
func@star<#212#>int printf(const~char &sstarf#star;fmt, …);<#212#>
func@star<#213#>int fprintf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, …);<#213#>
func@star<#214#>int sprintf(char &sstarf#star;buf, const~char &sstarf#star;fmt, …);<#214#>
func@star<#215#>int vprintf(const~char &sstarf#star;fmt, char &sstarf#star;);<#215#>
func@star<#216#>int vfprintf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, char &sstarf#star;);<#216#>
func@star<#217#>int vsprintf(char &sstarf#star;buf, const~char &sstarf#star;fmt, char &sstarf#star;);<#217#>
=2000
to <#2400#>
<#2401#>by -Formated output to either stdout;SPMgt;, <#2402#>
<#1999#>=The following table lists the identifying letters of
the <#220#>
<#1999#>
=
#1##2##3<#2405#>##1;SPMamp;;SPMamp;##2;SPMamp;;SPMamp;##3<#2405#>
;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;
;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMamp;##;SPMamp;;SPMnbsp;;SPMnbsp;;SPMnbsp;;SPMnbsp;##
;SPMamp;scanf;SPMamp;;SPMamp;printf;SPMamp;;SPMamp;Meaning;SPMamp;
<#224#>
func@star<#297#>long putl(long c, FILE &sstarf#star;fp);<#297#>
=2000
to <#2407#>
<#2408#>by -Output the long value <#2409#>
func@star<#300#>int puts(const~char &sstarf#star;buf);<#300#>
=2000
to <#2411#>
<#2412#>by -Write the string in <#2413#>
func@star<#302#>short putw(short c, FILE &sstarf#star;fp);<#302#>
=2000
to <#2414#>
<#2415#>by -Output the short value <#2416#>
func@star<#305#>int remove(const~char &sstarf#star;fname);<#305#>
=2000
to <#2418#>
<#2419#>by -Remove file with name <#2420#>
func@star<#307#>int rename(const~char &sstarf#star;old, const~char &sstarf#star;new);<#307#>
=2000
to <#2421#>
<#2422#>by -Change name of file from <#2423#>
func@star<#310#>void rewind(FILE &sstarf#star;fp);<#310#>
=2000
to <#2425#>
<#2426#>by -Reset the filepointer from stream <#2427#>
func@star<#312#>int scanf(const~char &sstarf#star;fmt, …);<#312#>
func@star<#313#>int fscanf(FILE &sstarf#star;fp, const~char &sstarf#star;fmt, …);<#313#>
func@star<#314#>int sscanf(const~char &sstarf#star;buf, const~char &sstarf#star;fmt, …);<#314#>
=2000
to <#2428#>
<#2429#>by -Formated input from either stdin;SPMgt;, <#2430#>
func@star<#319#>void setbuf(FILE &sstarf#star;fp, char &sstarf#star;buf);<#319#>
=2000
to <#2434#>
<#2435#>by -Set buffer of stream <#2436#>
The following functions are defined as macros.
func@star<#322#>int setvbuf(FILE &sstarf#star;fp, char &sstarf#star;buf, int mode, size_t sz);<#322#>
=2000
to <#2438#>
<#2439#>by -Set buffer of stream <#2440#>
func@star<#327#>FILE &sstarf#star;tmpfile(void);<#327#>
=2000
to <#2444#>
<#2445#>by -Create a temporary file. File is deleted on normal termination.<#2445#><#2444#>
func@star<#329#>char &sstarf#star;tmpnam(char &sstarf#star;buf);<#329#>
=2000
to <#2446#>
<#2447#>by -Create a string for a temporary filename.<#2447#><#2446#>
func@star<#331#>void _binmode(int bool);<#331#>
=2000
to <#2448#>
<#2449#>by -Set default open mode to binary (bool = true) or text.<#2449#><#2448#>
<#2450#>I/O Control<#2450#>
<#2451#>
#include ioctl.h;SPMgt;
func@star<#334#>int ioctl(int fd, int cmd, void &sstarf#star;arg);<#334#>
=2000
to <#2456#>
<#2457#>by -Set or inquire i/o dependend parameter.<#2457#><#2456#>
func@star<#336#>int stty(int fd, struct sgttyb &sstarf#star;_tty);<#336#>
func@star<#337#>int gtty(int fd, struct sgttyb &sstarf#star;_tty);<#337#>
=2000
to <#2458#>
<#2459#>by -Set or inquire i/o parameters for descriptor <#2460#>
func@star<#339#>int fcntl(int fd, int cmd, …);<#339#>
=2000
to <#2461#>
<#2462#>by -Set or inquire file i/o dependend parameter (MiNT).<#2462#><#2461#>
<#2463#>Memory Management<#2463#>
<#2464#>
#include stdlib.h;SPMgt;
func@star<#342#>void &sstarf#star;calloc(size_t no, size_t sz);<#342#>
=2000
to <#2469#>
<#2470#>by -Allocate and initialize memory for <#2471#>
func@star<#345#>void &sstarf#star;malloc(size_t sz);<#345#>
=2000
to <#2473#>
<#2474#>by -Allocate <#2475#>
func@star<#347#>void &sstarf#star;realloc(void &sstarf#star;ptr, size_t sz);<#347#>
=2000
to <#2476#>
<#2477#>by -Resize memory pointed to by <#2478#>
func@star<#350#>void free(void &sstarf#star;ptr);<#350#>
=2000
to <#2480#>
<#2481#>by -Free memory obtained by <#2482#>
func@star<#354#>void &sstarf#star;alloca(size_t sz);<#354#>
=2000
to <#2485#>
<#2486#>by -Allocate <#2487#>
func@star<#356#>void _malloczero(int bool);<#356#>
=2000
to <#2488#>
<#2489#>by -Zero allocated memory blocks. Default = = false.<#2489#><#2488#>
func@star<#358#>void _mallocChunkSize(size_t Siz);<#358#>
=2000
to <#2490#>
<#2491#>by -Get memory from OS in atleast <#2492#>
func@star<#360#>void &sstarf#star;_calloc(unsigned~long no, unsigned~long sz);<#360#>
func@star<#361#>void &sstarf#star;_malloc(unsigned~long sz);<#361#>
func@star<#362#>void &sstarf#star;_realloc(void &sstarf#star;ptr, unsigned~long sz);<#362#>
=2000
to <#2493#>
<#2494#>by -Apart from the above functions, these three functions are
additionally declared in memory.h and take <#2495#>
<#2496#>Character Classification and Conversion<#2496#>
<#2497#>
The following functions return ≠ 0, if character <#365#>
#include ctype.h;SPMgt;
<#2017#><#366#>
Character conversion functions
<#2018#><#401#>
<#2502#>String Handling<#2502#>
<#2503#>
#include string.h;SPMgt;
func@star<#415#>int bcmp(const~void &sstarf#star;ptr1, const~void &sstarf#star;ptr2, size_t no);<#415#>
=2000
to <#2508#>
<#2509#>by -Compare <#2510#>
func@star<#419#>void bcopy(const~void &sstarf#star;src, void &sstarf#star;dst, size_t len);<#419#>
=2000
to <#2513#>
<#2514#>by -Copy <#2515#>
func@star<#423#>void bzero(void &sstarf#star;dst, size_t len);<#423#>
=2000
to <#2518#>
<#2519#>by -Set <#2520#>
func@star<#426#>char &sstarf#star;index(const~char &sstarf#star;str, int charw);<#426#>
func@star<#427#>char &sstarf#star;rindex(const~char &sstarf#star;str, int charw);<#427#>
=2000
to <#2522#>
<#2523#>by -Same as <#2524#>
func@star<#430#>void &sstarf#star;memccpy(void &sstarf#star;dst, const~void &sstarf#star;src, int ucharstop, size_t no);<#430#>
=2000
to <#2526#>
<#2527#>by -Copy characters from <#2528#>
func@star<#435#>void &sstarf#star;memchr(const~void &sstarf#star;ptr, int ucharwanted, size_t no);<#435#>
=2000
to <#2532#>
<#2533#>by -Find character <#2534#>
func@star<#439#>int memcmp(const~void &sstarf#star;ptr1, const~void &sstarf#star;ptr2, size_t no);<#439#>
=2000
to <#2537#>
<#2538#>by -Compare <#2539#>
func@star<#443#>void &sstarf#star;memcpy(void &sstarf#star;dst, const~void &sstarf#star;src, size_t no);<#443#>
=2000
to <#2542#>
<#2543#>by -Copy <#2544#>
func@star<#447#>void &sstarf#star;memset(void &sstarf#star;ptr, int ucharfill, size_t no);<#447#>
=2000
to <#2547#>
<#2548#>by -Set <#2549#>
func@star<#451#>char &sstarf#star;strcat(char &sstarf#star;dst, const~char &sstarf#star;src);<#451#>
func@star<#452#>char &sstarf#star;strncat(char &sstarf#star;dst, const~char &sstarf#star;src, size_t no);<#452#>
=2000
to <#2552#>
<#2553#>by -Concatenate the string at <#2554#>
func@star<#457#>char &sstarf#star;strchr(const~char &sstarf#star;str, int charw);<#457#>
func@star<#458#>char &sstarf#star;strrchr(const~char &sstarf#star;str, int charw);<#458#>
=2000
to <#2558#>
<#2559#>by -Find first (last) occurence of character <#2560#>
func@star<#461#>int strcmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#461#>
func@star<#462#>int strncmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#462#>
=2000
to <#2562#>
<#2563#>by -Compare string <#2564#>
func@star<#467#>char &sstarf#star;strcpy(char &sstarf#star;dst, const~char &sstarf#star;src);<#467#>
func@star<#468#>char &sstarf#star;strncpy(char &sstarf#star;dst, const~char &sstarf#star;src, size_t no);<#468#>
=2000
to <#2568#>
<#2569#>by -Copy string at <#2570#>
func@star<#473#>size_t strcspn(const~char &sstarf#star;str, const~char &sstarf#star;rej);<#473#>
=2000
to <#2574#>
<#2575#>by -Find length of initial segment of <#2576#>
func@star<#476#>char &sstarf#star;strdup(const~char &sstarf#star;str);<#476#>
=2000
to <#2578#>
<#2579#>by -Return a duplicate of string <#2580#>
func@star<#478#>char &sstarf#star;strerror(int errno);<#478#>
=2000
to <#2581#>
<#2582#>by -Map error number <#2583#>
func@star<#480#>int stricmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#480#>
func@star<#481#>int strcmpi(const~char &sstarf#star;str1, const~char &sstarf#star;str2);<#481#>
func@star<#482#>int strnicmp(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#482#>
func@star<#483#>int strncmpi(const~char &sstarf#star;str1, const~char &sstarf#star;str2, size_t no);<#483#>
=2000
to <#2584#>
<#2585#>by -Same as <#2586#>
func@star<#486#>size_t strlen(const~char &sstarf#star;str);<#486#>
=2000
to <#2588#>
<#2589#>by -Return length of string <#2590#>
func@star<#488#>char &sstarf#star;strlwr(char &sstarf#star;str);<#488#>
=2000
to <#2591#>
<#2592#>by -Change all character from string <#2593#>
func@star<#490#>char &sstarf#star;strpbrk(const~char &sstarf#star;str, const~char &sstarf#star;breakat);<#490#>
=2000
to <#2594#>
<#2595#>by -First occurrence of a character from string <#2596#>
func@star<#493#>char &sstarf#star;strrev(char &sstarf#star;str);<#493#>
=2000
to <#2598#>
<#2599#>by -Reverse all charcters in string <#2600#>
func@star<#495#>size_t strspn(const~char &sstarf#star;str, const~char &sstarf#star;accept);<#495#>
=2000
to <#2601#>
<#2602#>by -Find length of initial segment of <#2603#>
func@star<#498#>char &sstarf#star;strstr(const~char &sstarf#star;str, const~char &sstarf#star;wanted);<#498#>
=2000
to <#2605#>
<#2606#>by -Find first occurence of string <#2607#>
func@star<#501#>char &sstarf#star;strtok(char &sstarf#star;str, const~char &sstarf#star;delim);<#501#>
=2000
to <#2609#>
<#2610#>by -Retrieve fields from string <#2611#>
<#2613#>Process Management<#2613#>
<#2614#>
#include stdlib.h;SPMgt;
func@star<#505#>void abort();<#505#>
=2000
to <#2619#>
<#2620#>by -Immediatly abort the running program.<#2620#><#2619#>
func@star<#507#>int atexit(void (&sstarf#star;func)());<#507#>
=2000
to <#2621#>
<#2622#>by -Register a function for execution on termination.<#2622#><#2621#>
func@star<#509#>void exit(int ret);<#509#>
=2000
to <#2623#>
<#2624#>by -Exit current process with return value <#2625#>
func@star<#511#>int system(const~char &sstarf#star;prog);<#511#>
=2000
to <#2626#>
<#2627#>by -Execute command <#2628#>
<#1942#>
<#2279#>
<#2280#>
=3by 3<#2281#><#2281#>
<#2282#>
<#2282#>
<#2280#><#2279#>
by 1
ac
<#1943#>
<#1944#>
by 1
<#2248#>
=`
{=`{
}=`}
Additionally, this reference card is postcard-ware. If you find it
useful, send a postcard to this address: Frank Ridderbusch, Sander
Str.~17, W-4790~Paderborn, Germany.
<#224#>
;SPMamp;d;SPMamp;;SPMamp;d,i;SPMamp;;SPMamp;Decimal number;SPMamp;
;SPMamp;o;SPMamp;;SPMamp;o;SPMamp;;SPMamp;Octal number;SPMamp;
;SPMamp;x;SPMamp;;SPMamp;x,X;SPMamp;;SPMamp;Hexadecimal number;SPMamp;
;SPMamp;u;SPMamp;;SPMamp;u;SPMamp;;SPMamp;Unsigned decimal n.;SPMamp;
;SPMamp;b;SPMamp;;SPMamp;;SPMamp;;SPMamp;Unsigned binary int.;SPMamp;
;SPMamp;i;SPMamp;;SPMamp;;SPMamp;;SPMamp;Any base num.;SPMamp;
;SPMamp;D;SPMamp;;SPMamp;D;SPMamp;;SPMamp;Long Decimal number;SPMamp;
;SPMamp;O;SPMamp;;SPMamp;O;SPMamp;;SPMamp;Long Octal number;SPMamp;
;SPMamp;U;SPMamp;;SPMamp;U;SPMamp;;SPMamp;Unsigned long decimal;SPMamp;
;SPMamp;X;SPMamp;;SPMamp;;SPMamp;;SPMamp;Long Hexadecimal;SPMamp;
;SPMamp;ld,lo,lx;SPMamp;;SPMamp;ld,li,lo,lx,lX;SPMamp;;SPMamp;Long … number;SPMamp;
;SPMamp;lb;SPMamp;;SPMamp;;SPMamp;;SPMamp;Unsigned binary long;SPMamp;
;SPMamp;li;SPMamp;;SPMamp;;SPMamp;;SPMamp;Any base num. long;SPMamp;
;SPMamp;hd,ho,hx;SPMamp;;SPMamp;d,o,x,X;SPMamp;;SPMamp;Short … number;SPMamp;
;SPMamp;c;SPMamp;;SPMamp;c;SPMamp;;SPMamp;Character;SPMamp;
;SPMamp;s;SPMamp;;SPMamp;s;SPMamp;;SPMamp;String;SPMamp;
;SPMamp;;SPMamp;;SPMamp;p;SPMamp;;SPMamp;Pointer;SPMamp;
;SPMamp;[…];SPMamp;;SPMamp;;SPMamp;;SPMamp;Str. consist. of char.;SPMamp;
;SPMamp;e,f,g;SPMamp;;SPMamp;f;SPMamp;;SPMamp;Fixed-point number;SPMamp;
;SPMamp;e,f,g;SPMamp;;SPMamp;e,E;SPMamp;;SPMamp;Floating-point number;SPMamp;
;SPMamp;le,lf,lg;SPMamp;;SPMamp;;SPMamp;;SPMamp;Double prec. … n.;SPMamp;
;SPMamp;E,F,G;SPMamp;;SPMamp;;SPMamp;;SPMamp;Double prec. … n.;SPMamp;
;SPMamp;Le,Lf,Lg;SPMamp;;SPMamp;Le,LE,Lf;SPMamp;;SPMamp;Long Double … n.;SPMamp;
;SPMamp;;SPMamp;;SPMamp;g,G,Lg,LG;SPMamp;;SPMamp;e/E or f - shortest used;SPMamp;
=0em
#include fcntl.h;SPMgt;
#include memory.h;SPMgt;