SlideShare a Scribd company logo
1 of 23
FILE HANDLING IN C
CONSOLE ORIENTED
INPUT/OUTPUT
• Console oriented – use terminal (keyboard/screen)
scanf(“%d”,&i) – read data from keyboard
printf(“%d”,i) – print data to monitor
• Suitable for small volumes of data
• Data lost when program terminated
REAL-LIFE APPLICATIONS
• Large data volumes
• E.g. physical experiments (CERN collider), human
genome, population records etc.
• Need for flexible approach to store/retrieve data
• Concept of files
Files
• File – place on disc where group of related data is stored
• E.g. your C programs, executables
• High-level programming languages support file
operations
• Naming
• Opening
• Reading
• Writing
• Closing
DEFINING AND OPENING FILE
• To store data file in secondary memory (disc) must
specify to OS
• Filename (e.G. Sort.C, input.Data)
• Data structure (e.G. File)
• Purpose (e.G. Reading, writing, appending)
FILENAME
• String of characters that make up a valid filename
for OS.
• May contain two parts
• Primary
• Optional period with extension
• Examples: a.out, prog.c, temp, text.out
GENERAL FORMAT FOR OPENING
FILE
• fp
• contains all information about file
• Communication link between system and program
• Mode can be
• r open file for reading only
• w open file for writing only
• a open file for appending (adding) data
FILE *fp; /*variable fp is pointer to type FILE*/
fp = fopen(“filename”, “mode”);
/*opens file with name filename , assigns identifier to fp */
DIFFERENT MODES
• Writing mode
• if file already exists then contents are deleted,
• else new file with specified name created
• Appending mode
• if file already exists then file opened with contents safe
• else new file created
• Reading mode
• if file already exists then opened with contents safe
• else error occurs.
FILE *p1, *p2;
p1 = fopen(“data”,”r”);
p2= fopen(“results”, w”);
ADDITIONAL MODES
• r+ open to beginning for both reading/writing
• w+ same as w except both for reading and writing
• a+ same as ‘a’ except both for reading and
writing
CLOSING A FILE
• File must be closed as soon as all operations on it
completed.
• 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.
CLOSING A FILE
• pointer can be reused after closing
Syntax: fclose(file_pointer);
Example:
FILE *p1, *p2;
p1 = fopen(“INPUT.txt”, “r”);
p2 =fopen(“OUTPUT.txt”, “w”);
……..
……..
fclose(p1);
fclose(p2);
INPUT/OUTPUT OPERATIONS ON
FILES
• C provides several different functions for
reading/writing
1. getc() – read a character
2. putc() – write a character
3. fprintf() – write set of data values
4. fscanf() – read set of data values
5. getw() – read integer
6. putw() – write integer
GETC() AND PUTC()
• Handle one character at a time like getchar() and
putchar()
• syntax: putc(c,fp1);
• c : a character variable
• fp1 : pointer to file opened with mode w
• syntax: c = getc(fp2);
• c : a character variable
• fp2 : pointer to file opened with mode r
• file pointer moves by one character position after
every getc() and putc()
• getc() returns end-of-file marker EOF when file end
reached
PROGRAM TO READ/WRITE USING
GETC/PUTC
main()
{ FILE *fp1;
char c;
f1= fopen(“INPUT”, “w”); /* open file for writing */
while((c=getchar()) != EOF) /*get char from keyboard
putc(c,f1); /*write a character to INPUT */
fclose(f1); /* close INPUT */
f1=fopen(“INPUT”, “r”); /* reopen file */
while((c=getc(f1))!=EOF) /*read character from file INPUT*/
printf(“%c”, c); /* print character to screen */
fclose(f1);
} /*end main */
FSCANF() AND FPRINTF()
• Similar to scanf() and printf()
• In addition provide file-pointer
• Given the following
• file-pointer f1 (points to file opened in write mode)
• file-pointer f2 (points to file opened in read mode)
• integer variable i
• float variable f
• Example:
fprintf(f1, “%d %fn”, i, f);
fprintf(stdout, “%f n”, f); /*note: stdout
refers to screen */
fscanf(f2, “%d %f”, &i, &f);
• fscanf returns EOF when end-of-file reached
GETW() AND PUTW()
• Handle one integer at a time
• syntax: putw(i,fp1);
• i : an integer variable
• fp1 : pointer to file ipened with mode w
• syntax: i = getw(fp2);
• i : an integer variable
• fp2 : pointer to file opened with mode r
• File pointer moves by one integer position, data
stored in binary format native to local system
• getw() returns end-of-file marker EOF when file end
reached
C PROGRAM USING GETW,
PUTW,FSCANF, FPRINTF
main()
{ int i,sum1=0;
FILE *f1;
/* open files */
f1 = fopen("int_data.bin","w");
for(i=10;i<15;i++) putw(i,f1);
fclose(f1);
f1 = fopen("int_data.bin","r");
while((i=getw(f1))!=EOF)
{ sum1+=i;
printf("binary file: i=%dn",i);
} /* end while getw */
printf("binary sum=%d,sum1);
fclose(f1);
}
OUTPUT: $ ./a.out
binary file: i=10
binary file: i=11
binary file: i=12
binary file: i=13
binary file: i=14
binary sum=60,
$ cat int_data.txt
10
11
12
13
14
ERRORS THAT OCCUR DURING
I/O
• Typical errors that occur:
1. trying to read beyond end-of-file
2. trying to use a file that has not been opened
3. perform operation on file not permitted by ‘fopen’
mode
4. open file with invalid filename
5. write to write-protected file
ERROR HANDLING
• Given file-pointer, check if EOF reached, errors
while handling file, problems opening file etc.
• Check if EOF reached: feof()
• feof() takes file-pointer as input, returns nonzero if
all data read and zero otherwise
if(feof(fp))
printf(“End of datan”);
• ferror() takes file-pointer as input, returns nonzero
integer if error detected else returns zero
if(ferror(fp) !=0)
printf(“An error has occurredn”);
ERROR WHILE OPENING FILE
• if file cannot be opened then fopen returns a NULL
pointer
• Good practice to check if pointer is NULL before
proceeding
fp = fopen(“input.dat”, “r”);
if (fp == NULL)
printf(“File could not be opened n ”);
RANDOM ACCESS TO FILES
• 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+1)th byte in
file */
fseek(fp, -10, 2); /* what is this? */
• ftell(fp) returns current byte position in file
• rewind(fp) resets position to start of file
COMMAND LINE ARGUMENTS
• main ( int argc, char *argv[] )
• argc – gives a count of number of arguments
(including program name)
• char *argv[] defines an array of pointers to character
(or array of strings)
• argv[0] – program name
• argv[1] to argv[argc -1] give the other arguments as
strings

