This C program to capitalize first letter of every word in a file , first open the file in read mode and call a user defined function which use some build in file handling function such as fseek(),fgetc() and fputc() and capitalize first letter of every word in a file.Here is source code of the C Program to capitalize first letter of every word in a file. The C program is successfully compiled and run on a Linux system as well as windows system.
C Program to Capitalize First Letter of every Word in a File
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
int capitalizeFile(FILE *);
void main(int argc, char * argv[])
{
FILE *fp1;
char fp[10];
int p;
fp1 = fopen(argv[1], "r+");
if (fp1 == NULL)
{
printf("cannot open the file ");
exit(0);
}
p = capitalizeFile(fp1);
#include <fcntl.h>
#include <stdlib.h>
int capitalizeFile(FILE *);
void main(int argc, char * argv[])
{
FILE *fp1;
char fp[10];
int p;
fp1 = fopen(argv[1], "r+");
if (fp1 == NULL)
{
printf("cannot open the file ");
exit(0);
}
p = capitalizeFile(fp1);
if (p == 1)
{
printf("success");
}
else
{
printf("failure");
}
fclose(fp1);
}
/* capitalizes first letter of every word */
int capitalizeFile(FILE *fp)
{
printf("success");
}
else
{
printf("failure");
}
fclose(fp1);
}
/* capitalizes first letter of every word */
int capitalizeFile(FILE *fp)
{
char c;
c = fgetc(fp);
if (c >= 'a' && c <= 'z')
{
fseek(fp, -1L, 1);
fputc(c - 32, fp);
}
while(c != EOF)
{
if (c == ' ' || c == '\n')
{
c = fgetc(fp);
if (c >= 'a' && c <= 'z')
{
fseek(fp, -1L, 1);
fputc(c - 32, fp);
}
}
else
{
c = fgetc(fp);
}
}
return 1;
char c;
c = fgetc(fp);
if (c >= 'a' && c <= 'z')
{
fseek(fp, -1L, 1);
fputc(c - 32, fp);
}
while(c != EOF)
{
if (c == ' ' || c == '\n')
{
c = fgetc(fp);
if (c >= 'a' && c <= 'z')
{
fseek(fp, -1L, 1);
fputc(c - 32, fp);
}
}
else
{
c = fgetc(fp);
}
}
return 1;
}