Here we will see some basic file handling operations in C. The operations are listed below:
- Writing into a File
- Reading from File
- Appending in a File
Write into a file
See the code to get the idea how we write into a file
Example Code
#include <stdio.h>
int main() {
FILE *fp;
char *filename = "sample.txt";
char *content = "Hey there! You've successfully created a file with content in c programming language.";
/* open for writing */
fp = fopen(filename, "w");
if( fp == NULL ) {
printf("%s: failed to open. \n", filename);
return -1;
} else {
printf("%s: opened in write mode.\n", filename);
}
/* Write content to file */
fprintf(fp, "%s\n", content);
if( !fclose(fp) )
printf("%s: closed successfully.\n", filename);
return 0;
}Output
sample.txt: opened in write mode. sample.txt: closed successfully.
2.Reading from a file
Se the code to get the idea how we read from a file Make a file (file_read.txt):
You have opened a file using C programming language, in read-only mode.
Example Code
#include <stdio.h>
int main() {
FILE *fp;
char *filename = "file_read.txt";
char ch;
/* open for writing */
fp = fopen(filename, "r");
if (fp == NULL) {
printf("%s does not exists \n", filename);
return;
} else {
printf("%s: opened in read mode.\n\n", filename);
}
while ((ch = fgetc(fp) )!= EOF) {
printf ("%c", ch);
}
if (!fclose(fp))
printf("\n%s: closed.\n", filename);
return 0;
}Output
file_read.txt: opened in read mode. You have opened a file using C programming language, in read-only mode. file_read.txt: closed.
3.Appending into a file
Se the code to get the idea how we can append lines into a file.
Make a file (file_append.txt)
This text was already there in the file.
Example Code
#include <stdio.h>
int main() {
FILE *fp;
char ch;
char *filename = "file_append.txt";
char *content = "This text is appeneded later to the file, using C programming.";
/* open for writing */
fp = fopen(filename, "r");
printf("\nContents of %s -\n\n", filename);
while ((ch = fgetc(fp) )!= EOF) {
printf ("%c", ch);
}
fclose(fp);
fp = fopen(filename, "a");
/* Write content to file */
fprintf(fp, "%s\n", content);
fclose(fp);
fp = fopen(filename, "r");
printf("\nContents of %s -\n", filename);
while ((ch = fgetc(fp) )!= EOF) {
printf ("%c", ch);
}
fclose(fp);
return 0;
}Output
Contents of file_append.txt - This text was already there in the file. Appending content to file_append.txt... Content of file_append.txt after 'append' operation is - This text was already there in the file. This text is appeneded later to the file, using C programming.