C Tutorial
C programming language provides the built-in functions for file processings.
We can read the file using any of the following file modes based on the requirements,
r -> used to open file for reading and position at the start of the file.
r+ -> used to open file for update (both reading and writing), initial position is at the start of the file for reading and writing.
w+ -> used to open file for update (both reading and writing) and new file is created if file does not exists, initial position is at the start of the file for reading and writing
a+ -> used to open file for update (both reading and writing), initial position is at the end of the file for reading and writing.
This c program is used to read the text file and assign values to variables student id, name and mark using file read mode then prints all the records in the file.
student_id, student_name and mark are the variables and reads the file 'student_mark_list.txt'.
#include<stdio.h> void main() { FILE *fp; char *student_name; int student_id, mark; fp = fopen("student_mark_list.txt", "r"); printf("\nStudent mark details"); printf("\n---------------------"); printf("\nstudent id\tstudent name\t mark"); while(fscanf(fp, "%d %s %d\n", &student_id, student_name, &mark)!=EOF) { printf("\n%d\t%s\t%d", student_id,student_name,mark); } fclose(fp); }
Assume text file 'student_mark_list.txt' content :
$ cat student_mark_list.txt 23 student1 87
Output:
$ cc file-read.c $ ./a.out Student mark details --------------------- student id student name mark 21 student1 98 32 student2 78
This c program is used to read the text file line by line and we need to parse the format of each line in the file to required formats.
fgets function is used to read string from text file till max characters in each line in file.
#include<stdio.h> #define MAXCHARSPERLINE 100 void main() { FILE *fp; char *str; fp = fopen("student_mark_list.txt", "r"); printf("\nStudent mark details"); printf("\n---------------------"); printf("\nstudent id\tstudent name\t mark"); while (fgets(str, MAXCHARSPERLINE, fp) != NULL) { printf("\n%s", str); } fclose(fp); }
Assume text file 'student_mark_list.txt' content :
$ cat student_mark_list.txt 23 student1 87
Output:
$ cc file-read.c $ ./a.out Student mark details --------------------- student id student name mark 21,student1,98 32,student2,78
Suppose if we reduce the MAXCHARSPERLINE into 10 instead of 100, output is as below for above program,
#include<stdio.h> #define MAXCHARSPERLINE 10 void main() { FILE *fp; char *str; fp = fopen("student_mark_list.txt", "r"); printf("\nStudent mark details"); printf("\n---------------------"); printf("\nstudent id\tstudent name\t mark"); while (fgets(str, MAXCHARSPERLINE, fp) != NULL) { printf("\n%s", str); } fclose(fp); }
Output:
$ ./a.out Student mark details --------------------- student id student name mark 21,studen t1,98 32,studen t2,78
This c program is used to read the text file whcih contains student mark details.
Error hanndling is done here to ensure whether text file is opened or not before start reading the file.
Text file is opened successfully if file pointer is not NULL, otherwsise file does not exists.
#include<stdio.h> void main() { FILE *fp; char *student_name; int student_id, mark; fp = fopen("student_mark_list.txt", "r"); if(fp == NULL) { printf("\nInvalid text file!"); } else { printf("\nStudent mark details"); printf("\n---------------------"); printf("\nstudent id\tstudent name\t mark"); while(fscanf(fp, "%d %s %d\n", &student_id, student_name, &mark)!=EOF) { printf("\n%d\t%s\t%d", student_id,student_name,mark); } fclose(fp); } }
Assume if text file 'student_mark_list.txt' does not exists,
Output:
$ ./a.out Invalid text file!
Assume text file 'student_mark_list.txt' content :
$ cat student_mark_list.txt 23 student1 87
Output:
$ cc file-read.c $ ./a.out Student mark details --------------------- student id student name mark 21 student1 98 32 student2 78
C Tutorial
Privacy Policy | Copyright2020 - All Rights Reserved. | Contact us
| Report website issues in Github
| Facebook page
| Google+ page