Jeżeli probowałeś przesłać do jakieś funkcji, która wymagała jako argumentu char* obiekt typu string, to zapewne spotkałeś się z błędem typów:
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 |
#include using namespace std ; void fun(const char* c) { // jakieś operacje } int main() { string s("jakis tekst") ; fun(s) ; // błąd kompilacji return 0 ; } |
W takim wypadku musisz się posłużyć specjalną funkcją składową klasy string c_str(), która zwraca wskaźnik do stałego łańcucha tekstowego umieszczonego w obiekcie typu string:
1 |
fun(s.c_str()) ; // dobrze |
Autor: Iskar