More Related Content

Similar to C-Programming File-handling-C.pptx

Similar to C-Programming File-handling-C.pptx (20)

Files_in_C.ppt
Files_in_C.pptFiles_in_C.ppt
Files_in_C.ppt
 
File in C language
File in C languageFile in C language
File in C language
 
File handling in 'C'
File handling in 'C'File handling in 'C'
File handling in 'C'
 
File in c
File in cFile in c
File in c
 
File management
File managementFile management
File management
 
6. chapter v
6. chapter v6. chapter v
6. chapter v
 
C-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptxC-FILE MANAGEMENT.pptx
C-FILE MANAGEMENT.pptx
 
File handling in C
File handling in CFile handling in C
File handling in C
 
File management and handling by prabhakar
File management and handling by prabhakarFile management and handling by prabhakar
File management and handling by prabhakar
 
PPS PPT 2.pptx
PPS PPT 2.pptxPPS PPT 2.pptx
PPS PPT 2.pptx
 
File management
File managementFile management
File management
 
File handling With Solve Programs
File handling With Solve ProgramsFile handling With Solve Programs
File handling With Solve Programs
 
637225560972186380.pdf
637225560972186380.pdf637225560972186380.pdf
637225560972186380.pdf
 
file_handling_in_c.ppt
file_handling_in_c.pptfile_handling_in_c.ppt
file_handling_in_c.ppt
 
