SlideShare a Scribd company logo
1 of 37
Slide 1 of 37Ver. 1.0
Programming in C
In this session, you will learn to:
Read and write contents in a file
Use random access in files
Objectives
Slide 2 of 37Ver. 1.0
Programming in C
Reading and Writing Contents in a File
File inputs-outputs is similar to input from/to the terminal.
Files are treated as streams of characters.
Function are available for single character as well as
multiple character input-output from/to files.
Slide 3 of 37Ver. 1.0
Programming in C
Opening Files
A file needs to be opened to read or to write contents in it.
The fopen() function is used to open a file.
The fopen() function returns a pointer of the FILE type
data.
The fopen() function opens a file in a specific access
mode.
The various modes in which a file can be opened are:
r - Read-Only Mode
w - Write-Only Mode
a - Append Mode
r+ - Read + Write Mode
w+ - Write + Read Mode
a+ - Read + Append Mode
Slide 4 of 37Ver. 1.0
Programming in C
The FILE type pointer is:
Returned when a file is opened by using the fopen() function.
Used to manipulate a file.
Used to check whether a file has opened successfully.
The stdin, stdout, and stderr FILE pointers refer to
the standard input device (keyboard) and standard output
and error device (VDU).
FILE Type Pointers
Slide 5 of 37Ver. 1.0
Programming in C
The exit() Function
The exit() Function:
Is used to terminate a program execution.
Is used as shown in the following code snippet:
if (argc ! = 3)
{
print (“invalid arguments n”);
exit ();
}
Slide 6 of 37Ver. 1.0
Programming in C
Character Input-Output with Files
The functions used for character input-output with files are:
fgetc(): Reads one character at a time from a file, assigns it
to a character variable, and moves the file pointer to the next
character. It returns an integer type of value.
fputc(): Writes one character at a time in a file.
Slide 7 of 37Ver. 1.0
Programming in C
Closing Files
The fclose() function is used to close files.
Closing the file release the resources.
The syntax of the fclose() function is:
fclose (ptr1);
Where ptr1 is a FILE pointer.
Slide 8 of 37Ver. 1.0
Programming in C
Practice: 6.1
1. What does the following code do?
while((c = fgetc (fp)) != EOF) {
if ((c >= ‘a’) && (c <= ‘z’))
c -= 32;
fputc(c, stdout); }
1. Write a program called append, which appends the contents
of the first file to the second file specified on the command
line. The program should also terminate in the following
situations:
a. 2 arguments are not specified on the command line. In this
case, the following message must be displayed:
Usage: append file1 file2
b. In case the file to be read cannot be opened, the following
message may be displayed:
Cannot open input file
Slide 9 of 37Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 6.1 (Contd.)
Slide 10 of 37Ver. 1.0
Programming in C
Practice: 6.2
1. Point out the errors in the following code:
a. /* this program creates the file emp.dat */
main() {
FILE point;
fopen(“w”, “emp.dat”);
:
fclose(emp.dat);
}
b. /* this program reads the file emp.dat */
main() {
#include<stdio.h>
file*ptr;
ptr = fopen(emp.dat);
:
ptr= fclose();
}
Slide 11 of 37Ver. 1.0
Programming in C
Practice: 6.2 (Contd.)
2. Given the following statements of a C program:
fopen(“man.txt”, “r”);
fclose(fileptr);
What will the FILE declaration statement of this program
be?
3. Point out the error(s) in the following code:
#include<stdio.h>
main() {
char emp;
FILE *pointer1;
pointer1= fopen(“man1.txt”,”w”);
while((inp = fgetc(pointer1)) != eof) {
printf(“?%c”, inp);
} }
Slide 12 of 37Ver. 1.0
Programming in C
Practice: 6.2 (Contd.)
4. The copy command of DOS copies the contents of the first
file named on the command line to the second file. Make
appropriate changes to the file-copy program so that it
works identical to the copy command.
Slide 13 of 37Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 6.2 (Contd.)
Slide 14 of 37Ver. 1.0
Programming in C
Line Input and Output with Files
The functions used for line input and output with files are:
fgets():
Is used to read number of specified characters from a stream.
Reads number of characters specified – 1 characters.
Has the following syntax:
fgets(str, 181, ptr1);
Str – Character array for storing the string
181 – Length of the string to be read
ptr1- FILE pointer
fputs():
Is used to output number of specified characters to a stream.
Has the following syntax:
fputs(str, ptr1);
Str – Character array to be written
ptr1- FILE pointer
Slide 15 of 37Ver. 1.0
Programming in C
Practice: 6.3
1. State whether True or False:
Files created using the fputs() function will always have
records of equal length.
2. Consider the following C statement to input a record from a
file called number-list:
fgets (line, MAXLEN, file_ind);
Given that MAXLEN is a #define and that all lines in the file
number-list are 25 characters long what will the declaration
statements for the parameters of fgets() be?
3. Assume that the file number_list contains the following
records:
120
1305
Slide 16 of 37Ver. 1.0
Programming in C
Practice: 6.3 (Contd.)
Given that the file has been opened and the first input
statement executed is as follows:
fgets(line, 3, file_ind);
Which of the following will the array called line contain?
a. 1 followed by 0.
b. 12 followed by 0.
c. 120 followed by 0.
4. Match the following functions with the values they can
return:
a. fgets() 1. NULL
b. fgetc() 2. EOF
c. fopen() 3. FILE type pointer
Slide 17 of 37Ver. 1.0
Programming in C
Practice: 6.3 (Contd.)
If a function can return more than one type of these values,
state the conditions under which the values are returned.
5. A utility called hprint has to be written in C, which will
allow a user to display, on screen, any number of lines from
the beginning of any file. The user has to specify both the
number of lines and the file name on the command line in
the following format:
hprint number file-name
The maximum line length is 80 characters. The program
should handle possible errors.
Slide 18 of 37Ver. 1.0
Programming in C
Solution:
1. False. fputs() writes the contents of a string onto a file. So
even if a string has size 100, but contains only 20 characters
before a 0, only 20 characters get written.
2. The declarations are:
#define MAXLEN 26/* macro definition outside
main() */
char line[26];
3. b. fgets() will read either 3 - 1 characters , i.e. 2 characters,
or until it comes across a newline character. Since the newline
occurs after the third character, it will read in 2 characters from
the first record.
Practice: 6.3 (Contd.)
Slide 19 of 37Ver. 1.0
Programming in C
4. a. 1
b. 2
c. 1 and 3. (NULL in case file cannot be opened; FILE type
pointer in case of successful open)
5. The answer to this practice will be discussed in class. Work
out your solution.
Practice: 6.3 (Contd.)
Slide 20 of 37Ver. 1.0
Programming in C
Formatted Input and Output with Files
The functions for formatted input and output with files are:
fscanf():
Scans and formats input from a stream.
Is similar to scanf().
Has the following syntax:
int fscanf(FILE *Stream, const char
*format[,address,..]);
fprintf():
Sends formatted output to a stream.
Is similar to printf().
Has the following syntax:
int fprintf(FILE *Stream, const char
*format[,address,..]);
Slide 21 of 37Ver. 1.0
Programming in C
Practice: 6.4
1. Rewrite the following printf() statement using the
function fprintf():
printf(“The test value is %d”, x);
2. The following statement is written to input 2 fields from the
keyboard:
scanf(“ %6s%d”, array, &num);
It is rewritten as:
fscanf(“%6s%d”, array, &num);
This statement is erroneous. Give the correct fscanf()
statement.
Slide 22 of 37Ver. 1.0
Programming in C
Practice: 6.4 (Contd.)
3. Write the appropriate statements to input fields from a
record of a file called alpha-doc, the first field being a
float value, and the second field a string of size 10. In
case the file does not have he required data, and the end-
of-file occurs, the following message should be displayed:
End of file encountered.
Slide 23 of 37Ver. 1.0
Programming in C
Practice: 6.4 (Contd.)
4. A utility called format is required to create a formatted report
from a file called manufact. This report is also to be stored
on disk with suitable report headings. The name of the file to
be created should be accepted during program execution.
The program should also ask for a report title, which should
appear after every 60 record of the file manufact.
The file manufact contains the following 3 fields separated
by space.
Field Size
Manufacturer Code 4
Name 20
Address 60
In the output file, the fields should be separated by one tab
character.
Slide 24 of 37Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 6.4 (Contd.)
Slide 25 of 37Ver. 1.0
Programming in C
Using Random Access in Files
A file can be accessed using sequential access or random
access.
In sequential access, the file is always accessed from the
beginning.
In random access the file can be accessed arbitrarily from
any position.
Slide 26 of 37Ver. 1.0
Programming in C
The fseek () Function
The fseek() function:
Is used for repositioning the current position on a file opened
by the fopen() function.
Has the following syntax:
rtn = fseek (file-pointer, offset, from-where);
Here:
int rtn is the value returned by fseek()(0 if successful and 1 if
unsuccessful).
file-pointer is the pointer to the file.
offset is the number of bytes that the current position will shift on a
file.
from-where is the position on the file from where the offset would be
effective.
Slide 27 of 37Ver. 1.0
Programming in C
The rewind () Function
The rewind() function:
Is used to reposition the current position to the beginning of a
file.
Is useful for reinitializing the current position on a file.
Has the following syntax:
rewind(file-pointer);
Here:
file-pointer is the pointer returned by the function fopen().
After rewind() is executed, current position is always 1,
i.e. beginning of file.
Slide 28 of 37Ver. 1.0
Programming in C
Practice: 6.5
1. Write the equivalent of the function rewind() using
fseek().
2. Assume the following representation of the first 30 bytes of
a file.
Slide 29 of 37Ver. 1.0
Programming in C
Practice: 6.5 (Contd.)
What will the current position on the file be after the
following instructions are performed in sequence?
a. fp = fopen ("FOR DEMO.DAT", “r”);
b. fseek(fp, 29L, 1);
c. rewind(fp);
d. fgets(buffer, 20L, fp);
e. fseek(fp, 4L, 1);
Slide 30 of 37Ver. 1.0
Programming in C
Solution:
1. fseek(fp, 0L, 0);
2. The following current positions are relative to the beginning of
the file:
a. 1
b. 30
c. 1
d. 20
e. 24
Practice: 6.5 (Contd.)
Slide 31 of 37Ver. 1.0
Programming in C
Practice: 6.6
1. Write a function to update the field balance in the file
SAVINGS.DAT based on the following information.
If balance is Increment balance by
< Rs 2000.00 Rs 150.50
Between Rs. 2000.00 Rs 200.00
and Rs 5000.00
<Rs 5000.00 Rs 300.40
The structure of the file SAVINGS.DAT is as follows.
Account number Account holder's name Balance
(5 bytes) (20 bytes) (5 bytes)
Slide 32 of 37Ver. 1.0
Programming in C
Solution:
Microsoft Word
Document
Practice: 6.6 (Contd.)
Slide 33 of 37Ver. 1.0
Programming in C
Practice: 6.7
1. Go through the following program called inpcopy.c and its
error listing on compilation and then correct the program:
1 #include <stdio.h>
2 main()
3 {
4 file fp;
5 char c;
6
7 fp = fopen(“file”, w);
8
9 while (( c = fgetc(stdin)) != EOF)
10 fputc(c,fp);
11
12 fclose(fp);
13 }
Slide 34 of 37Ver. 1.0
Programming in C
Practice: 6.7 (Contd.)
Error listing:
"inpcopy/.c", line 4: file undefined
"inpcopy/.c". line 4: syntax error
"inpcopy/.c", line 7: fp undefined
"inpcopy/.c", line 7: w undefined
"inpcopy/.c", line 7: learning: illegal
pointer/integer combination, op = "inpcopy/.c",
line 9: c undefined
Slide 35 of 37Ver. 1.0
Programming in C
Practice: 6.7 (Contd.)
Solution:
1. Work out for your answer. The solution will be discussed in the
classroom session.
Slide 36 of 37Ver. 1.0
Programming in C
Summary
In this session, you learned that:
C treats file input-output in much the same way as input-output
from/to the terminal.
A file needs to be opened to read or to write contents in it.
The fopen() function is used to open a file.
C allows a number of modes in which a file can be opened.
When a file is opened by using the fopen() function, it
returns a pointer that has to be stored in a FILE type pointer.
This FILE type pointer is used to manipulate a file.
The exit() function is used to terminate program execution.
The fgetc() and fputc() functions are used for character
input-output in files.
After completing the I/O operations on the file, it should be
closed to releases the resources.
Slide 37 of 37Ver. 1.0
Programming in C
Summary (Contd.)
The fclose() function is used to close a file.
The fgets() and fputs() functions are used for string
input-output in files.
The fscanf() and fprintf() functions are used for
formatted input-output in files.
In sequential access, the file is always accessed from the
beginning.
In random access the file can be accessed arbitrarily from any
position.
C provides the fseek() function for random access.
The function rewind() is used to reposition the current
position to the beginning of a file.

