Mercurial > hg > Members > kono > nitros9-code
view docs/ccguide/chap4.chapter @ 2342:82c9672489a0
Made change to workings of SHARE. bit to what I believe is the proper way.
author | boisy |
---|---|
date | Fri, 15 Jan 2010 15:54:53 +0000 |
parents | 497d17b4b264 |
children |
line wrap: on
line source
<chapter> <title>C Standard Library</title> <para> The Standard Library contains functions which fall into two classes: high-level I/O and convenience. </para> <para> The high-level I/O functions provide facilities that are normally considered part of the definition of other languages; for example, the FORMAT "statement" of Fortran. In addition, automatic buffering of I/O channels improves the speed of file access because fewer system calls are necessary. </para> <para> The high-level I/O functions should not be confused with the low-level system calls with similar names. Nor shoul "file pointers" be confused with "path numbers". The standard library functions maintain a structure for each file open that holds status information and a pointer into the files buffer, A user program uses a pointer to this structure as the "identity" of the file (which is provided by "fopen()"), and passes it to the various I/O functions. The I/O functions will make the low-level system calls when necessary. </para> <para> <emphasis>Using a file pointer in a systen call, or a path number in a Standard Library call</emphasis>, is a common mistake among beginners to C and, if made, will be sure to <emphasis>crash your program.</emphasis> </para> <para> The convenience functions include facilities for copying, comparing, and concatening strings, converting numbers to strings, and doing the extra work in accessing systen information such as the time. </para> <para> In the page which follow, the functions available are described in terms of what they do and the parameters they expect. The "USAGE" section shows the name of the function and the type returned (if not int). The declaration of arguments are shown as they would be written in the function definition to indicate the types expected by the function. If it is necesary to include a file before the function can be used, it is shown in the "USAGE" section by "#include <filename>". </para> <para> Most of the header files that are required to be included, must reside in the "DEFS" directory on the default system drive. If the file is included in the source program using angle bracket delimiters instead of the usual double quotes, the compiler will append this path name to the file name. For example, "#include <stdio.h>" is equivalent to "#include </d0/defs/stdio.h>", if "/d0" is the path name of the default system drive. </para> <para> <emphasis>Please note</emphasis> that if the type of the valye returned by a function is not INT, you should make a pre-declaration in your program before calling it. For example, if you wish to use "atof()", you should pre-declare by having "double atof();" somewhere in your program before a call to it. Some functions which have associated header files in the DEFS directory that should be included, will be pre-declared for you in the header. An example of this is "ftell()" which is pre-declared in "stdio.h". If you are in any doubt, read the header file. </para> &atofref; &fcloseref; &feofref; &findstrref; &fopenref; &freadref; &fseekref; &getcref; &getsref; &isalpharef; &l3tolref; &longjmpref; &mallocref; &mktempref; &printfref; &putcref; &putsref; &qsortref; &scanfref; &setbufref; &sleepref; &strcatref; &systemref; &toupperref; &ungetcref; </chapter>