Convert string to char array in C++
Many of us have encountered error ‘cannot covert std::string to char[] or char* data type’.
Examples:
Input : string s = "geeksforgeeks" ;
Output : char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' } ;
Input : string s = "coding" ;
Output : char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' } ;
A way to do this is to copy the contents of the string to char array. This can be done with the help of c_str() and strcpy() function.
The c_str() function is used to return a pointer to an array that contains a null terminated sequence of character representing the current value of the string.
Syntax:
const char* c_str() const ;
If there is an exception thrown then there are no changes in the string. But when we need to find or access the individual elements then we copy it to a char array using strcpy() function. After copying it, we can use it just like a simple array.
The length of the char array taken should not be less than the length of input string.
// CPP program to convert string // to char array #include <bits/stdc++.h> using namespace std; // driver code int main() { // assigning value to string s string s = "geeksforgeeks"; int n = s.length(); // declaring character array char char_array[n + 1]; // copying the contents of the // string to char array strcpy(char_array, s.c_str()); for (int i = 0; i < n; i++) cout << char_array[i]; return 0; } |
Output:
geeksforgeeks
Another approach:
// CPP program to convert string // to char array #include <iostream> #include <string.h> using namespace std; // driver code int main() { // assigning value to string s string s("geeksforgeeks"); // declaring character array : p char p[s.length()]; int i; for (i = 0; i < sizeof(p); i++) { p[i] = s[i]; cout << p[i]; } return 0; } |
Output:
geeksforgeeks
Recommended Posts:
- Convert character array to string in C++
- Convert a String to Integer Array in C/C++
- char* vs std:string vs char[] in C++
- Move all special char to the end of the String
- Minimum number of given operations required to convert a string to another string
- Convert the string into palindrome string by changing only one character.
- Convert Hexadecimal value String to ASCII value String
- What's difference between char s[] and char *s in C?
- Minimum cuts required to convert a palindromic string to a different palindromic string
- Convert String into Binary Sequence
- How to convert a single character to string in C++?
- Convert a String to an Integer using Recursion
- Check if it is possible to convert one string into another with given constraints
- Convert given string so that it holds only distinct characters
- Convert characters of a string to opposite case
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



