public member function
<string>
const char* c_str ( ) const;
Get C string equivalent
Generates a null-terminated sequence of characters (c-string) with the same content as the string object and returns it as a pointer to an array of characters.
A terminating null character is automatically appended.
The returned array points to an internal location with the required storage space for this sequence of characters plus its terminating null-character, but the values in this array should not be modified in the program and are only guaranteed to remain unchanged until the next call to a non-constant member function of the string object.
Parameters
none
Return Value
Pointer to an internal array containing the c-string equivalent to the string content.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
// strings and c-strings
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main ()
{
char * cstr, *p;
string str ("Please split this phrase into tokens");
cstr = new char [str.size()+1];
strcpy (cstr, str.c_str());
// cstr now contains a c-string copy of str
p=strtok (cstr," ");
while (p!=NULL)
{
cout << p << endl;
p=strtok(NULL," ");
}
delete[] cstr;
return 0;
}
|
Output:
Please
split
this
phrase
into
tokens
|
Basic template member declaration
( basic_string<charT,traits,Allocator> )
|
const charT* c_str ( ) const;
|
See also
- string::copy
- Copy sequence of characters from string (public member function)
- string::data
- Get string data (public member function)
- string::assign
- Assign content to string (public member function)