1 / 7

File Processing

File Processing. Read from and Write to Text Files. Using Input/Output Files. Declare file pointers FILE * inpf , /* pointer to a file for input */ * outpf ; /* pointer to a file for output */ Open files for reading and writing inpf = fopen (“data.txt“, “r“);

nevaeh
Download Presentation

File Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File Processing Read from and Write to Text Files

  2. Using Input/Output Files • Declare file pointers FILE *inpf, /* pointer to a file for input */ *outpf; /* pointer to a file for output */ • Open files for reading and writing inpf = fopen(“data.txt“, “r“); outpf = fopen(“out.txt“, “w“); • Read from and Write into files fscanf(inpf, “%lf“, &Radius); fprintf(outpf, “Area of Circle is %f\n“, AreaCircle); • Close all open files fclose (inpf); fclose(outpf); CENG 114

  3. fopen • fopen(arg1, arg2) • Input: arg1 is a string which is the name of the file to be opened. If the file is not in the same directory as the program, you should include the path as well (“C:\users\myname\desktop\projects.txt”) • Input: arg2 is a string as shown below: • “r” means read. • “w” means write • “a” means append • Output: Returns a pointer • If “r” is used, returns a pointer pointing to the first character of the file. If the file cannot be opened it returns NULL pointer. • If “w” is used, returns a pointer pointing to the beginning of the file. If the file does not exist, it creates the file; if it exists, it clears the contents. • If “a” is used, returns a pointer pointing to the end of the file. If the file does not exist, it creates the file.

  4. fgets/fputs • fgets(char *str, int n, FILE *) • Input: A pointer to a string (char array), an integer for maximum characters to be read, and a file pointer • Output: Reads one line into this array until \n. It stores \n, and it puts \0 at end. This function never stores more than n-1 characters (plus \0). If the line is more than n-1 characters, then the first n-1 characters are read and \0 is put at the end (no \n is stored). • When fgets encounters EOF, it returns a NULL pointer. • fputs(char *str, FILE *) • Input: A pointer to a string array (or the string in “ “) and a file pointer • Output: Prints the string into file CENG 114

  5. Example - fgets/fputs #include <stdio.h> #include <string.h> int main(void) { char line[80]; FILE *myfilep; char *status; myfilep = fopen("Myfile.txt", "w"); fputs("This is line 1\n", myfilep); fputs("This is a long long line which is line 2\n", myfilep); fputs("This is line 3", myfilep); fclose(myfilep); CENG 114

  6. Example - fgets/fputs myfilep = fopen("Myfile.txt", "r"); status = fgets(line, 50, myfilep); while(status != 0) { if(line[strlen(line) - 1] == '\n') line[strlen(line) - 1] = '\0'; puts(line); status = fgets(line, 50, myfilep); } return (0); } CENG 114

  7. getchar/putchargetc/putc • getchar() • reads a character from standard input • returns the value of the character • ch = getchar()  scanf(“%c”, &ch) • putchar(char ch) • prints the character argument onto standard output • putchar(ch)  printf(“%c”, ch) • getc(FILE *inpfl) • Same as getchar, but reads from a file • ch = getc(inpfl) • putc(char, FILE *outpfl) • Same as putchar, but prints to a file • putc(ch, outpfl) CENG 114

More Related