Write a C program named toupper.c that reads the contents of a file, and writes to another file after changing all lowercase letters in the input file to uppercase.
Question:
Write a C program named toupper.c that reads the contents of a file, and writes to another file after changing all lowercase letters in the input file to uppercase.
- The name of the input file and the output file are to be passed as command line arguments.
- Assume there are only ASCII characters in the input file.
- The length of the input file is not known beforehand. So make sure your program keeps reading bytes until EOF is reached.
- Use the library function toupper to concert letters into uppercase.
Example:
The program is run from the command line as follows;
C:\>toupper.exe infile.txt outfile.txt
Suppose the contents of the input file infile.txt is:
AbcdefG
The contents of the output file outfile.txt should be:
ABCDEFG
Answer:
Step 1
Program plan:
- Create two next files infile.txt and outfile.txt
- enter the content in infile.txt
- Write a code in C using C compiler a save as toupper.exe
- In the code include all the necessary header files .
- In the main method create two file pointers
- if two files fp1 and fp2 are Null then it will show file cannot open.
- otherwise the control moves to the do loop were to upper() function is used to convert the contents of infile.txt to uppercase and print the content of outfile.txt
- Run the code in command prompt type C:\>toupper.exe infile.txt outfile.txt
- the output is obtained as shown in step 3
Step 2
Program:
#include<stdio.h>
#include<stdlib.h>
#include<process.h>
void main() {
FILE *fp1, *fp2;
char a;
clrscr();
fp1 = fopen("infile.txt", "r");
if (fp1 == NULL) {
puts("cannot open this file");
exit(1);
}
fp2 = fopen("outfile.txt", "w");
if (fp2 == NULL) {
puts("Not able to open this file");
fclose(fp1);
exit(1);
}
do {
a = fgetc(fp1);
a = toupper(a);
fputc(a, fp2);
} while (a != EOF);
fcloseall();
getch();
}
Step 3
Output:
C:\>toupper.exe infile.txt outfile.txt
infile.txt
hi
outfile.txt
HI