Open In App

basic_string c_str function in C++ STL

Improve
Improve
Like Article
Like
Save
Share
Report

The basic_string::c_str() is a built-in function in C++ which returns a pointer to an array that contains a null-terminated sequence of characters representing the current value of the basic_string object. This array includes the same sequence of characters that make up the value of the basic_string object plus an additional terminating null-character at the end. 

Syntax:

const CharT* c_str() const

Parameter: The function does not accept any parameter. 

Return Value : The function returns a constant Null terminated pointer to the character array storage of the string. 

Below is the implementation of the above function: 

Program 1: 

CPP




// C++ code for illustration of
// basic_string::c_str function
#include <bits/stdc++.h>
#include <string>
using namespace std;
 
int main()
{
    // declare a example string
    string s1 = "GeeksForGeeks";
 
    // check if the size of the string is same as the
    // size of character pointer given by c_str
    if (s1.size() == strlen(s1.c_str())) {
        cout << "s1.size is equal to strlen(s1.c_str()) " << endl;
    }
    else {
        cout << "s1.size is not equal to strlen(s1.c_str())" << endl;
    }
 
    // print the string
    printf("%s \n", s1.c_str());
}


Output

s1.size is equal to strlen(s1.c_str()) 
GeeksForGeeks 

Program 2: 

CPP




// C++ code for illustration of
// basic_string::c_str function
#include <bits/stdc++.h>
#include <string>
using namespace std;
 
int main()
{
    // declare a example string
    string s1 = "Aditya";
 
    // print the characters of the string
    for (int i = 0; i < s1.length(); i++) {
        cout << "The " << i + 1 << "th character of string " << s1
            << " is " << s1.c_str()[i] << endl;
    }
}


Output

The 1th character of string Aditya is A
The 2th character of string Aditya is d
The 3th character of string Aditya is i
The 4th character of string Aditya is t
The 5th character of string Aditya is y
The 6th character of string Aditya is a

Program 3:

C++




// CPP program to copy the string
// using std::string::c_str() method
#include <bits/stdc++.h>
 
// Function to copy the string
const char* copyString(std::string s)
{
    const char* s2;
 
    // std::string::c_str() method
    s2 = s.c_str();
 
    return s2;
}
 
// Driver Code
int main()
{
    std::string s1 = "GeeksforGeeks";
    std::string s2;
 
    // Function Call
    s2 = copyString(s1);
    std::cout << s2;
    return 0;
}
 
// This code is contributed by Susobhan Akhuli


Output

GeeksforGeeks


Last Updated : 07 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads