Monday, April 28, 2025

C Tutorial - 24 - gets() and puts() Functions

#include <stdio.h>
#include <string.h>

//gets() - get string
//puts() - print string + \n

int main()
{

    char longString[100];

    printf("Enter String: \n");
    gets(longString);

    printf("You Entered: \n");
    puts(longString);

    return 0;
}

Result:

Enter String:
Some String
You Entered:
Some String

Process returned 0 (0x0)   execution time : 6.392 s
Press any key to continue.

Note that the function gets() is deprecated in modern C standards (C11 and later) due to security vulnerabilities. It is recommended to use fgets() instead.

That being said, let's discuss the gets() and puts() functions:

  • gets() reads a line of characters from stdin (standard input) and stores it as a C-style string in the buffer pointed to by its argument. It continues reading until it encounters a newline character ('\n') or the end-of-file character (EOF). The newline character, if present, is replaced with a null terminator ('\0') in the buffer. The function returns the same buffer if successful, or a null pointer if an error occurred.

  • puts() writes the string pointed to by its argument to stdout (standard output), followed by a newline character ('\n'). It returns a non-negative integer if successful, or EOF if an error occurred.

In the example code you provided, the user is prompted to enter a string using gets(). The input string is then printed to the console using puts(). Note that puts() automatically adds a newline character at the end of the string, which creates a line break before the next console output.

No comments:

Post a Comment

Tkinter Introduction - Top Widget, Method, Button

First, let's make shure that our tkinter module is working ok with simple  for loop that will spawn 5 instances of blank Tk window .  ...