C Stdlib Notes
From Rebertia
Contents |
stdlib.h
All but free() return NULL on error.
void* malloc(sizeInBytes)void* calloc(lengthOfArray, sizeOfArrayElement)- zeros memory beforehandvoid* realloc(void*, newSizeInBytes)void free(void*)
stdio.h
Basics
FILE* fopen(filename, mode)- NULL on errorFILE* freopen(filename, mode, FILE*)- used to redirect stdin, stdout, etc. NULL & closes file on errorint fclose(FILE*)- EOF on errorint fflush(FILE*)- EOF on errorFOPEN_MAX- max # of files you can have openFILENAME_MAX- length of longest possible filenameEOF- End Of File sentinel valueint fputs(char[], FILE*)- EOF on errorchar[] fgets(char[] buffer, bufferSize, FILE*)- stops on newline (but will include it). returns NULL on error/EOF, otherwise returns buffer itselfint fprintf(FILE*, format, ...)- # chars printed, or EOF on errorint fscanf(FILE*, format, ...)- EOF on immediate error, # values assigned otherwise (< expected indicates error)
Low-level
int getc(FILE*)- EOF on errorint ungetc(char, FILE*)- EOF on errorint putc(char, FILE*)- EOF on error
Misc
int snprintf(char[] buffer, sizeOfBuffer, format, ...)int sscanf(char[] source, format, ...)bool ferror(FILE*)- check FILE's error flagbool feof(FILE*)- is position @ EOF?void clearerr(FILE*)- clears error+EOF flags
Random access
long ftell(FILE*)- returns file position. on error, returns -1 and sets errnoint fseek(FILE*, long offsetInBytes, origin)- returns -1 on errororiginvalues:SEEK_SET- start of fileSEEK_CUR- current positionSEEK_END- EOF
NOTE: some things not actually ints in the preceding
Binary streams only
int fread(void* object, sizeOfObject, numberOfObjects, FILE*)- reads object in from file. returns # of objs read; if <numberOfObjects, then error/EOFint fwrite(void* object, sizeOfObject, numberOfObjects, FILE*)- reads object in from file. returns # of objs written; if <numberOfObjects, then error/EOF
string.h
char[] strerror(errno)- error message describing error
