w3resource

C Programming: Remove the spaces between two words of its content

C String: Exercise-29 with Solution

Write a program in C to read a file and remove the spaces between two words of its content.

C Programming: Remove the spaces between two words of its content

Sample Solution:

C Code:

#include<stdio.h>
#include<ctype.h>

int main()
{
	FILE * pfile;
	int a;
	printf("\n Remove the spaces between two words  :\n");  
    printf("-----------------------------------------\n"); 	
// file.txt contain : the quick brown fox jumps over the lazy dog
	pfile=fopen ("file.txt","r");
	printf(" The content of the file is :\n The quick brown fox jumps over the lazy dog\n\n");	
	printf(" After removing the spaces the content is : \n");
	if (pfile)
	{
		do {
			a = fgetc (pfile);
			if ( isgraph(a) ) putchar (a);
		} while (a != EOF);
		fclose (pfile);
	}
	printf("\n\n");
	return 0;
}

Sample Output:

 Remove the spaces between two words  :                                 
-----------------------------------------                               
 The content of the file is :                                           
 The quick brown fox jumps over the lazy dog                            
                                                                        
 After removing the spaces the content is :                             
Thequickbrownfoxjumpsoverthelazydog

Flowchart :

Flowchart: Remove the spaces between two words of its content

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a program in C to check whether a letter is lowercase or not.
Next: Write a program in C to check whether a character is digit or not.

What is the difficulty level of this exercise?



C Programming: Tips of the Day

Is there a way to specify how many characters of a string to print out using printf()?

The basic way is:

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars"); 

The other, often more useful, way is:

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars"); 

Here, you specify the length as an int argument to printf(), which treats the '*' in the format as a request to get the length from an argument.

You can also use the notation:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars"); 

This is also analogous to the "%8.8s" notation, but again allows you to specify the minimum and maximum lengths at runtime - more realistically in a scenario like:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info); 

The POSIX specification for printf() defines these mechanisms.

Ref: https://bit.ly/395Zj2j