Formatted I/O Functions
Formatted I/O functions are used to take various inputs from the user and display
multiple outputs to the user. These types of I/O functions can help to display the
output to the user in different formats using the format specifiers. These I/O
supports all data types like int, float, char, and many more.
List of some format specifiers-
S NO. Format Specifier Type Description
1 %d int/signed int used for I/O signed integer value
2 %c char Used for I/O character value
3 %f float Used for I/O decimal floating-point
value
4 %s string Used for I/O string/group of
characters
5 %ld long int Used for I/O long signed integer
value
6 %u unsigned int Used for I/O unsigned integer value
7 %i unsigned int used for the I/O integer value
8 %lf double Used for I/O fractional or floating
data
9 %n prints prints nothing
The following formatted I/O functions will be discussed in this section-
1. printf()
2. scanf()
3. sprintf()
4. sscanf()
printf():
printf() function is used in a C program to display any value like float, integer,
character, string, etc on the console screen. It is a pre-defined function that is already
declared in the stdio.h(header file).
Syntax 1:
To display any variable value.
printf(“Format Specifier”, var1, var2, …., varn);
// C program to implement
// printf() function
#include <stdio.h>
// Driver code
int main()
{
// Declaring an int type variable
int a;
// Assigning a value in a variable
a = 20;
// Printing the value of a variable
printf("%d", a);
return 0;
}
Syntax 2:
To display any string or a message
printf(“Enter the text which you want to display”);
// C program to implement
// printf() function
#include <stdio.h>
// Driver code
int main()
{
// Displays the string written
// inside the double quotes
printf("This is a string");
return 0;
}
scanf():
scanf() function is used in the C program for reading or taking any value from the
keyboard by the user, these values can be of any data type like integer, float,
character, string, and many more. This function is declared in stdio.h(header file),
that’s why it is also a pre-defined function. In scanf() function we use &(address-of
operator) which is used to store the variable value on the memory location of that
variable.
Syntax:
scanf(“Format Specifier”, &var1, &var2, …., &varn);
Example:
// C program to implement
// scanf() function
#include <stdio.h>
// Driver code
int main()
{
int num1;
// Printing a message on
// the output screen
printf("Enter a integer number: ");
// Taking an integer value
// from keyboard
scanf("%d", &num1);
// Displaying the entered value
printf("You have entered %d", num1);
return 0;
}
sprintf():
sprintf stands for “string print”. This function is similar to printf() function but this
function prints the string into a character array instead of printing it on the console
screen.
Syntax:
sprintf(array_name, “format specifier”, variable_name);
Example:
// C program to implement
// the sprintf() function
#include <stdio.h>
// Driver code
int main()
{
char str[50];
int a = 2, b = 8;
// The string "2 and 8 are even number"
// is now stored into str
sprintf(str, "%d and %d are even number",
a, b);
// Displays the string
printf("%s", str);
return 0;
}
sscanf():
sscanf stands for “string scanf”. This function is similar to scanf() function but this
function reads data from the string or character array instead of the console screen.
Syntax:
sscanf(array_name, “format specifier”, &variable_name);
Example:
// C program to implement
// sscanf() function
#include <stdio.h>
// Driver code
int main()
{
char str[50];
int a = 2, b = 8, c, d;
// The string "a = 2 and b = 8"
// is now stored into str
// character array
sprintf(str, "a = %d and b = %d",
a, b);
// The value of a and b is now in
// c and d
sscanf(str, "a = %d and b = %d",
&c, &d);
// Displays the value of c and d
printf("c = %d and d = %d", c, d);
return 0;
}
Unformatted Input/Output functions
Unformatted I/O functions are used only for character data type or character array/
string and cannot be used for any other datatype. These functions are used to read
single input from the user at the console and it allows to display the value at the
console.
Why they are called unformatted I/O?
These functions are called unformatted I/O functions because we cannot use format
specifiers in these functions and hence, cannot format these functions according to
our needs.
The following unformatted I/O functions will be discussed in this section-
1. getch()
2. getche()
3. getchar()
4. putchar()
5. gets()
6. puts()
7. putch()
getch():
getch() function reads a single character from the keyboard by the user but doesn’t
display that character on the console screen and immediately returned without
pressing enter key. This function is declared in conio.h(header file). getch() is also
used for hold the screen.
Syntax:
getch();
// C program to implement
// getch() function
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
printf("Enter any character: ");
// Reads a character but
// not displays
getch();
return 0;
}
getche():
getche() function reads a single character from the keyboard by the user and
displays it on the console screen and immediately returns without pressing the enter
key. This function is declared in conio.h(header file).
Syntax:
getche();
Example:
// C program to implement
// the getche() function
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
printf("Enter any character: ");
// Reads a character and
// displays immediately
getche();
return 0;
}
getchar():
The getchar() function is used to read only a first single character from the keyboard
whether multiple characters is typed by the user and this function reads one
character at one time until and unless the enter key is pressed. This function is
declared in stdio.h(header file)
Syntax:
Variable-name = getchar();
Example:
// C program to implement
// the getchar() function
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
// Declaring a char type variable
char ch;
printf("Enter the character: ");
// Taking a character from keyboard
ch = getchar();
// Displays the value of ch
printf("%c", ch);
return 0;
}
putchar():
The putchar() function is used to display a single character at a time by passing that
character directly to it or by passing a variable that has already stored a character.
This function is declared in stdio.h(header file)
Syntax:
putchar(variable_name);
Example:
// C program to implement
// the putchar() function
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
char ch;
printf("Enter any character: ");
// Reads a character
ch = getchar();
// Displays that character
putchar(ch);
return 0;
}
gets():
gets() function reads a group of characters or strings from the keyboard by the user
and these characters get stored in a character array. This function allows us to write
space-separated texts or strings. This function is declared in stdio.h(header file).
Syntax:
char str[length of string in number]; //Declare a char type variable of any length
gets(str);
Example:
// C program to implement
// the gets() function
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
// Declaring a char type array
// of length 50 characters
char name[50];
printf("Please enter some texts: ");
// Reading a line of character or
// a string
gets(name);
// Displaying this line of character
// or a string
printf("You have entered: %s",
name);
return 0;
}
puts():
In C programming puts() function is used to display a group of characters or strings
which is already stored in a character array. This function is declared in
stdio.h(header file).
Syntax:
puts(identifier_name );
Example:
// C program to implement
// the puts() function
#include <stdio.h>
// Driver code
int main()
{
char name[50];
printf("Enter your text: ");
// Reads string from user
gets(name);
printf("Your text is: ");
// Displays string
puts(name);
return 0;
}
putch():
putch() function is used to display a single character which is given by the user and
that character prints at the current cursor location. This function is declared in
conio.h(header file)
Syntax:
putch(variable_name);
Example:
// C program to implement
// the putch() functions
#include <conio.h>
#include <stdio.h>
// Driver code
int main()
{
char ch;
printf("Enter any character:\n ");
// Reads a character from the keyboard
ch = getch();
printf("\nEntered character is: ");
// Displays that character on the console
putch(ch);
return 0;
}
Formatted I/O vs Unformatted I/O
S No. Formatted I/O functions Unformatted I/O functions
1 These functions allow us to take These functions do not allow to take
input or display output in the user’s input or display output in user desired
desired format. format.
2 These functions support format These functions do not support
specifiers. format specifiers.
3 These are used for storing data more These functions are not more user-
user friendly friendly.
4 Here, we can use all data types. Here, we can use only character and
string data types.
5 printf(), scanf, sprintf() and sscanf() getch(), getche(), gets() and puts(), are
are examples of these functions. some examples of these functions.