Buffered File I/O Summary

Specifier format:  %w.pt (width, precision, data type)

Specifier types:

d, i                          integer in decimal format

o                                             integer in octal format

x                                              integer in hexadecimal format

u                                             unsigned integer in decimal format

c                                             integer in character format

s                                              char *; prints all characters until the '\0'

f                                              double [-]m.dddddd – by default 6 decimal places

e, E                         double [-]m.dddddde±xx or mddddddE±xx

g, G                        double; uses (e, E) if exponent is less than -4 or greater than or equal to precision; otherwise uses f format.

scanf  also uses set [ ] or everything but the set with [^ ].

File Pointer creation: File *fp

File opening modes: r, w, a, rb, wb, ab (b = binary) (r  = read; w = write; a = append)

Open command: fopen(filename, opening mode);

·         returns a pointer to the file or NULL if cannot open

·         Sample:                FILE *ifp

if ((ifp = fopen(ifilename, "r")) == NULL)             {
                                fprintf(stderr, "Cannot open %s\n", ifilename); }

Close command: fclose(fp);

Text File read / write commands:

Screen commands

File commands

putchar(c);

putc(fp, c);

getchar();

getc(fp);

printf("…", …);

fprintf(fp, "…", …);

scanf("…", …);

fscanf(fp, "…", …);

gets(s);

fgets(fp, max size, s)

puts(s);

fputs(fp, s);

 

Binary File read / write commands:

·         fread: (pointer to read_buffer_var, object size, # objects, file pointer)

o   Ex: fread(&person, sizeof(person), 1, ifp) >= 1

o   Returns number read

·         Fwrite: (pointer to write_buffer_var, object size, # objects, file pointer)

o   fwrite(&person, sizeof(person), 1, ofp);

o   returns number written