| www.delorie.com/archives/browse.cgi | search |
| Date: | Sat, 25 Dec 1999 16:31:26 +0100 (MET) |
| From: | Tobias =?ISO-8859-1?Q?Ro=DFmann?= <t DOT rossmann AT gmx DOT at> |
| To: | djgpp AT delorie DOT com |
| MIME-Version: | 1.0 |
| Subject: | Re: Converting a string to a char * |
| X-Authenticated-Sender: | #0002566928 AT gmx DOT net |
| X-Authenticated-IP: | [212.185.249.183] |
| Message-ID: | <7032.946135886@www7.gmx.net> |
| X-Mailer: | WWW-Mail 1.5 (Global Message Exchange) |
| X-Flags: | 0001 |
| Reply-To: | djgpp AT delorie DOT com |
string::c_str returns a const char*. Thus, your first mistake was to
declare
b as char* without casting the returned value. Then you wrote
*b = *s.c_str(). This meant: assign the first character of string s to the
value pointed to by b. This is probably neither what you wanted to do, nor
is
it a good idea to use uninitialized pointers. The correct way would be to
assign the value returned from c_str to the pointer (not the pointed to
data).
int
main()
{
string s = "test";
const char *b;
b = s.c_str();
cout << b;
return (0);
}
--
Sent through Global Message Exchange - http://www.gmx.net
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |