3

Can anybody tell me what is the use of c_str() function in C/C++?. In which case it is necessary to use it?.

Aaron Klotz
  • 11,287
  • 1
  • 28
  • 22
sachin
  • 311
  • 2
  • 13
  • 24

4 Answers4

6

When you want to use your string with C-functions

string s = "hello";
printf( "your string:%s", s.c_str() );
AndersK
  • 35,813
  • 6
  • 60
  • 86
4

It is a C++ thing, not a C one.

A common use of c_str (from std::string) is precisely to convert a C++ std::string to a const char* C string, which is required by many many low level C functions (e.g. Posix system calls like stat, etc).

Basile Starynkevitch
  • 223,805
  • 18
  • 296
  • 547
1

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.

There is a good example of its use here: http://www.cplusplus.com/reference/string/string/c_str/

gosr
  • 4,593
  • 9
  • 46
  • 82
0

I presume you're asking about string::c_str()? It's a method that returns a C string representation of the string object. You might need a C string representation to call an OS API, for example.

Carl Norum
  • 219,201
  • 40
  • 422
  • 469