Table of Contents
Introduction
Hello reader! 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 thats’s it for today. Hope you had a satisfying learning experience.
For any further questions related to the puts() function in C/C++, feel free to use the comments below.
References
- C++ puts() – C++ References,
- C++ Tutorial,
- fgets() and gets() in C Programming,
- What is the difference between printf() and puts() in C? – Stack Overflow Question.