More Related Content

What's hot

Report on c and c++
Report on c and c++Report on c and c++
Report on c and c++oggyrao
 
Datastructure notes
Datastructure notesDatastructure notes
Datastructure notesSrikanth
 
C programming session 01
C programming session 01C programming session 01
C programming session 01Vivek Singh
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1SURBHI SAROHA
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for EngineeringVincenzo De Florio
 
Chapter Eight(3)
Chapter Eight(3)Chapter Eight(3)
Chapter Eight(3)bolovv
 
Embedded c programming
Embedded c programmingEmbedded c programming
Embedded c programmingPriyaDYP
 
Chapter Seven(2)
Chapter Seven(2)Chapter Seven(2)
Chapter Seven(2)bolovv
 
Discussing Fundamentals of C
Discussing Fundamentals of CDiscussing Fundamentals of C
Discussing Fundamentals of Ceducationfront
 
CBSE Class 12 Computer practical Python Programs and MYSQL
CBSE Class 12 Computer practical Python Programs and MYSQL CBSE Class 12 Computer practical Python Programs and MYSQL
CBSE Class 12 Computer practical Python Programs and MYSQL Rishabh-Rawat
 
C Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointC Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointJavaTpoint.Com
 

What's hot (19)

Report on c and c++
Report on c and c++Report on c and c++
Report on c and c++
 
