Programación General > C/C++

 Retornar cadena de texto en función

(1/3) > >>

JrcsDev:
Buenas tardes amigos, estoy algo fuera de práctica en C++ (tampoco es que lo profundicé mucho en mi vida), pero estoy intentando retornar una cadena de texto (char * ) desde una función y me da error, algo así como fallo de segmentación... el código que estuve probando es este:


--- Código: C++ ---char* readStr(const char* txt){   char *s;    cout << txt << ": ";    cin >> s;    return s;} 

--- Código: C++ ---texto=readStr("Ingrese su nombre"); 
Alguna idea? se agradece cualquier ayuda... Saludos...

punteroNULO:
El problema es que la variable s es un puntero que no tiene reservada una posición de memoria, sino que apunta a cualquier lugar (probablemente 0) provocando ese fallo de segmentación cuando intentas escribir en ella.
Inicializa con el operador new la variable.

LeGatoRojo:
Declara s como arreglo o asignale memoria, con eso se resuelve el problema

JrcsDev:
ok, gracias por sus respuestas... googlearé sus recomendaciones a ver...

m0skit0:
Si estás usando C++, usa la clase string, es mucho más cómoda que char*.


--- Código: C ---string readStr(const string txt){       string s;    cout << txt << ": ";    cin >> s;    return s;} 

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa