69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
|
/*
|
||
|
* C Program to Convert the Content of File to UpperCase
|
||
|
*/
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int to_upper_file(FILE *);
|
||
|
|
||
|
int main(int argc,char *argv[])
|
||
|
{
|
||
|
FILE *fp;
|
||
|
int status;
|
||
|
if (argc == 1)
|
||
|
{
|
||
|
printf("Insufficient Arguments:");
|
||
|
printf("No File name is provided at command line");
|
||
|
return;
|
||
|
}
|
||
|
if (argc > 1)
|
||
|
{
|
||
|
fp = fopen(argv[1],"r+");
|
||
|
status = to_upper_file(fp);
|
||
|
/*
|
||
|
*If the status returned is 0 then the coversion of file content was completed successfully
|
||
|
*/
|
||
|
if (status == 0)
|
||
|
{
|
||
|
printf("\n The content of \"%s\" file was successfully converted to upper case\n",argv[1]);
|
||
|
return;
|
||
|
}
|
||
|
/*
|
||
|
* If the status returnes is -1 then the conversion of file content was not done
|
||
|
*/
|
||
|
if (status == -1)
|
||
|
{
|
||
|
printf("\n Failed to convert");
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* convert the file content to uppercase
|
||
|
*/
|
||
|
int to_upper_file(FILE *fp)
|
||
|
{
|
||
|
char ch;
|
||
|
if (fp == NULL)
|
||
|
{
|
||
|
perror("Unable to open file");
|
||
|
return -1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
/*
|
||
|
* Read the file content and convert to uppercase
|
||
|
*/
|
||
|
while (ch != EOF)
|
||
|
{
|
||
|
ch = fgetc(fp);
|
||
|
if ((ch >= 'a') && (ch <= 'z'))
|
||
|
{
|
||
|
ch = ch - 32;
|
||
|
fseek(fp,-1,SEEK_CUR);
|
||
|
fputc(ch,fp);
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
}
|