Datastructure notes
Datastructure notesDatastructure notes
Datastructure notes
 
C programming session 01
C programming session 01C programming session 01
C programming session 01
 
First session quiz
First session quizFirst session quiz
First session quiz
 
C tutorials
C tutorialsC tutorials
C tutorials
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1
 
Advanced C Language for Engineering
Advanced C Language for EngineeringAdvanced C Language for Engineering
Advanced C Language for Engineering
 
Chapter Eight(3)
Chapter Eight(3)Chapter Eight(3)
Chapter Eight(3)
 
Embedded c programming
Embedded c programmingEmbedded c programming
Embedded c programming
 
C language updated
C language updatedC language updated
C language updated
 
Chapter Seven(2)
Chapter Seven(2)Chapter Seven(2)
Chapter Seven(2)
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
system software
system softwaresystem software
system software
 
C language
C languageC language
C language
 
Discussing Fundamentals of C
Discussing Fundamentals of CDiscussing Fundamentals of C
Discussing Fundamentals of C
 
2. data, operators, io
2. data, operators, io2. data, operators, io
2. data, operators, io
 
CBSE Class 12 Computer practical Python Programs and MYSQL
CBSE Class 12 Computer practical Python Programs and MYSQL CBSE Class 12 Computer practical Python Programs and MYSQL
CBSE Class 12 Computer practical Python Programs and MYSQL
 
C Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointC Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpoint
 
C programming session7
C programming  session7C programming  session7
C programming session7
 

Viewers also liked

C programming session 14
C programming session 14C programming session 14
C programming session 14Vivek Singh
 
C programming session 08
C programming session 08C programming session 08
C programming session 08Vivek Singh
 
Sql alter table statement
Sql alter table statementSql alter table statement
Sql alter table statementVivek Singh
 
C programming session 10
C programming session 10C programming session 10
C programming session 10Vivek Singh
 
C programming session 07
C programming session 07C programming session 07
C programming session 07Vivek Singh
 
C programming session 13
C programming session 13C programming session 13
C programming session 13Vivek Singh
 
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick Learning
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick LearningOracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick Learning
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick LearningeVideoTuition
 

Viewers also liked (8)

C programming session 14
C programming session 14C programming session 14
C programming session 14
 
C programming session 08
C programming session 08C programming session 08
C programming session 08
 
Sql alter table statement
Sql alter table statementSql alter table statement
Sql alter table statement
 
C programming session 10
C programming session 10C programming session 10
C programming session 10
 
C programming session 07
C programming session 07C programming session 07
C programming session 07
 
C programming session 13
C programming session 13C programming session 13
C programming session 13
 
Dml and ddl
Dml and ddlDml and ddl
Dml and ddl
 
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick Learning
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick LearningOracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick Learning
Oracle/SQL For Beginners - DDL | DML | DCL | TCL - Quick Learning
 

Similar to C programming session 11

C programming session 08
C programming session 08C programming session 08
C programming session 08Dushmanta Nath
 
Introduction of c language
Introduction of c languageIntroduction of c language
Introduction of c languagefarishah
 
ppt5-190810161800 (1).pdf
ppt5-190810161800 (1).pdfppt5-190810161800 (1).pdf
ppt5-190810161800 (1).pdfMalligaarjunanN
 
Build process in ST Visual Develop
Build process in ST Visual DevelopBuild process in ST Visual Develop
Build process in ST Visual DevelopGourav Kumar
 
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDYC UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDYRajeshkumar Reddy
 
VIT351 Software Development VI Unit5
VIT351 Software Development VI Unit5VIT351 Software Development VI Unit5
VIT351 Software Development VI Unit5YOGESH SINGH
 
UNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CUNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CRaj vardhan
 
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docx
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docxCOMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docx
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docxdonnajames55
 
fileop report
fileop reportfileop report
fileop reportJason Lu
 
1 CMPS 12M Introduction to Data Structures Lab La.docx
1 CMPS 12M Introduction to Data Structures Lab La.docx1 CMPS 12M Introduction to Data Structures Lab La.docx
1 CMPS 12M Introduction to Data Structures Lab La.docxtarifarmarie
 
Say whether each of the following statements is true (“T”) or false .pdf
Say whether each of the following statements is true (“T”) or false .pdfSay whether each of the following statements is true (“T”) or false .pdf
Say whether each of the following statements is true (“T”) or false .pdfRBMADU
 
complete data structure
complete data structurecomplete data structure
complete data structureAnuj Arora
 
Datastructurenotes 100627004340-phpapp01
Datastructurenotes 100627004340-phpapp01Datastructurenotes 100627004340-phpapp01
Datastructurenotes 100627004340-phpapp01Getachew Ganfur
 
Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2hassaanciit
 
introduction of c langauge(I unit)
introduction of c langauge(I unit)introduction of c langauge(I unit)
introduction of c langauge(I unit)Prashant Sharma
 
The Ring programming language version 1.2 book - Part 15 of 84
The Ring programming language version 1.2 book - Part 15 of 84The Ring programming language version 1.2 book - Part 15 of 84
The Ring programming language version 1.2 book - Part 15 of 84Mahmoud Samir Fayed
 

Similar to C programming session 11 (20)

C programming session 08
C programming session 08C programming session 08
C programming session 08
 
Introduction of c language
Introduction of c languageIntroduction of c language
Introduction of c language
 
C Programming Unit-5
C Programming Unit-5C Programming Unit-5
C Programming Unit-5
 
ppt5-190810161800 (1).pdf
ppt5-190810161800 (1).pdfppt5-190810161800 (1).pdf
ppt5-190810161800 (1).pdf
 
Handout#01
Handout#01Handout#01
Handout#01
 
