Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
fopen() for existing file in write mode in C
fopen() method in C is used to open the specified file.
Let’s take an example to understand the problem
Syntax
FILE *fopen(filename, mode)
The following are valid modes of opening a file using fopen(): ‘r’, ‘w’, ‘a’, ‘r+’, ‘w+’, ‘a+’. For details visit visit C library function - fopen()
fopen() for an existing file in write mode
If the file to be opened does not exist in the current directory then a new empty file with write mode is created.
If the file to be opened exists in the current directory and is open using ‘w’ / ‘w+’, the contents will be deleted before writing.
Example
Program to illustrate the working of our solution
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "w");
if (opFile == NULL){
puts("Couldn't open file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
Output
Write operation successful
Initial contents of the file − C programming language
Contents after append operation − include help
The write operation does its work but deletes all the contents the were present in the file before the write operation is performed. To tackle this, the C programming language has been updated to two different approaches which the programmer can use based on the requirement of the program.
‘a’ (append) mode − this mode appends the new contents at the end of the contents written in the file.
‘wx’ mode − this will return NULL if the file already exists in the directory.
Example
Program to illustrate write operation on existing file using ‘a’ mode
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "a");
if (opFile == NULL){
puts("Couldn't open file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
Output
Write operation successful
Initial contents of the file − C programming language
Contents after append operation − C programming language includehelp
Example
Program to illustrate write operation on existing file using ‘wx’ mode
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "wx");
if (opFile == NULL){
puts("Couldn't open file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Write operation successful");
fclose(opFile);
}
return 0;
}
Output
Write operation successful
