Write a C program to merge alternate lines from two files.
#include <stdio.h>
#include <string.h>
#define MAX 256
int main() {
FILE *fp1, *fp2, *fp3;
char line1[MAX], line2[MAX];
char fname1[MAX], fname2[MAX], temp[] = "temp.txt";
/* get the first file name from the user */
printf("Enter your first file name:");
scanf("%s", fname1);
/* get the second file name from the user */
printf("Enter your second file name:");
scanf("%s", fname2);
/* open first input file in read mode */
fp1 = fopen(fname1, "r");
/* error handling */
if (!fp1) {
printf("Unable to open first input file!!\n");
return 0;
}
/* error handling */
fp2 = fopen(fname2, "r");
/* unable to open second input file */
if (!fp2) {
printf("Unable to open second input file!!\n");
fclose(fp1);
return 0;
}
#include <string.h>
#define MAX 256
int main() {
FILE *fp1, *fp2, *fp3;
char line1[MAX], line2[MAX];
char fname1[MAX], fname2[MAX], temp[] = "temp.txt";
/* get the first file name from the user */
printf("Enter your first file name:");
scanf("%s", fname1);
/* get the second file name from the user */
printf("Enter your second file name:");
scanf("%s", fname2);
/* open first input file in read mode */
fp1 = fopen(fname1, "r");
/* error handling */
if (!fp1) {
printf("Unable to open first input file!!\n");
return 0;
}
/* error handling */
fp2 = fopen(fname2, "r");
/* unable to open second input file */
if (!fp2) {
printf("Unable to open second input file!!\n");
fclose(fp1);
return 0;
}
/* open temporary file in write mode */
fp3 = fopen(temp, "w");
/* error handling */
if (!fp3) {
printf("Unable to open temporary file to write!!\n");
fclose(fp1);
fclose(fp2);
return 0;
}
/* copying contents of given two input files */
while ((!feof(fp1)) && (!feof(fp2))) {
/* copy a line from first input file */
fgets(line1, MAX, fp1);
if (!feof(fp1)) {
fprintf(fp3, "%s", line1);
}
/* copy a line from second input file */
fgets(line2, MAX, fp2);
if (!feof(fp2)) {
fprintf(fp3, "%s", line2);
}
strcpy(line1, "\0");
strcpy(line2, "\0");
}
/* close the opened input files */
fclose(fp1);
fclose(fp2);
fclose(fp3);
/* remove the given input files */
remove(fname1);
remove(fname2);
/* rename the temporary file */
rename(temp, fname1);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ cat first.txt
That man has reached
immortality who is
disturbed by nothing material.
jp@jp-VirtualBox:~/$ cat second.txt
The will is not free - it
is a phenomenon bound by
cause and effect - but there is
something behind the will which is free.
jp@jp-VirtualBox:~/$ ./a.out
Enter your first file name: first.txt
Enter your second file name: second.txt
jp@jp-VirtualBox:~/$ cat first.txt
That man has reached
The will is not free - it
immortality who is
is a phenomenon bound by
disturbed by nothing material.
cause and effect - but there is
something behind the will which is free.
That man has reached
immortality who is
disturbed by nothing material.
jp@jp-VirtualBox:~/$ cat second.txt
The will is not free - it
is a phenomenon bound by
cause and effect - but there is
something behind the will which is free.
jp@jp-VirtualBox:~/$ ./a.out
Enter your first file name: first.txt
Enter your second file name: second.txt
jp@jp-VirtualBox:~/$ cat first.txt
That man has reached
The will is not free - it
immortality who is
is a phenomenon bound by
disturbed by nothing material.
cause and effect - but there is
something behind the will which is free.
SEE ALSO
- c program to write a string into a file
- c program to read numbers from a file and write even, odd and prime numbers in separate files
- c program to create a file and store "hello world" in it
- c program to read the contents of the given file
- c program to delete all blank lines in a file
- c program to check whether a directory exists or not
- c program to check whether a file exists or not
- c program to copy a file from one location to another
- c program to create, read, edit and close a file
- c program to create a file with input content
- c program to read a file line by line
- c program to compare two files character by character
- c program to concatenate two files
- c program to convert lowercase characters in a file to uppercase
- c program to convert uppercase characters in a file to lowercase
- c program to list all files in a directory
- c program to list all files in a directory recursively
- c program to append data into a file
- c program to count number of lines in a file
- c program to delete a file or directory
- c program to print the source code of itself as output
- c program to convert the contents in a file from lowercase to uppercase and vice versa
- c program to merge two files
- c program to move a file to different location
- c program to replace articles with space in a text file
- c program to print the words in a file starting with the given character
- c program to delete given word in a file
- c program to replace a word in a file
- c program to merge alternate lines from two files
- c program to remove numbers in a file
- c program to check end of file
- c program to compare two files line by line
- c program to delete specific line from a file
- c program to replace specific line in a file
- c program to take input from a file
- c program to delete a record from a file
- c program to find the number of character, words and lines in a file
- c program to sort characters in each words of a file
- c program to convert text file to binary
- c program to split a file to multiple files
- c program to find the file type, permission, size and last modification date of the given file
- c program to encrypt and decrypt contents of a file
- c program to eliminate comments from a file
Yes this site is very good for programmer.
ReplyDeletesome program are written about file operation using c/c++ language you may follow the link.
http://www.secufoon.com/category/educational-activity/programming/