Build process in ST Visual Develop
Build process in ST Visual DevelopBuild process in ST Visual Develop
Build process in ST Visual Develop
 
Built in function
Built in functionBuilt in function
Built in function
 
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDYC UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
C UNIT-5 PREPARED BY M V BRAHMANANDA REDDY
 
VIT351 Software Development VI Unit5
VIT351 Software Development VI Unit5VIT351 Software Development VI Unit5
VIT351 Software Development VI Unit5
 
UNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN CUNIT 4-HEADER FILES IN C
UNIT 4-HEADER FILES IN C
 
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docx
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docxCOMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docx
COMP 2103X1 Assignment 2Due Thursday, January 26 by 700 PM.docx
 
fileop report
fileop reportfileop report
fileop report
 
1 CMPS 12M Introduction to Data Structures Lab La.docx
1 CMPS 12M Introduction to Data Structures Lab La.docx1 CMPS 12M Introduction to Data Structures Lab La.docx
1 CMPS 12M Introduction to Data Structures Lab La.docx
 
Say whether each of the following statements is true (“T”) or false .pdf
Say whether each of the following statements is true (“T”) or false .pdfSay whether each of the following statements is true (“T”) or false .pdf
Say whether each of the following statements is true (“T”) or false .pdf
 
complete data structure
complete data structurecomplete data structure
complete data structure
 
Datastructurenotes 100627004340-phpapp01
Datastructurenotes 100627004340-phpapp01Datastructurenotes 100627004340-phpapp01
Datastructurenotes 100627004340-phpapp01
 
Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2Introduction to Computer and Programing - Lab2
Introduction to Computer and Programing - Lab2
 
Project report
Project reportProject report
Project report
 
introduction of c langauge(I unit)
introduction of c langauge(I unit)introduction of c langauge(I unit)
introduction of c langauge(I unit)
 
The Ring programming language version 1.2 book - Part 15 of 84
The Ring programming language version 1.2 book - Part 15 of 84The Ring programming language version 1.2 book - Part 15 of 84
The Ring programming language version 1.2 book - Part 15 of 84
 

More from Vivek Singh

C programming session 05
C programming session 05C programming session 05
C programming session 05Vivek Singh
 
C programming session 04
C programming session 04C programming session 04
C programming session 04Vivek Singh
 
C programming session 02
C programming session 02C programming session 02
C programming session 02Vivek Singh
 
C programming session 16
C programming session 16C programming session 16
C programming session 16Vivek Singh
 
Niit aptitude question paper
Niit aptitude question paperNiit aptitude question paper
Niit aptitude question paperVivek Singh
 
Excel shortcut and tips
Excel shortcut and tipsExcel shortcut and tips
Excel shortcut and tipsVivek Singh
 
Sql where clause
Sql where clauseSql where clause
Sql where clauseVivek Singh
 
Sql update statement
Sql update statementSql update statement
Sql update statementVivek Singh
 
Sql tutorial, tutorials sql
Sql tutorial, tutorials sqlSql tutorial, tutorials sql
Sql tutorial, tutorials sqlVivek Singh
 
Sql select statement
Sql select statementSql select statement
Sql select statementVivek Singh
 
Sql query tuning or query optimization
Sql query tuning or query optimizationSql query tuning or query optimization
Sql query tuning or query optimizationVivek Singh
 
Sql query tips or query optimization
Sql query tips or query optimizationSql query tips or query optimization
Sql query tips or query optimizationVivek Singh
 
Sql order by clause
Sql order by clauseSql order by clause
Sql order by clauseVivek Singh
 
Sql operators comparision & logical operators
Sql operators   comparision & logical operatorsSql operators   comparision & logical operators
Sql operators comparision & logical operatorsVivek Singh
 
Sql logical operators
Sql logical operatorsSql logical operators
Sql logical operatorsVivek Singh
 
Sql integrity constraints
Sql integrity constraintsSql integrity constraints
Sql integrity constraintsVivek Singh
 
Sql insert statement
Sql insert statementSql insert statement
Sql insert statementVivek Singh
 

More from Vivek Singh (20)

C programming session 05
C programming session 05C programming session 05
C programming session 05
 
C programming session 04
C programming session 04C programming session 04
C programming session 04
 
C programming session 02
C programming session 02C programming session 02
C programming session 02
 
C programming session 16
C programming session 16C programming session 16
C programming session 16
 
Niit aptitude question paper
Niit aptitude question paperNiit aptitude question paper
Niit aptitude question paper
 
Excel shortcut and tips
Excel shortcut and tipsExcel shortcut and tips
Excel shortcut and tips
 
Sql where clause
Sql where clauseSql where clause
Sql where clause
 
Sql update statement
Sql update statementSql update statement
Sql update statement
 
Sql tutorial, tutorials sql
Sql tutorial, tutorials sqlSql tutorial, tutorials sql
Sql tutorial, tutorials sql
 
Sql subquery
Sql subquerySql subquery
Sql subquery
 
Sql select statement
Sql select statementSql select statement
Sql select statement
 
Sql rename
Sql renameSql rename
Sql rename
 
