Tutorial

Using the puts() function in C/C++

Published on August 3, 2022
author

Sneh

Using the puts() function in C/C++

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors
Default avatar
Sneh

author

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
JournalDev
DigitalOcean Employee
DigitalOcean Employee badge
January 5, 2022

What type of arguments can be used in puts() function in C?

- Snaf

    Try DigitalOcean for free

    Click below to sign up and get $200 of credit to try our products over 60 days!

    Sign up

    Join the Tech Talk
    Success! Thank you! Please check your email for further details.

    Please complete your information!

    Become a contributor for community

    Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

    DigitalOcean Documentation

    Full documentation for every DigitalOcean product.

    Resources for startups and SMBs

    The Wave has everything you need to know about building a business, from raising funding to marketing your product.

    Get our newsletter

    Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

    New accounts only. By submitting your email you agree to our Privacy Policy

    The developer cloud

    Scale up as you grow — whether you're running one virtual machine or ten thousand.

    Get started for free

    Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

    *This promotional offer applies to new accounts only.