Skip to main content

How do I scan a line in C (with spaces separating words)?

In C programming, the standard way to scan a line of text with spaces separating words is to use the fgets() function.

The fgets() function reads a line of input from a stream (such as stdin for keyboard input) and stores it in a character array. It takes three arguments: the character array to store the input, the maximum number of characters to read, and the input stream to read from.

Here's an example of using fgets() to scan a line of input with spaces:

c
#include <stdio.h> int main() { char input[100]; printf("Enter a line of text: "); fgets(input, 100, stdin); printf("You entered: %s", input); return 0; }

In this example, we declare a character array input with a size of 100 to store the line of text. We then prompt the user to enter a line of text using printf(). The fgets() function is then used to read the line of text and store it in the input array. The third argument, stdin, specifies that the input should be read from the standard input stream (i.e. the keyboard).

The %s format specifier is used in the printf() statement to print the contents of the input array, which contains the scanned line of text.

Note that fgets() reads and stores the newline character \n at the end of the input line. If you want to remove this newline character, you can use the strtok() function to tokenize the string and replace the \n character with a null terminator.

Here's an example of using fgets() and strtok() to remove the newline character:

c
#include <stdio.h> #include <string.h> int main() { char input[100]; printf("Enter a line of text: "); fgets(input, 100, stdin); // Remove the newline character strtok(input, "\n"); printf("You entered: %s", input); return 0; }

In this example, the strtok() function is used to tokenize the input string and replace the newline character \n with a null terminator. The "\n" argument specifies the delimiter to use for tokenization.

By using fgets() and optionally strtok(), you can easily scan a line of input with spaces separating words in C programming.

 
 

 

Comments

Popular posts from this blog

Gold Price Today: Unraveling the Surge, Analysing the Trends, and What Lies Ahead for Investors in India

  In the intricate tapestry of Indian culture and economy, few threads are woven as tightly as gold. More than just a precious metal, gold is an emotion, a tradition, a safe haven, and a cornerstone of financial security for millions of households. From elaborate weddings to auspicious festivals like Akshaya Tritiya and Diwali, gold is ubiquitous. Yet, beyond its cultural brilliance lies a complex financial asset that moves in response to a global ballet of economic indicators. As we stand today, the price of gold continues to capture headlines, hovering at levels that have both excited long-term investors and alarmed prospective buyers. In this comprehensive analysis, we decode " Gold Price Today ," exploring the factors driving the current rally, the historic context of its trajectory, and the essential considerations for those looking to invest in this timeless asset. Today’s Gold Price: A Quick Snapshot (Note: Prices of precious metals are highly volatile and change multi...

A Galaxy of Misfits: Why We Fell in Love with the Guardians of the Galaxy

  If you rewind the clock to early 2014 and asked the average moviegoer who the " Guardians of the Galaxy " were, you would have likely been met with a blank stare. At the time, they were a C-list comic book team operating on the fringes of the Marvel universe . The pitch sounded more like a fever dream than a guaranteed blockbuster: a 1980s pop-culture-obsessed thief, a green-skinned assassin, a fiercely literal warrior, a genetically modified talking raccoon, and a walking, fighting tree. It was widely considered Marvel Studios' biggest gamble. Yet, when the lights went down and Blue Swede’s “Hooked on a Feeling” blasted through theater speakers, that gamble paid off in astronomical ways. The Guardians didn't just succeed; they redefined the modern superhero genre , proving that audiences were hungry for something weirder, wilder, and fundamentally more human. Here is a deep dive into how a ragtag group of cosmic outlaws stole the galaxy's heart—and ours. The Ro...

How do I write a C program to find the factorial of a number?

  Finding the factorial of a number is a common problem in computer programming. A factorial of a number is the product of all positive integers up to and including that number. For example, the factorial of 5 is 5 * 4 * 3 * 2 * 1 = 120. In C programming, we can write a program to find the factorial of a number using a loop. Here's an example program: c Copy code # include <stdio.h> int main () { int num; unsigned long long fact = 1 ; printf ( "Enter a positive integer: " ); scanf ( "%d" , &num); for ( int i= 1 ; i<=num; ++i) { fact *= i; } printf ( "Factorial of %d = %llu\n" , num, fact); return 0 ; } In this program, we first declare the variables num and fact . We then prompt the user to enter a positive integer using the printf() and scanf() functions. Note that we use the unsigned long long data type for the variable fact because the factorial of a large number can become very ...