Annotation of coherent/a/usr/man/ALL/fopen, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: fopen()                   STDIO Function                  fopen()
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: Open a stream for standard I/O
        !             9: 
        !            10: #include <stdio.h>
        !            11: FFIILLEE *ffooppeenn (_n_a_m_e, _t_y_p_e) cchhaarr *_n_a_m_e, *_t_y_p_e;
        !            12: 
        !            13: fopen  allocates and  initializes  a FILE  structure, or  stream;
        !            14: opens  or creates  the file  name; and returns  a pointer  to the
        !            15: structure for  use by other  STDIO routines.  name  refers to the
        !            16: file to be opened.  type is a string that consists of one or more
        !            17: of the characters ``rwa'', to indicate the mode of the string, as
        !            18: follows:
        !            19: 
        !            20: 
        !            21:              rr       Read; error if file not found
        !            22:              ww       Write; truncate if found, create if not found
        !            23: 
        !            24: 
        !            25: 
        !            26:              aa       Append to end of file; no truncation, create if not found
        !            27:              rr+      Read and write; no truncation, error if not found
        !            28: 
        !            29: 
        !            30: 
        !            31:              ww+      Write and read; truncate if found, create if not found
        !            32:              aa+      Append and read; no truncation, create if not found
        !            33: 
        !            34: 
        !            35: The modes that  contain `a' set the seek pointer  to point at the
        !            36: end of the file; all other modes set it to point at the beginning
        !            37: of  the  file.   Modes that  contain  `+'  both  read and  write;
        !            38: however, a  program must call ffsseeeekk or  rreewwiinndd before it switches
        !            39: from reading to writing or vice versa.
        !            40: 
        !            41: ***** Example *****  This example copies argv[1] to argv[2] using
        !            42: STDIO  routines.   It demonstrates  the  functions fopen,  fread,
        !            43: fwrite, fclose, and feof.
        !            44: 
        !            45: 
        !            46: #include <stdio.h>
        !            47: /* BUFSIZ is defined in stdio.h */
        !            48: char buf[BUFSIZ];
        !            49: 
        !            50: 
        !            51: 
        !            52: void fatal(message)
        !            53: char *message;
        !            54: {
        !            55:         fprintf(stderr, "copy: %s\n", message);
        !            56:         exit(1);
        !            57: }
        !            58: 
        !            59: 
        !            60: 
        !            61: 
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 
        !            67: 
        !            68: 
        !            69: fopen()                   STDIO Function                  fopen()
        !            70: 
        !            71: 
        !            72: 
        !            73: main(argc, argv)
        !            74: int argc; char *argv[];
        !            75: {
        !            76:         register FILE *ifp, *ofp;
        !            77:         register unsigned int n;
        !            78: 
        !            79: 
        !            80: 
        !            81:         if (argc != 3)
        !            82:                 fatal("Usage: copy source destination");
        !            83:         if ((ifp = fopen(argv[1], "r")) == NULL)
        !            84:                 fatal("cannot open input file");
        !            85:         if ((ofp = fopen(argv[2], "w")) == NULL)
        !            86:                 fatal("cannot open output file");
        !            87: 
        !            88: 
        !            89: 
        !            90:         while ((n = fread(buf, 1, BUFSIZ, ifp)) != 0) {
        !            91:                 if (fwrite(buf, 1, n, ofp) != n)
        !            92:                         fatal("write error");
        !            93:         }
        !            94: 
        !            95: 
        !            96: 
        !            97:         if (!feof(ifp))
        !            98:                 fatal("read error");
        !            99:         if (fclose(ifp) == EOF || fclose(ofp) == EOF)
        !           100:                 fatal("cannot close");
        !           101:         exit(0);
        !           102: }
        !           103: 
        !           104: 
        !           105: ***** See Also *****
        !           106: 
        !           107: fclose(), fdopen(), freopen(), STDIO
        !           108: 
        !           109: ***** Diagnostics *****
        !           110: 
        !           111: fopen returns NULL if it cannot allocate a FILE structure, if the
        !           112: type string is  nonsense, or if the call to  open or creat fails.
        !           113: Currently, only 20  FILE structures can be allocated per program,
        !           114: including stdin, stdout, and stderr.
        !           115: 
        !           116: ***** Notes *****
        !           117: 
        !           118: Many operating systems recognize a `b' modifier to the type argu-
        !           119: ment; this  indicates that the file  contains binary information,
        !           120: and lets  the operating  system handle ``funny  characters'' cor-
        !           121: rectly.  COHERENT has  no need of such a modifier,  so if you ap-
        !           122: pend `b' to type, it will be ignored.  This modifier, however, is
        !           123: recognized by numerous other operating systems, including MS-DOS,
        !           124: OS/2, and GEMDOS.  If you expect to port developed code to any of
        !           125: these operating systems, files should append the `b' to type.
        !           126: 
        !           127: 
        !           128: 
        !           129: 
        !           130: COHERENT Lexicon                                           Page 2
        !           131: 
        !           132: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.