Write a C program to sort characters in each words of a file.
#include <stdio.h>
#include <string.h>
#define MAX 256
#define INSIDE 1
#define OUTSIDE 0
/* sorts the characters in the given word */
void sortCharacters(char *str) {
int i, j, temp;
for (i = 0; i < strlen(str) - 1; i++) {
temp = str[i];
for (j = i + 1; j < strlen(str); j++) {
if (temp > str[j]) {
temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
return;
}
int main() {
FILE *fp;
char filename[MAX], word[MAX] = "\0";
int i = 0, ch, pos = OUTSIDE;
/* get the input file name from the user */
printf ("Enter your input file name:");
scanf("%s", filename);
/* open the input file in read mode */
fp = fopen(filename, "r");
#include <string.h>
#define MAX 256
#define INSIDE 1
#define OUTSIDE 0
/* sorts the characters in the given word */
void sortCharacters(char *str) {
int i, j, temp;
for (i = 0; i < strlen(str) - 1; i++) {
temp = str[i];
for (j = i + 1; j < strlen(str); j++) {
if (temp > str[j]) {
temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
return;
}
int main() {
FILE *fp;
char filename[MAX], word[MAX] = "\0";
int i = 0, ch, pos = OUTSIDE;
/* get the input file name from the user */
printf ("Enter your input file name:");
scanf("%s", filename);
/* open the input file in read mode */
fp = fopen(filename, "r");
/* error handling */
if (!fp) {
printf("Unable to open input file!!\n");
return 0;
}
/* sort the words in the given file */
while ((ch = fgetc(fp)) != EOF) {
if (ch == '\n' || ch == '\t' || ch == ' ') {
/* end of word */
word[i] = '\0';
/* sorts the given word */
sortCharacters(word);
/* print the word */
printf("%s%c", word, ch);
/* moving to start of word */
i = pos = OUTSIDE;
} else if (pos == OUTSIDE) {
pos = INSIDE;
/* scanning word character */
word[i++] = ch;
} else {
/* scanning characters in a word */
word[i++] = ch;
}
}
/* closing the opened files */
fclose(fp);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ cat data.txt
all is well
god is great
my name is khan
pursuit of happiness
a walk to remember
jp@jp-VirtualBox:~/$ ./a.out
Enter your input file name:data.txt
all is ellw
dgo is aegrt
my aemn is ahkn
iprstuu fo aehinppss
a aklw ot beeemmrr
all is well
god is great
my name is khan
pursuit of happiness
a walk to remember
jp@jp-VirtualBox:~/$ ./a.out
Enter your input file name:data.txt
all is ellw
dgo is aegrt
my aemn is ahkn
iprstuu fo aehinppss
a aklw ot beeemmrr
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
No comments:
Post a Comment