Sql query tuning or query optimization
Sql query tuning or query optimizationSql query tuning or query optimization
Sql query tuning or query optimization
 
Sql query tips or query optimization
Sql query tips or query optimizationSql query tips or query optimization
Sql query tips or query optimization
 
Sql order by clause
Sql order by clauseSql order by clause
Sql order by clause
 
Sql operators comparision & logical operators
Sql operators   comparision & logical operatorsSql operators   comparision & logical operators
Sql operators comparision & logical operators
 
Sql logical operators
Sql logical operatorsSql logical operators
Sql logical operators
 
Sql joins
Sql joinsSql joins
Sql joins
 
Sql integrity constraints
Sql integrity constraintsSql integrity constraints
Sql integrity constraints
 
Sql insert statement
Sql insert statementSql insert statement
Sql insert statement
 

Recently uploaded

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 

Recently uploaded (20)

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 

C programming session 11

  • 1. Slide 1 of 37Ver. 1.0 Programming in C In this session, you will learn to: Read and write contents in a file Use random access in files Objectives
  • 2. Slide 2 of 37Ver. 1.0 Programming in C Reading and Writing Contents in a File File inputs-outputs is similar to input from/to the terminal. Files are treated as streams of characters. Function are available for single character as well as multiple character input-output from/to files.
  • 3. Slide 3 of 37Ver. 1.0 Programming in C Opening Files A file needs to be opened to read or to write contents in it. The fopen() function is used to open a file. The fopen() function returns a pointer of the FILE type data. The fopen() function opens a file in a specific access mode. The various modes in which a file can be opened are: r - Read-Only Mode w - Write-Only Mode a - Append Mode r+ - Read + Write Mode w+ - Write + Read Mode a+ - Read + Append Mode
  • 4. Slide 4 of 37Ver. 1.0 Programming in C The FILE type pointer is: Returned when a file is opened by using the fopen() function. Used to manipulate a file. Used to check whether a file has opened successfully. The stdin, stdout, and stderr FILE pointers refer to the standard input device (keyboard) and standard output and error device (VDU). FILE Type Pointers
  • 5. Slide 5 of 37Ver. 1.0 Programming in C The exit() Function The exit() Function: Is used to terminate a program execution. Is used as shown in the following code snippet: if (argc ! = 3) { print (“invalid arguments n”); exit (); }
  • 6. Slide 6 of 37Ver. 1.0 Programming in C Character Input-Output with Files The functions used for character input-output with files are: fgetc(): Reads one character at a time from a file, assigns it to a character variable, and moves the file pointer to the next character. It returns an integer type of value. fputc(): Writes one character at a time in a file.
  • 7. Slide 7 of 37Ver. 1.0 Programming in C Closing Files The fclose() function is used to close files. Closing the file release the resources. The syntax of the fclose() function is: fclose (ptr1); Where ptr1 is a FILE pointer.
  • 8. Slide 8 of 37Ver. 1.0 Programming in C Practice: 6.1 1. What does the following code do? while((c = fgetc (fp)) != EOF) { if ((c >= ‘a’) && (c <= ‘z’)) c -= 32; fputc(c, stdout); } 1. Write a program called append, which appends the contents of the first file to the second file specified on the command line. The program should also terminate in the following situations: a. 2 arguments are not specified on the command line. In this case, the following message must be displayed: Usage: append file1 file2 b. In case the file to be read cannot be opened, the following message may be displayed: Cannot open input file
  • 9. Slide 9 of 37Ver. 1.0 Programming in C Solution: Microsoft Word Document Practice: 6.1 (Contd.)
  • 10. Slide 10 of 37Ver. 1.0 Programming in C Practice: 6.2 1. Point out the errors in the following code: a. /* this program creates the file emp.dat */ main() { FILE point; fopen(“w”, “emp.dat”); : fclose(emp.dat); } b. /* this program reads the file emp.dat */ main() { #include<stdio.h> file*ptr; ptr = fopen(emp.dat); : ptr= fclose(); }
  • 11. Slide 11 of 37Ver. 1.0 Programming in C Practice: 6.2 (Contd.) 2. Given the following statements of a C program: fopen(“man.txt”, “r”); fclose(fileptr); What will the FILE declaration statement of this program be? 3. Point out the error(s) in the following code: #include<stdio.h> main() { char emp; FILE *pointer1; pointer1= fopen(“man1.txt”,”w”); while((inp = fgetc(pointer1)) != eof) { printf(“?%c”, inp); } }
  • 12. Slide 12 of 37Ver. 1.0 Programming in C Practice: 6.2 (Contd.) 4. The copy command of DOS copies the contents of the first file named on the command line to the second file. Make appropriate changes to the file-copy program so that it works identical to the copy command.
  • 13. Slide 13 of 37Ver. 1.0 Programming in C Solution: Microsoft Word Document Practice: 6.2 (Contd.)
  • 14. Slide 14 of 37Ver. 1.0 Programming in C Line Input and Output with Files The functions used for line input and output with files are: fgets(): Is used to read number of specified characters from a stream. Reads number of characters specified – 1 characters. Has the following syntax: fgets(str, 181, ptr1); Str – Character array for storing the string 181 – Length of the string to be read ptr1- FILE pointer fputs(): Is used to output number of specified characters to a stream. Has the following syntax: fputs(str, ptr1); Str – Character array to be written ptr1- FILE pointer
  • 15. Slide 15 of 37Ver. 1.0 Programming in C Practice: 6.3 1. State whether True or False: Files created using the fputs() function will always have records of equal length. 2. Consider the following C statement to input a record from a file called number-list: fgets (line, MAXLEN, file_ind); Given that MAXLEN is a #define and that all lines in the file number-list are 25 characters long what will the declaration statements for the parameters of fgets() be? 3. Assume that the file number_list contains the following records: 120 1305
  • 16. Slide 16 of 37Ver. 1.0 Programming in C Practice: 6.3 (Contd.) Given that the file has been opened and the first input statement executed is as follows: fgets(line, 3, file_ind); Which of the following will the array called line contain? a. 1 followed by 0. b. 12 followed by 0. c. 120 followed by 0. 4. Match the following functions with the values they can return: a. fgets() 1. NULL b. fgetc() 2. EOF c. fopen() 3. FILE type pointer
  • 17. Slide 17 of 37Ver. 1.0 Programming in C Practice: 6.3 (Contd.) If a function can return more than one type of these values, state the conditions under which the values are returned. 5. A utility called hprint has to be written in C, which will allow a user to display, on screen, any number of lines from the beginning of any file. The user has to specify both the number of lines and the file name on the command line in the following format: hprint number file-name The maximum line length is 80 characters. The program should handle possible errors.
  • 18. Slide 18 of 37Ver. 1.0 Programming in C Solution: 1. False. fputs() writes the contents of a string onto a file. So even if a string has size 100, but contains only 20 characters before a 0, only 20 characters get written. 2. The declarations are: #define MAXLEN 26/* macro definition outside main() */ char line[26]; 3. b. fgets() will read either 3 - 1 characters , i.e. 2 characters, or until it comes across a newline character. Since the newline occurs after the third character, it will read in 2 characters from the first record. Practice: 6.3 (Contd.)
  • 19. Slide 19 of 37Ver. 1.0 Programming in C 4. a. 1 b. 2 c. 1 and 3. (NULL in case file cannot be opened; FILE type pointer in case of successful open) 5. The answer to this practice will be discussed in class. Work out your solution. Practice: 6.3 (Contd.)
  • 20. Slide 20 of 37Ver. 1.0 Programming in C Formatted Input and Output with Files The functions for formatted input and output with files are: fscanf(): Scans and formats input from a stream. Is similar to scanf(). Has the following syntax: int fscanf(FILE *Stream, const char *format[,address,..]); fprintf(): Sends formatted output to a stream. Is similar to printf(). Has the following syntax: int fprintf(FILE *Stream, const char *format[,address,..]);
  • 21. Slide 21 of 37Ver. 1.0 Programming in C Practice: 6.4 1. Rewrite the following printf() statement using the function fprintf(): printf(“The test value is %d”, x); 2. The following statement is written to input 2 fields from the keyboard: scanf(“ %6s%d”, array, &num); It is rewritten as: fscanf(“%6s%d”, array, &num); This statement is erroneous. Give the correct fscanf() statement.
  • 22. Slide 22 of 37Ver. 1.0 Programming in C Practice: 6.4 (Contd.) 3. Write the appropriate statements to input fields from a record of a file called alpha-doc, the first field being a float value, and the second field a string of size 10. In case the file does not have he required data, and the end- of-file occurs, the following message should be displayed: End of file encountered.
  • 23. Slide 23 of 37Ver. 1.0 Programming in C Practice: 6.4 (Contd.) 4. A utility called format is required to create a formatted report from a file called manufact. This report is also to be stored on disk with suitable report headings. The name of the file to be created should be accepted during program execution. The program should also ask for a report title, which should appear after every 60 record of the file manufact. The file manufact contains the following 3 fields separated by space. Field Size Manufacturer Code 4 Name 20 Address 60 In the output file, the fields should be separated by one tab character.
  • 24. Slide 24 of 37Ver. 1.0 Programming in C Solution: Microsoft Word Document Practice: 6.4 (Contd.)
  • 25. Slide 25 of 37Ver. 1.0 Programming in C Using Random Access in Files A file can be accessed using sequential access or random access. In sequential access, the file is always accessed from the beginning. In random access the file can be accessed arbitrarily from any position.
  • 26. Slide 26 of 37Ver. 1.0 Programming in C The fseek () Function The fseek() function: Is used for repositioning the current position on a file opened by the fopen() function. Has the following syntax: rtn = fseek (file-pointer, offset, from-where); Here: int rtn is the value returned by fseek()(0 if successful and 1 if unsuccessful). file-pointer is the pointer to the file. offset is the number of bytes that the current position will shift on a file. from-where is the position on the file from where the offset would be effective.
  • 27. Slide 27 of 37Ver. 1.0 Programming in C The rewind () Function The rewind() function: Is used to reposition the current position to the beginning of a file. Is useful for reinitializing the current position on a file. Has the following syntax: rewind(file-pointer); Here: file-pointer is the pointer returned by the function fopen(). After rewind() is executed, current position is always 1, i.e. beginning of file.
  • 28. Slide 28 of 37Ver. 1.0 Programming in C Practice: 6.5 1. Write the equivalent of the function rewind() using fseek(). 2. Assume the following representation of the first 30 bytes of a file.
  • 29. Slide 29 of 37Ver. 1.0 Programming in C Practice: 6.5 (Contd.) What will the current position on the file be after the following instructions are performed in sequence? a. fp = fopen ("FOR DEMO.DAT", “r”); b. fseek(fp, 29L, 1); c. rewind(fp); d. fgets(buffer, 20L, fp); e. fseek(fp, 4L, 1);
  • 30. Slide 30 of 37Ver. 1.0 Programming in C Solution: 1. fseek(fp, 0L, 0); 2. The following current positions are relative to the beginning of the file: a. 1 b. 30 c. 1 d. 20 e. 24 Practice: 6.5 (Contd.)
  • 31. Slide 31 of 37Ver. 1.0 Programming in C Practice: 6.6 1. Write a function to update the field balance in the file SAVINGS.DAT based on the following information. If balance is Increment balance by < Rs 2000.00 Rs 150.50 Between Rs. 2000.00 Rs 200.00 and Rs 5000.00 <Rs 5000.00 Rs 300.40 The structure of the file SAVINGS.DAT is as follows. Account number Account holder's name Balance (5 bytes) (20 bytes) (5 bytes)
  • 32. Slide 32 of 37Ver. 1.0 Programming in C Solution: Microsoft Word Document Practice: 6.6 (Contd.)
  • 33. Slide 33 of 37Ver. 1.0 Programming in C Practice: 6.7 1. Go through the following program called inpcopy.c and its error listing on compilation and then correct the program: 1 #include <stdio.h> 2 main() 3 { 4 file fp; 5 char c; 6 7 fp = fopen(“file”, w); 8 9 while (( c = fgetc(stdin)) != EOF) 10 fputc(c,fp); 11 12 fclose(fp); 13 }
  • 34. Slide 34 of 37Ver. 1.0 Programming in C Practice: 6.7 (Contd.) Error listing: "inpcopy/.c", line 4: file undefined "inpcopy/.c". line 4: syntax error "inpcopy/.c", line 7: fp undefined "inpcopy/.c", line 7: w undefined "inpcopy/.c", line 7: learning: illegal pointer/integer combination, op = "inpcopy/.c", line 9: c undefined
  • 35. Slide 35 of 37Ver. 1.0 Programming in C Practice: 6.7 (Contd.) Solution: 1. Work out for your answer. The solution will be discussed in the classroom session.
  • 36. Slide 36 of 37Ver. 1.0 Programming in C Summary In this session, you learned that: C treats file input-output in much the same way as input-output from/to the terminal. A file needs to be opened to read or to write contents in it. The fopen() function is used to open a file. C allows a number of modes in which a file can be opened. When a file is opened by using the fopen() function, it returns a pointer that has to be stored in a FILE type pointer. This FILE type pointer is used to manipulate a file. The exit() function is used to terminate program execution. The fgetc() and fputc() functions are used for character input-output in files. After completing the I/O operations on the file, it should be closed to releases the resources.
  • 37. Slide 37 of 37Ver. 1.0 Programming in C Summary (Contd.) The fclose() function is used to close a file. The fgets() and fputs() functions are used for string input-output in files. The fscanf() and fprintf() functions are used for formatted input-output in files. In sequential access, the file is always accessed from the beginning. In random access the file can be accessed arbitrarily from any position. C provides the fseek() function for random access. The function rewind() is used to reposition the current position to the beginning of a file.

Editor's Notes

  1. Begin the session by explaining the objectives of the session.
  2. Discuss about streams with the students.
  3. Discusses various modes for opening a file. Compare the modes and discuss the situations where a specific mode should be chosen.
  4. Discuss the use of FILE type pointer to check whether a file has opened successfully. Also, discuss the situations where a FILE type pointer cannot open a file for read or write mode.
  5. Discuss the student about the ways to determine the end of file when using the fgetc() function.
  6. Use this slide to test the student’s understanding on reading and writing contents in a file.
  7. Use this slide to test the student’s understanding on reading and writing contents in a file.
  8. Discuss the student about the ways to determine the end of file when using the fgets() function.
  9. Use this slide to test the student’s understanding on reading and writing contents in a file.
  10. Discuss the need for using the formatted input-output in a file.
  11. Use this slide to test the student’s understanding on formatted input-output in a file.
  12. Discuss sequential access and random access with their advantages and limitations.
  13. Use this slide to test the student’s understanding on random access in a file.
  14. Use this slide to test the student’s understanding on reading/writing contents in a file.
  15. Use this slide to test the student’s understanding on reading/writing contents in a file.
  16. Use this and the next 2 slides for summarizing the session.