[C con Clase] Conctatenar carácteres
Steven Davidson
srd4121 en njit.edu
Sab Ene 24 15:25:30 CET 2009
Hola Rubén,
Rubén wrote:
>
> Gracias, Programante, algo avanzamos. Pero ahora, al hacer
> system (conexion);
> me da éste error al compilar:
>
> main.cpp:26: error: no se puede convertir ‘std::string’ a ‘const
> char*’ para el argumento ‘1’ para ‘int system(const char*)’
>
> Lo he hecho con la clase string y el namespace std. Si saco por
> pantalla con cout<<conexion<<endl; la cadena me la imprime bien.
>
> ¿Alguna idea?
>
El problema es que no se puede convertir implícitamente el objeto de la
clase 'string' a una cadena de caracteres al estilo C. Ten presente que
la función 'system()' es de ANSI C y por tanto espera un parámetro de
tipo 'const char *'. La clase 'string' ofrece tal conversión a través de
la función 'c_str()'. Esto sería,
system( conexion.c_str() );
Espero que esto te sirva.
Steven
Más información sobre la lista de distribución Cconclase