Lecture 20 - File Handling
Lecture 20 - File HandlingLecture 20 - File Handling
Lecture 20 - File Handling
 
File handling in c
File  handling in cFile  handling in c
File handling in c
 
Filing system in PHP
Filing system in PHPFiling system in PHP
Filing system in PHP
 
File handling-c programming language
File handling-c programming languageFile handling-c programming language
File handling-c programming language
 
File handling-c
File handling-cFile handling-c
File handling-c
 
File handing in C
File handing in CFile handing in C
File handing in C
 

More from LECO9

cprogramming Structures.pptx
cprogramming Structures.pptxcprogramming Structures.pptx
cprogramming Structures.pptx
LECO9
 
cprogramming strings.pptx
cprogramming strings.pptxcprogramming strings.pptx
cprogramming strings.pptx
LECO9
 

More from LECO9 (20)

C Programming Intro.ppt
C Programming Intro.pptC Programming Intro.ppt
C Programming Intro.ppt
 
Embedded Systems.pptx
Embedded Systems.pptxEmbedded Systems.pptx
Embedded Systems.pptx
 
Basic Electronics.pptx
Basic Electronics.pptxBasic Electronics.pptx
Basic Electronics.pptx
 
Intro to Microcontroller.pptx
Intro to Microcontroller.pptxIntro to Microcontroller.pptx
Intro to Microcontroller.pptx
 
PIC_Intro.pptx
PIC_Intro.pptxPIC_Intro.pptx
PIC_Intro.pptx
 
DATATYPES,KEYWORDS,FORMATSPECS[1].pptx
DATATYPES,KEYWORDS,FORMATSPECS[1].pptxDATATYPES,KEYWORDS,FORMATSPECS[1].pptx
DATATYPES,KEYWORDS,FORMATSPECS[1].pptx
 
STACKS AND QUEUES.pptx
STACKS AND QUEUES.pptxSTACKS AND QUEUES.pptx
STACKS AND QUEUES.pptx
 
UNIONS IN C.pptx
UNIONS IN C.pptxUNIONS IN C.pptx
UNIONS IN C.pptx
 
Processes, Threads.pptx
Processes, Threads.pptxProcesses, Threads.pptx
Processes, Threads.pptx
 
OPERATORS IN C.pptx
OPERATORS IN C.pptxOPERATORS IN C.pptx
OPERATORS IN C.pptx
 
DATA STRUCTURES AND LINKED LISTS IN C.pptx
DATA STRUCTURES AND LINKED LISTS IN C.pptxDATA STRUCTURES AND LINKED LISTS IN C.pptx
DATA STRUCTURES AND LINKED LISTS IN C.pptx
 
FUNCTIONS IN C.pptx
FUNCTIONS IN C.pptxFUNCTIONS IN C.pptx
FUNCTIONS IN C.pptx
 
DESIGN PATTERN.pptx
DESIGN PATTERN.pptxDESIGN PATTERN.pptx
DESIGN PATTERN.pptx
 
INTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptxINTER PROCESS COMMUNICATION (IPC).pptx
INTER PROCESS COMMUNICATION (IPC).pptx
 
cprogramming Structures.pptx
cprogramming Structures.pptxcprogramming Structures.pptx
cprogramming Structures.pptx
 
POINTERS.pptx
POINTERS.pptxPOINTERS.pptx
POINTERS.pptx
 
