Mastering the puts() function in C/C++: a Comprehensive Guide
Introduction
Today in this tutorial we are going to discuss about the vastly used puts() function in for both C and C++ programming languages.
Even though the printf() and cout functions in both C and C++ are prominent for printing variables, numbers, lines, etc. they ultimately lack behind while printing strings especially printf(). The puts() function comes handy in that case.
The puts() function in C/C++
The puts() function in C/C++ is used to write a line or string to the output(stdout) stream. It prints the passed string with a newline and returns an integer value. The return value depends on the success of the writing procedure.
The puts() function declaration is given below.
int puts(const char* str);
Here, str is the constant string that is to be printed.
Let us look at a small example.
#include<stdio.h>
int main()
{
//string initialisation
char Mystr[] = "C and C++";
puts(Mystr); //writing the string to stdout
return 0;
}
Output:
C and C++
As you can see, our string Mystr has been successfully printed to the stdout. The below-given code snippet also yields the same output in C++.
#include<iostream>
using namespace std;
int main()
{
//string initialisation
char Mystr[] = "C and C++";
puts(Mystr); //writing the string to stdout
return 0;
}
Using the puts() function in C/C++
We have mentioned earlier, that the puts() function appends a newline character at the end while writing a string/line.
#include<stdio.h>
int main()
{
//string initialisation
char Mystr1[10] = "Python";
char Mystr2[10] = "Kotlin";
puts(Mystr1);
puts(Mystr2); //not specifically adding a newline
return 0;
}
Output:
Python
Kotlin
Here, we have initialized two strings Mystr1 and Mystr2. While printing these strings using the puts() method in either C or C++, we do not need to particularly add a “\n”(newline) as the function already appends one.
puts() return value
The puts() function returns an non-negative integer number for successful execution. Otherwise returns EOF for any error.
The below-given example illustrates the return value for the puts() function.
#include<stdio.h>
int main()
{
//string initialisation
char Mystr[] = "The puts() function";
int val = puts(Mystr);
printf("Returned Value Val = %d", val);
return 0;
}
Output:
The puts() function
Returned Value Val = 0
puts() VS fputs() functions in C/C++
As we have learned earlier, the puts() function writes a line or string to the stdout stream. Whereas, the fputs() function is used to write to any stream or a file. Hence, the biggest difference between the two functions is the fact that with fputs(), the user can specify the stream to which he/she wants to write.
Moreover, the fputs() function doesn’t append a newline character(“\n”)at the end of the passed string/line.
Conclusion
So that’s it for today. Hope you had a satisfying learning experience – Mastering the puts() function in C/C++: a Comprehensive Guide