File Management in C File Management in C
- Slides: 27
File Management in C
File Management in C • A file is a collection of related data that a computers treats as a single unit. • File is a collection of data stored permanently on secondary storage device. • Files are 2 types • Text files • Binary files
File Management in C • Text file • Collection of characters that a computer can process sequentially • Only in forward direction • A text files is usually opened for only one kind of operation (reading, writing or appending) at a time • Text file can only read or write one character at a time • Newline character may be converted
File Management in C • Binary file • Similar to text file • It is a collection of bytes (in c bytes and characters are same) • No special processing of the data occurs • It may be read from or write to in any manner • Can processed sequentially or randomly • Random accessing involves moving the current file position to an appropriate place in the file before reading or writing data.
File Management in C • Basic file operations – Naming a file – Opening a file for reading only – Opening a file for writing only – Closing the file
File Management in C • File name • May contain two parts – Primary part – Extension part – Primary part contains maximum 8 characters – Extension part contains maximum 3 characters • Examples: a. out, prog. c, temp, text. out
File Management in C • FILE Pointer • Which used to manipulate the file pointers(read pointer & write pointer) • File pointer can be declared • FILE *pointer; • Eg • FILE *fp • fp – contains all information about file – Communication link between system and program
File Management in C • • • File handling functions: included in the header file stdio. h fopen() fclose() getc() putc() getw() putw() fprintf() fscanf()
File Management in C • fopen() • used to create or open an existing file • Syntax file pointer= fopen(“filename”, ”mode”); • • Filename of the file Mode : takes 3 values • • • r opening the file for reading only w opening the file for writing only a opening the file in append mode Eg Fp=fopen(“popo. txt”, ”w”); opening the file popo. txt for writing data
File Management in C • File mode • When a file opened in r mode if the file already exist, the content will not lost, read data from beginning of the file (BOF) • When a file opened in w mode if the file already exist, the content will lost, write date from the beginning of the file (BOF) • When a file opened in a mode if the file already exist, the content will not lost, add more data at end of the file (EOF)
File Management in C
File Management in C • Additional Modes • r+ (read+write) open to beginning for both reading/writing • In this mode the previous record of file is not deleted • w+ (write+read) same as w, we can also read record which is stored in the file • a+ (append+read) same as ‘a’, we can also read record which is stored in the file
File Management in C • fclose() • File must be closed as soon as all operations on it completed • To ensures – All outstanding information associated with file flushed out from buffers – All links to file broken – Accidental misuse of file prevented • If want to change mode of file, then first close and open again
File Management in C fclose() Syntax: fclose(file_pointer); Example: FILE *p 1, *p 2; p 1 = fopen(“INPUT. txt”, “r”); p 2 =fopen(“OUTPUT. txt”, “w”); ……. . fclose(p 1); fclose(p 2); pointer can be reused after closing
File Management in C • • • getc() – read a character from the file putc() – write a character into the file getw() – read integer from the file putw() – write integer into the file fprintf() – write set of data values into the file fscanf() – read set of data values from the file
File Management in C • handle one character at a time like getc() and putchar() • syntax: putc(character, file pointer); • Eg : putc(c, fp); c char variable , fp file pointer • syntax: Character variable=getc(file pointer); • Eg: c=getc(fp); c char variable, fp file pointer • file pointer moves by one character position after every getc() and putc() • getc() returns end-of-file marker EOF when file end reached
File Management in C Program to read/write using getc() & putc() #include <stdio. h> main() { FILE *f 1; char c; f 1= fopen(“INPUT. txt”, “w”); /* open file for writing */ while((c=getchar()) != ‘*’) /*get char from keyboard until ‘*’ */ putc(c, f 1); /*write a character to INPUT */ fclose(f 1); f 1=fopen(“INPUT. txt”, “r”); /* close INPUT */ /* reopen file */ while((c=getc(f 1))!=EOF) /*read character from file INPUT*/ printf(“%c”, c); /* print character to screen */ fclose(f 1); } /*end main */
File Management in C Multi file Accessing (Copy the content of one file to another) #include <stdio. h> main() { FILE *f 1, *f 2; char c; f 1= fopen(“INPUT. txt”, “w”); /* open file for writing */ while((c=getchar()) != ‘*’) /*get char from keyboard until ‘*’ */ putc(c, f 1); /*write a character to INPUT */ fclose(f 1); /* close INPUT */ f 1=fopen(“INPUT. txt”, “r”); /* reopen file */ f 2=fopen(“copy. txt”, ”w”); // open to write data while((c=getc(f 1))!=EOF) /*read character from file INPUT*/ putc(c, f 2); /* copy data to second file */ fclose(f 1); fclose(f 2); }
File Management in C getw() and putw() getw() read an integer from the file putw() write an integer into the file putw() syntax: putw(integer, file pointer); Eg : putc(c, fp); c int variable , fp file pointer syntax: int variable=getw(file pointer); Eg: c=getw(fp); c int variable, fp file pointer moves by one character position after every getw() and putw() • getw() returns end-of-file marker EOF when file end reached • • •
C program using getw(), putw() main() { int i; FILE *f 1; f 1 = fopen("int_data. txt", "w"); // open files for(i=10; i<15; i++) // write integers to files { putw(i, f 1); } fclose(f 1); f 1 = fopen("int_data. txt", "r"); while((i=getw(f 1))!=EOF) { printf(“%dn", i); } fclose(f 1); getch(); }
File Management in C • • • fscanf() fprintf() fscanf() : read mixed type of data from the file fprintf() : write mixed type of data into the file fscanf() syntax: fscanf(fp, ”control string”, &variable list); Eg : fscanf(fp, ”%d%s”, &a, b); a int a; b char b[20]; fprintf() Syntax : fprintf(fp, ”control string”, variable list); Eg : fprintf(fp, ”%d %s’, a, b); a int a=10; b char b[20]=“ajith”;
C program using fscanf(), fprintf() main() { int a; char name[20]; FILE *fp; fp=fopen(“data. txt”, ”w”); printf(“enter no and aname”); scanf(“%d%s”, &a, name); fprintf(fp, ”%d %s”, a, name); fclose(f 2); fp=fopen(“data. txt”, ”r”); fscanf(fp, “%d%s”, &a, name); printf(“ndata in the file %d %s”, a, name); fclose(fp); getch(); fclose(f 2); }
Binary files (Random files) • Jump to a given position (byte number) in a file without reading all the previous data • For random accessing files, different functions are • Ftell() return the position of file pointer • Rewind() move the file pointer to BOF • Fseek() move the file pointer to the desire location
Binary files (Random files) ftell(fp) returns current byte position in file rewind(fp) resets position to start of file fseek (file-pointer, offset, position); position: 0 (beginning), 1 (current), 2 (end) offset: number of locations to move from position Example: fseek(fp, -m, 1); // move back by m bytes from current position fseek(fp, m, 0); //move to m byte • fseek(fp, -10, 2); // move 10 bytes backword • •
Random access to files • • • • • • main() { FILE *fp; char c; clrscr(); fp=fopen("check. txt", "w"); while((c=getchar())!='*') { putc(c, fp); } printf("n position of file pointer %d", ftell(fp)); rewind(fp); printf("n position of file pointer %d", ftell(fp)); fclose(fp); fp=fopen("check. txt", "r"); while((c=getc(fp))!=EOF) { printf("%c", c); fseek(fp, 2, 1); } getch(); }
File Management in C • fread() fwrite) • Used for reading/writing block of data from/to the file. • These functions accept four arguments. • The first argument is Pointer to a block of memory used for reading/writing the data. The secong argument is Size, in bytes, of each element to be read/write • The third argument is Number of elements, each one with a size of size bytes. • The fourth argument is file pointer
File Management in C • fread() fwrite) • Syntax fwrite ( void * ptr, size, count, FILE pointer); fread ( void * ptr, size, count, FILE pointer); • Eg char c[20]=“popo”; • FILE *fp; fp=fopen(“data. txt”, ”w”); fwrite(c, 1, 3, fp); c pointer , 1 size of each char 3 no of char to write, fp file pointer The content of data. txt pop
- File-file yang dibuat oleh user pada jenis file di linux
- Physical image vs logical image
- Fungsi sistem file
- Distributed file system definition
- Markup tag tells the web browser
- In a file-oriented information system, a transaction file
- Management files for
- File management components
- E office project
- Ansys workbench project file management
- File management strategies
- File management in android operating system
- Module 4 operating systems and file management
- File management in c
- Electronic file management
- 3 importance of file management
- Objectives of file management system
- File management in c
- Pyramid levels of management
- Management pyramid
- Top management and middle management
- Zfs distributed file system
- What is a factfile
- Winman software download
- Windows movie maker 2012 download
- Fts file transfer
- How to delete an uploaded file on managebac
- Iget algorithm in unix