Open In App

Convert character array to string in C++

This article shows how to convert a character array to a string in C++. 
The std::string in c++ has a lot of inbuilt functions which makes implementation much easier than handling a character array. Hence, it would often be easier to work if we convert a character array to string.
Examples: 
 

Input: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
                     'r', 'g', 'e', 'e', 'k', 's', '\0' } ;
Output: string s = "geeksforgeeks" ;

Input: char s[] = { 'c', 'o', 'd', 'i', 'n', 'g', '\0' } ;
Output: string s = "coding" ;

 



Below is the implementation of the above approach.




// Demonstrates conversion
// from character array to string
 
#include <bits/stdc++.h>
using namespace std;
 
// converts character array
// to string and returns it
string convertToString(char* a, int size)
{
    int i;
    string s = "";
    for (i = 0; i < size; i++) {
        s = s + a[i];
    }
    return s;
}
 
// Driver code
int main()
{
    char a[] = { 'C', 'O', 'D', 'E' };
    char b[] = "geeksforgeeks";
 
    int a_size = sizeof(a) / sizeof(char);
    int b_size = sizeof(b) / sizeof(char);
 
    string s_a = convertToString(a, a_size);
    string s_b = convertToString(b, b_size);
 
    cout << s_a << endl;
    cout << s_b << endl;
 
    return 0;
}

Below is the implementation of the above approach.






// Demonstrates conversion
// from character array to string
 
#include <bits/stdc++.h>
using namespace std;
 
// uses the constructor in string class
// to convert character array to string
string convertToString(char* a)
{
    string s(a);
 
    // we cannot use this technique again
    // to store something in s
    // because we use constructors
    // which are only called
    // when the string is declared.
 
    // Remove commented portion
    // to see for yourself
 
    /*
    char demo[] = "gfg";
    s(demo); // compilation error
    */
 
    return s;
}
 
// Driver code
int main()
{
    char a[] = { 'C', 'O', 'D', 'E', '\0' };
    char b[] = "geeksforgeeks";
 
    string s_a = convertToString(a);
    string s_b = convertToString(b);
 
    cout << s_a << endl;
    cout << s_b << endl;
 
    return 0;
}

Below is the implementation of the above approach.




// Demonstrates conversion
// from character array to string
 
#include <bits/stdc++.h>
using namespace std;
 
// uses overloaded '=' operator from string class
// to convert character array to string
string convertToString(char* a)
{
    string s = a;
    return s;
}
 
// Driver code
int main()
{
    char a[] = { 'C', 'O', 'D', 'E', '\0' };
    char b[] = "geeksforgeeks";
 
    string s_a = convertToString(a);
    string s_b = convertToString(b);
 
    cout << s_a << endl;
    cout << s_b << endl;
 
    return 0;
}


Article Tags :