CSC 357 Lecture Notes Week 3
Leftovers from Week 2 Notes; Additional C Language and Library
Features
FILE* fopen(char* name, char* mode);
#define getchar() getc(stdin) #define putchar() putc(stdout)
See the man pages for each for further discussion, including what the return values are used for.int fscanf(FILE* fp, char* format, ...) int fprintf(FILE* fp, char* format, ...)
fprintf(stderr, "%s: No such file or director", filename);
If successful, it returns the filled line, a null pointer otherwise.char* fgets(char* line, int maxline, FILE* fp)
If successful, it returns the number of chars output, EOF otherwise.int fputs(char* line, FILE* fp)
static int i;
#include <strings.h> #include <stdlib.h> #include <stdio.h> char s[20]; char* f(char* s1, char* s2, int* ip) { char* s3; s3 = strcat(s1, s2); strcpy(s, s3); *ip = strlen(s3); return s3; } void main() { char s1[20] = "abcdef"; char* s2 = strcpy((char*) malloc(strlen("ghijklmn")), "ghijklmn"); char* s3; int i; s3 = f(s1, s2, &i); free(s2); printf("s=%s, s3=%s, length of s=%d, length of s3=%d0, s, s3, strlen(s), i); printf("sizeof(s)=%d, sizeof(s3)=%d0, sizeof(s), sizeof(s3)); }