DYNAMIC MEMORY ALLOCATION.pptx
DYNAMIC MEMORY ALLOCATION.pptxDYNAMIC MEMORY ALLOCATION.pptx
DYNAMIC MEMORY ALLOCATION.pptx
 
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptxC-Programming  C LIBRARIES AND USER DEFINED LIBRARIES.pptx
C-Programming C LIBRARIES AND USER DEFINED LIBRARIES.pptx
 
cprogramming strings.pptx
cprogramming strings.pptxcprogramming strings.pptx
cprogramming strings.pptx
 
C-Programming Control statements.pptx
C-Programming Control statements.pptxC-Programming Control statements.pptx
C-Programming Control statements.pptx
 

Recently uploaded

Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Recently uploaded (20)

Linux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using PipesLinux Systems Programming: Inter Process Communication (IPC) using Pipes
Linux Systems Programming: Inter Process Communication (IPC) using Pipes
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...Max. shear stress theory-Maximum Shear Stress Theory ​  Maximum Distortional ...
Max. shear stress theory-Maximum Shear Stress Theory ​ Maximum Distortional ...
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
fitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .pptfitting shop and tools used in fitting shop .ppt
fitting shop and tools used in fitting shop .ppt
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 

C-Programming File-handling-C.pptx

  • 2. CONSOLE ORIENTED INPUT/OUTPUT • Console oriented – use terminal (keyboard/screen) scanf(“%d”,&i) – read data from keyboard printf(“%d”,i) – print data to monitor • Suitable for small volumes of data • Data lost when program terminated
  • 3. REAL-LIFE APPLICATIONS • Large data volumes • E.g. physical experiments (CERN collider), human genome, population records etc. • Need for flexible approach to store/retrieve data • Concept of files
  • 4. Files • File – place on disc where group of related data is stored • E.g. your C programs, executables • High-level programming languages support file operations • Naming • Opening • Reading • Writing • Closing
  • 5. DEFINING AND OPENING FILE • To store data file in secondary memory (disc) must specify to OS • Filename (e.G. Sort.C, input.Data) • Data structure (e.G. File) • Purpose (e.G. Reading, writing, appending)
  • 6. FILENAME • String of characters that make up a valid filename for OS. • May contain two parts • Primary • Optional period with extension • Examples: a.out, prog.c, temp, text.out
  • 7. GENERAL FORMAT FOR OPENING FILE • fp • contains all information about file • Communication link between system and program • Mode can be • r open file for reading only • w open file for writing only • a open file for appending (adding) data FILE *fp; /*variable fp is pointer to type FILE*/ fp = fopen(“filename”, “mode”); /*opens file with name filename , assigns identifier to fp */
  • 8. DIFFERENT MODES • Writing mode • if file already exists then contents are deleted, • else new file with specified name created • Appending mode • if file already exists then file opened with contents safe • else new file created • Reading mode • if file already exists then opened with contents safe • else error occurs. FILE *p1, *p2; p1 = fopen(“data”,”r”); p2= fopen(“results”, w”);
  • 9. ADDITIONAL MODES • r+ open to beginning for both reading/writing • w+ same as w except both for reading and writing • a+ same as ‘a’ except both for reading and writing
  • 10. CLOSING A FILE • File must be closed as soon as all operations on it completed. • 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.
  • 11. CLOSING A FILE • pointer can be reused after closing Syntax: fclose(file_pointer); Example: FILE *p1, *p2; p1 = fopen(“INPUT.txt”, “r”); p2 =fopen(“OUTPUT.txt”, “w”); …….. …….. fclose(p1); fclose(p2);
  • 12. INPUT/OUTPUT OPERATIONS ON FILES • C provides several different functions for reading/writing 1. getc() – read a character 2. putc() – write a character 3. fprintf() – write set of data values 4. fscanf() – read set of data values 5. getw() – read integer 6. putw() – write integer
  • 13. GETC() AND PUTC() • Handle one character at a time like getchar() and putchar() • syntax: putc(c,fp1); • c : a character variable • fp1 : pointer to file opened with mode w • syntax: c = getc(fp2); • c : a character variable • fp2 : pointer to file opened with mode r • file pointer moves by one character position after every getc() and putc() • getc() returns end-of-file marker EOF when file end reached
  • 14. PROGRAM TO READ/WRITE USING GETC/PUTC main() { FILE *fp1; char c; f1= fopen(“INPUT”, “w”); /* open file for writing */ while((c=getchar()) != EOF) /*get char from keyboard putc(c,f1); /*write a character to INPUT */ fclose(f1); /* close INPUT */ f1=fopen(“INPUT”, “r”); /* reopen file */ while((c=getc(f1))!=EOF) /*read character from file INPUT*/ printf(“%c”, c); /* print character to screen */ fclose(f1); } /*end main */
  • 15. FSCANF() AND FPRINTF() • Similar to scanf() and printf() • In addition provide file-pointer • Given the following • file-pointer f1 (points to file opened in write mode) • file-pointer f2 (points to file opened in read mode) • integer variable i • float variable f • Example: fprintf(f1, “%d %fn”, i, f); fprintf(stdout, “%f n”, f); /*note: stdout refers to screen */ fscanf(f2, “%d %f”, &i, &f); • fscanf returns EOF when end-of-file reached
  • 16. GETW() AND PUTW() • Handle one integer at a time • syntax: putw(i,fp1); • i : an integer variable • fp1 : pointer to file ipened with mode w • syntax: i = getw(fp2); • i : an integer variable • fp2 : pointer to file opened with mode r • File pointer moves by one integer position, data stored in binary format native to local system • getw() returns end-of-file marker EOF when file end reached
  • 17. C PROGRAM USING GETW, PUTW,FSCANF, FPRINTF main() { int i,sum1=0; FILE *f1; /* open files */ f1 = fopen("int_data.bin","w"); for(i=10;i<15;i++) putw(i,f1); fclose(f1); f1 = fopen("int_data.bin","r"); while((i=getw(f1))!=EOF) { sum1+=i; printf("binary file: i=%dn",i); } /* end while getw */ printf("binary sum=%d,sum1); fclose(f1); }
  • 18. OUTPUT: $ ./a.out binary file: i=10 binary file: i=11 binary file: i=12 binary file: i=13 binary file: i=14 binary sum=60, $ cat int_data.txt 10 11 12 13 14
  • 19. ERRORS THAT OCCUR DURING I/O • Typical errors that occur: 1. trying to read beyond end-of-file 2. trying to use a file that has not been opened 3. perform operation on file not permitted by ‘fopen’ mode 4. open file with invalid filename 5. write to write-protected file
  • 20. ERROR HANDLING • Given file-pointer, check if EOF reached, errors while handling file, problems opening file etc. • Check if EOF reached: feof() • feof() takes file-pointer as input, returns nonzero if all data read and zero otherwise if(feof(fp)) printf(“End of datan”); • ferror() takes file-pointer as input, returns nonzero integer if error detected else returns zero if(ferror(fp) !=0) printf(“An error has occurredn”);
  • 21. ERROR WHILE OPENING FILE • if file cannot be opened then fopen returns a NULL pointer • Good practice to check if pointer is NULL before proceeding fp = fopen(“input.dat”, “r”); if (fp == NULL) printf(“File could not be opened n ”);
  • 22. RANDOM ACCESS TO FILES • 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+1)th byte in file */ fseek(fp, -10, 2); /* what is this? */ • ftell(fp) returns current byte position in file • rewind(fp) resets position to start of file
  • 23. COMMAND LINE ARGUMENTS • main ( int argc, char *argv[] ) • argc – gives a count of number of arguments (including program name) • char *argv[] defines an array of pointers to character (or array of strings) • argv[0] – program name • argv[1] to argv[argc -1] give the other arguments as strings